From fc92b2165cf33e982f2ed0e49f1ea0707c1262e7 Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Thu, 15 Jun 2023 19:33:24 +0200 Subject: [PATCH] DROID-1386 App | Fix | Set metrics when restoring account (#79) --- .../java/com/anytypeio/anytype/di/feature/MainEntryDI.kt | 7 +++++-- .../anytypeio/anytype/domain/account/RestoreAccount.kt | 5 +++-- .../anytype/domain/auth/interactor/ResumeAccount.kt | 8 +++++++- .../anytypeio/anytype/domain/auth/ResumeAccountTest.kt | 7 ++++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/MainEntryDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/MainEntryDI.kt index 5a015d970c..3784c23f9a 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/feature/MainEntryDI.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/feature/MainEntryDI.kt @@ -13,6 +13,7 @@ import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.config.FeaturesConfigProvider import com.anytypeio.anytype.domain.config.UserSettingsRepository import com.anytypeio.anytype.domain.device.PathProvider +import com.anytypeio.anytype.domain.platform.MetricsProvider import com.anytypeio.anytype.domain.search.ObjectTypesSubscriptionManager import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager import com.anytypeio.anytype.domain.theme.GetTheme @@ -78,13 +79,15 @@ object MainEntryModule { pathProvider: PathProvider, configStorage: ConfigStorage, featuresConfigProvider: FeaturesConfigProvider, - workspaceManager: WorkspaceManager + workspaceManager: WorkspaceManager, + metricsProvider: MetricsProvider ): ResumeAccount = ResumeAccount( repository = authRepository, pathProvider = pathProvider, configStorage = configStorage, featuresConfigProvider = featuresConfigProvider, - workspaceManager = workspaceManager + workspaceManager = workspaceManager, + metricsProvider = metricsProvider ) @JvmStatic diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/account/RestoreAccount.kt b/domain/src/main/java/com/anytypeio/anytype/domain/account/RestoreAccount.kt index 13a3023432..2be78aa2b4 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/account/RestoreAccount.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/account/RestoreAccount.kt @@ -4,12 +4,13 @@ import com.anytypeio.anytype.core_models.AccountStatus import com.anytypeio.anytype.domain.auth.repo.AuthRepository import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers import com.anytypeio.anytype.domain.base.BaseUseCase -import kotlinx.coroutines.Dispatchers class RestoreAccount( private val repo: AuthRepository, dispatchers: AppCoroutineDispatchers, ) : BaseUseCase(context = dispatchers.io) { - override suspend fun run(params: None) = safe { repo.restoreAccount() } + override suspend fun run(params: None) = safe { + repo.restoreAccount() + } } \ No newline at end of file diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/auth/interactor/ResumeAccount.kt b/domain/src/main/java/com/anytypeio/anytype/domain/auth/interactor/ResumeAccount.kt index 032095c19a..eea5525279 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/auth/interactor/ResumeAccount.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/auth/interactor/ResumeAccount.kt @@ -6,6 +6,7 @@ import com.anytypeio.anytype.domain.base.BaseUseCase import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.config.FeaturesConfigProvider import com.anytypeio.anytype.domain.device.PathProvider +import com.anytypeio.anytype.domain.platform.MetricsProvider import com.anytypeio.anytype.domain.workspace.WorkspaceManager /** @@ -16,12 +17,17 @@ class ResumeAccount( private val pathProvider: PathProvider, private val configStorage: ConfigStorage, private val featuresConfigProvider: FeaturesConfigProvider, - private val workspaceManager: WorkspaceManager + private val workspaceManager: WorkspaceManager, + private val metricsProvider: MetricsProvider ) : BaseUseCase() { override suspend fun run(params: None) = proceedWithResuming() private suspend fun proceedWithResuming() = safe { + repository.setMetrics( + version = metricsProvider.getVersion(), + platform = metricsProvider.getPlatform() + ) repository.recoverWallet( path = pathProvider.providePath(), mnemonic = repository.getMnemonic() diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/ResumeAccountTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/ResumeAccountTest.kt index 536de7d6df..81b5597fb5 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/ResumeAccountTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/ResumeAccountTest.kt @@ -10,6 +10,7 @@ import com.anytypeio.anytype.domain.base.BaseUseCase import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.config.FeaturesConfigProvider import com.anytypeio.anytype.domain.device.PathProvider +import com.anytypeio.anytype.domain.platform.MetricsProvider import com.anytypeio.anytype.domain.workspace.WorkspaceManager import com.anytypeio.anytype.test_utils.MockDataFactory import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -45,6 +46,9 @@ class ResumeAccountTest { @Mock lateinit var pathProvider: PathProvider + @Mock + lateinit var metricsProvider: MetricsProvider + lateinit var resumeAccount: ResumeAccount private val config = StubConfig() @@ -57,7 +61,8 @@ class ResumeAccountTest { configStorage = configStorage, featuresConfigProvider = featuresConfigProvider, workspaceManager = workspaceManager, - pathProvider = pathProvider + pathProvider = pathProvider, + metricsProvider = metricsProvider ) }