Skip to content

Commit cd64d31

Browse files
Merge pull request #1703 from Infomaniak/Add-immediateUpdateSupport
Update Core for Immediate update support
2 parents 97819a4 + 34defcc commit cd64d31

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

app/src/main/java/com/infomaniak/mail/di/ActivityModule.kt

+1-13
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,21 @@ package com.infomaniak.mail.di
2020
import androidx.fragment.app.FragmentActivity
2121
import com.infomaniak.lib.stores.updatemanagers.InAppUpdateManager
2222
import com.infomaniak.mail.BuildConfig
23-
import com.infomaniak.mail.MatomoMail.DISCOVER_LATER
24-
import com.infomaniak.mail.MatomoMail.DISCOVER_NOW
25-
import com.infomaniak.mail.MatomoMail.trackInAppUpdateEvent
26-
import com.infomaniak.mail.ui.main.SnackbarManager
2723
import dagger.Module
2824
import dagger.Provides
2925
import dagger.hilt.InstallIn
3026
import dagger.hilt.android.components.ActivityComponent
3127
import dagger.hilt.android.scopes.ActivityScoped
32-
import io.sentry.Sentry
33-
import com.infomaniak.lib.core.R as RCore
3428

3529
@Module
3630
@InstallIn(ActivityComponent::class)
3731
object ActivityModule {
3832

3933
@ActivityScoped
4034
@Provides
41-
fun provideInAppUpdateManager(activity: FragmentActivity, snackbarManager: SnackbarManager) = InAppUpdateManager(
35+
fun provideInAppUpdateManager(activity: FragmentActivity) = InAppUpdateManager(
4236
activity = activity,
4337
appId = BuildConfig.APPLICATION_ID,
4438
versionCode = BuildConfig.VERSION_CODE,
45-
onUserChoice = { isWantingUpdate -> activity.trackInAppUpdateEvent(if (isWantingUpdate) DISCOVER_NOW else DISCOVER_LATER) },
46-
onInstallStart = { activity.trackInAppUpdateEvent("installUpdate") },
47-
onInstallFailure = {
48-
Sentry.captureException(it)
49-
snackbarManager.setValue(activity.getString(RCore.string.errorUpdateInstall))
50-
},
5139
)
5240
}

app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt

+20-9
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,12 @@ import com.infomaniak.lib.stores.StoreUtils
4747
import com.infomaniak.lib.stores.StoreUtils.launchInAppReview
4848
import com.infomaniak.lib.stores.updatemanagers.InAppUpdateManager
4949
import com.infomaniak.mail.BuildConfig
50+
import com.infomaniak.mail.MatomoMail
5051
import com.infomaniak.mail.MatomoMail.trackAppReviewEvent
5152
import com.infomaniak.mail.MatomoMail.trackDestination
5253
import com.infomaniak.mail.MatomoMail.trackEasterEggEvent
5354
import com.infomaniak.mail.MatomoMail.trackEvent
55+
import com.infomaniak.mail.MatomoMail.trackInAppUpdateEvent
5456
import com.infomaniak.mail.MatomoMail.trackMenuDrawerEvent
5557
import com.infomaniak.mail.R
5658
import com.infomaniak.mail.data.LocalSettings
@@ -454,15 +456,24 @@ class MainActivity : BaseActivity() {
454456
}
455457
}
456458

457-
private fun initAppUpdateManager() = with(inAppUpdateManager) {
458-
onFDroidResult = { updateIsAvailable ->
459-
if (updateIsAvailable) navController.navigate(R.id.updateAvailableBottomSheetDialog)
460-
}
461-
462-
onInAppUpdateUiChange = { isUpdateDownloaded ->
463-
SentryLog.d(StoreUtils.APP_UPDATE_TAG, "Must display update button : $isUpdateDownloaded")
464-
mainViewModel.canInstallUpdate.value = isUpdateDownloaded
465-
}
459+
private fun initAppUpdateManager() {
460+
inAppUpdateManager.init(
461+
onUserChoice = { isWantingUpdate ->
462+
trackInAppUpdateEvent(if (isWantingUpdate) MatomoMail.DISCOVER_NOW else MatomoMail.DISCOVER_LATER)
463+
},
464+
onInstallStart = { trackInAppUpdateEvent("installUpdate") },
465+
onInstallFailure = {
466+
Sentry.captureException(it)
467+
snackbarManager.setValue(getString(com.infomaniak.lib.core.R.string.errorUpdateInstall))
468+
},
469+
onInAppUpdateUiChange = { isUpdateDownloaded ->
470+
SentryLog.d(StoreUtils.APP_UPDATE_TAG, "Must display update button : $isUpdateDownloaded")
471+
mainViewModel.canInstallUpdate.value = isUpdateDownloaded
472+
},
473+
onFDroidResult = { updateIsAvailable ->
474+
if (updateIsAvailable) navController.navigate(R.id.updateAvailableBottomSheetDialog)
475+
},
476+
)
466477
}
467478

468479
private fun showSyncDiscovery() = with(localSettings) {

0 commit comments

Comments
 (0)