From 2f2643b724b3f9acabb48a3a35badb5bc9b4d3c2 Mon Sep 17 00:00:00 2001 From: Fabian DEVEL Date: Wed, 19 Feb 2025 13:39:19 +0100 Subject: [PATCH] refactor(MyKSuiteDataModels): Clean data models --- Core | 2 +- .../infomaniak/mail/data/cache/RealmDatabase.kt | 3 --- .../infomaniak/mail/data/cache/RealmMigrations.kt | 4 ---- .../com/infomaniak/mail/data/models/AppSettings.kt | 1 - .../mail/ui/main/settings/SettingsFragment.kt | 2 +- .../java/com/infomaniak/mail/utils/LogoutUser.kt | 1 + .../com/infomaniak/mail/utils/MyKSuiteDataUtils.kt | 14 +------------- .../com/infomaniak/mail/utils/MyKSuiteUiUtils.kt | 3 +-- 8 files changed, 5 insertions(+), 25 deletions(-) diff --git a/Core b/Core index be19b8e344..5a59c0dcff 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit be19b8e344f8af9b63ed1c1d8bdc43d5c484d99b +Subproject commit 5a59c0dcff7d1f58bf2c458de580cd907ea1cd51 diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt b/app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt index edc0a1f9e4..b1a89b1dc0 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt @@ -159,7 +159,6 @@ object RealmDatabase { private object RealmConfig { //region Configurations versions - const val APP_SETTINGS_SCHEMA_VERSION = 2L const val USER_INFO_SCHEMA_VERSION = 2L const val MAILBOX_INFO_SCHEMA_VERSION = 8L const val MAILBOX_CONTENT_SCHEMA_VERSION = 21L @@ -209,8 +208,6 @@ object RealmDatabase { val appSettings = RealmConfiguration .Builder(appSettingsSet) .name(appSettingsDbName) - .schemaVersion(APP_SETTINGS_SCHEMA_VERSION) - .migration(APP_SETTINGS_MIGRATION) .build() val userInfo diff --git a/app/src/main/java/com/infomaniak/mail/data/cache/RealmMigrations.kt b/app/src/main/java/com/infomaniak/mail/data/cache/RealmMigrations.kt index cda8e2d1bd..4a1a4bab3b 100644 --- a/app/src/main/java/com/infomaniak/mail/data/cache/RealmMigrations.kt +++ b/app/src/main/java/com/infomaniak/mail/data/cache/RealmMigrations.kt @@ -24,10 +24,6 @@ import io.realm.kotlin.dynamic.getValue import io.realm.kotlin.migration.AutomaticSchemaMigration import io.realm.kotlin.migration.AutomaticSchemaMigration.MigrationContext -val APP_SETTINGS_MIGRATION = AutomaticSchemaMigration { migrationContext -> - SentryDebug.addMigrationBreadcrumb(migrationContext) -} - val USER_INFO_MIGRATION = AutomaticSchemaMigration { migrationContext -> SentryDebug.addMigrationBreadcrumb(migrationContext) migrationContext.deleteRealmFromFirstMigration() diff --git a/app/src/main/java/com/infomaniak/mail/data/models/AppSettings.kt b/app/src/main/java/com/infomaniak/mail/data/models/AppSettings.kt index cf79b3aa36..14d3b9076b 100644 --- a/app/src/main/java/com/infomaniak/mail/data/models/AppSettings.kt +++ b/app/src/main/java/com/infomaniak/mail/data/models/AppSettings.kt @@ -23,7 +23,6 @@ class AppSettings : RealmObject { var currentUserId: Int = DEFAULT_ID var currentMailboxId: Int = DEFAULT_ID - var myKSuiteId: Int = DEFAULT_ID companion object { const val DEFAULT_ID = -1 diff --git a/app/src/main/java/com/infomaniak/mail/ui/main/settings/SettingsFragment.kt b/app/src/main/java/com/infomaniak/mail/ui/main/settings/SettingsFragment.kt index c7169c29c3..96750b6bb7 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/main/settings/SettingsFragment.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/main/settings/SettingsFragment.kt @@ -90,7 +90,7 @@ class SettingsFragment : Fragment() { private fun setupMyKSuiteLayout(myKSuiteData: MyKSuiteData) = with(binding) { observeMyKSuiteMailbox() - myKSuiteData.kSuitePack.type?.displayNameRes?.let(myKSuiteSettingsTitle::setText) + myKSuiteSettingsTitle.setText(myKSuiteData.name) myKSuiteViewModel.getMyKSuiteMailbox(myKSuiteData.mail.mailboxId) diff --git a/app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt b/app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt index 41ab65d2f7..34759f6801 100644 --- a/app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt +++ b/app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt @@ -52,6 +52,7 @@ class LogoutUser @Inject constructor( user.logoutToken() AccountUtils.removeUser(user) + MyKSuiteDataUtils.deleteKSuiteData(user.id) RealmDatabase.removeUserData(appContext, user.id) mailboxController.deleteUserMailboxes(user.id) localSettings.removeRegisteredFirebaseUser(userId = user.id) diff --git a/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteDataUtils.kt b/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteDataUtils.kt index b896c6a39b..cabab981fb 100644 --- a/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteDataUtils.kt +++ b/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteDataUtils.kt @@ -22,8 +22,6 @@ import com.infomaniak.core.myksuite.ui.data.MyKSuiteDataManager import com.infomaniak.lib.core.networking.HttpClient import com.infomaniak.lib.core.utils.SentryLog import com.infomaniak.mail.data.api.ApiRepository -import com.infomaniak.mail.data.cache.appSettings.AppSettingsController -import com.infomaniak.mail.data.models.AppSettings import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.MissingFieldException import kotlin.coroutines.cancellation.CancellationException @@ -32,19 +30,9 @@ object MyKSuiteDataUtils : MyKSuiteDataManager() { private val TAG = MyKSuiteDataUtils::class.simpleName.toString() - override val userId get() = AccountUtils.currentUserId - - override var myKSuiteId: Int = AppSettingsController.getAppSettings().myKSuiteId - set(myKSuiteId) { - field = myKSuiteId - AppSettingsController.updateAppSettings { appSettings -> appSettings.myKSuiteId = myKSuiteId } - } + override val currentUserId get() = AccountUtils.currentUserId override var myKSuite: MyKSuiteData? = null - set(myKSuiteData) { - field = myKSuiteData - myKSuiteId = myKSuiteData?.id ?: AppSettings.DEFAULT_ID - } suspend fun fetchMyKSuiteData(): MyKSuiteData? = runCatching { MyKSuiteDataUtils.requestKSuiteData() diff --git a/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteUiUtils.kt b/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteUiUtils.kt index 175dfb8270..c427f55512 100644 --- a/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteUiUtils.kt +++ b/app/src/main/java/com/infomaniak/mail/utils/MyKSuiteUiUtils.kt @@ -20,7 +20,6 @@ package com.infomaniak.mail.utils import android.content.Context import androidx.fragment.app.Fragment import androidx.navigation.NavController -import com.infomaniak.core.myksuite.ui.components.MyKSuiteTier import com.infomaniak.core.myksuite.ui.data.MyKSuiteData import com.infomaniak.core.myksuite.ui.screens.KSuiteApp import com.infomaniak.core.myksuite.ui.screens.MyKSuiteDashboardScreenData @@ -51,7 +50,7 @@ object MyKSuiteUiUtils { fun getDashboardData(context: Context, myKSuiteData: MyKSuiteData): MyKSuiteDashboardScreenData { return MyKSuiteDashboardScreenData( - myKSuiteTier = if (myKSuiteData.isMyKSuitePlus) MyKSuiteTier.Plus else MyKSuiteTier.Free, + myKSuiteTier = myKSuiteData.tier, email = myKSuiteData.mail.email, avatarUri = AccountUtils.currentUser?.avatar ?: "", dailySendingLimit = myKSuiteData.mail.dailyLimitSent.toString(),