Skip to content

Commit

Permalink
refactor(StoresLocalSettings): Replace SharedPrefs by DataStores
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 12, 2024
1 parent dba8442 commit cca36bc
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 15 deletions.
4 changes: 2 additions & 2 deletions app/src/main/java/com/infomaniak/mail/di/ApplicationModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import android.content.Context
import androidx.core.app.NotificationManagerCompat
import androidx.work.WorkManager
import com.infomaniak.lib.stores.AppUpdateScheduler
import com.infomaniak.lib.stores.StoresLocalSettings
import com.infomaniak.lib.stores.StoresSettingsRepository
import com.infomaniak.mail.MainApplication
import com.infomaniak.mail.data.LocalSettings
import dagger.Module
Expand Down Expand Up @@ -66,7 +66,7 @@ object ApplicationModule {

@Provides
@Singleton
fun providesStoresLocalSettings(appContext: Context): StoresLocalSettings = StoresLocalSettings.getInstance(appContext)
fun providesStoresSettingsRepository(appContext: Context): StoresSettingsRepository = StoresSettingsRepository(appContext)

@Provides
@Singleton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,21 @@ package com.infomaniak.mail.ui.bottomSheetDialogs

import android.os.Bundle
import android.view.View
import androidx.fragment.app.activityViewModels
import com.infomaniak.lib.core.utils.context
import com.infomaniak.lib.core.utils.getAppName
import com.infomaniak.lib.core.utils.goToPlayStore
import com.infomaniak.lib.stores.StoresLocalSettings
import com.infomaniak.lib.stores.StoresSettingsRepository
import com.infomaniak.lib.stores.StoresViewModel
import com.infomaniak.mail.MatomoMail.DISCOVER_LATER
import com.infomaniak.mail.MatomoMail.DISCOVER_NOW
import com.infomaniak.mail.MatomoMail.trackAppUpdateEvent
import com.infomaniak.mail.R
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
import com.infomaniak.lib.core.R as RCore

@AndroidEntryPoint
class UpdateAvailableBottomSheetDialog : InformationBottomSheetDialog() {

@Inject
lateinit var storesLocalSettings: StoresLocalSettings
private val storesViewModel: StoresViewModel by activityViewModels()

override fun onViewCreated(view: View, savedInstanceState: Bundle?): Unit = with(binding) {
super.onViewCreated(view, savedInstanceState)
Expand All @@ -48,15 +46,15 @@ class UpdateAvailableBottomSheetDialog : InformationBottomSheetDialog() {
trackAppUpdateEvent(DISCOVER_NOW)
setText(RCore.string.buttonUpdate)
setOnClickListener {
storesLocalSettings.isUserWantingUpdates = true
storesViewModel.set(StoresSettingsRepository.IS_USER_WANTING_UPDATES_KEY, true)
requireContext().goToPlayStore()
dismiss()
}
}

secondaryActionButton.setOnClickListener {
trackAppUpdateEvent(DISCOVER_LATER)
storesLocalSettings.isUserWantingUpdates = false
storesViewModel.set(StoresSettingsRepository.IS_USER_WANTING_UPDATES_KEY, false)
dismiss()
}
}
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import androidx.work.WorkManager
import com.infomaniak.lib.core.models.user.User
import com.infomaniak.lib.core.networking.HttpClient
import com.infomaniak.lib.core.utils.SentryLog
import com.infomaniak.lib.stores.StoresLocalSettings
import com.infomaniak.lib.stores.StoresSettingsRepository
import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.cache.RealmDatabase
import com.infomaniak.mail.data.cache.appSettings.AppSettingsController
Expand All @@ -42,7 +42,7 @@ class LogoutUser @Inject constructor(
private val localSettings: LocalSettings,
private val mailboxController: MailboxController,
private val playServicesUtils: PlayServicesUtils,
private val storesLocalSettings: StoresLocalSettings,
private val storesSettingsRepository: StoresSettingsRepository,
@IoDispatcher private val ioDispatcher: CoroutineDispatcher,
) {

Expand Down Expand Up @@ -79,10 +79,10 @@ class LogoutUser @Inject constructor(
)
}

private fun resetSettings() {
private suspend fun resetSettings() {
AppSettingsController.removeAppSettings()
localSettings.removeSettings()
storesLocalSettings.removeSettings()
storesSettingsRepository.clear()
with(WorkManager.getInstance(appContext)) {
cancelAllWork()
pruneWork()
Expand Down

0 comments on commit cca36bc

Please sign in to comment.