1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 13:57:10 +09:00

DROID-1386 App | Fix | Set metrics when restoring account (#79)

This commit is contained in:
Evgenii Kozlov 2023-06-15 19:33:24 +02:00 committed by uburoiubu
parent 4270fcb434
commit 1d40e04204
No known key found for this signature in database
GPG key ID: C8FB80E0A595FBB6
4 changed files with 21 additions and 6 deletions

View file

@ -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

View file

@ -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<AccountStatus, BaseUseCase.None>(context = dispatchers.io) {
override suspend fun run(params: None) = safe { repo.restoreAccount() }
override suspend fun run(params: None) = safe {
repo.restoreAccount()
}
}

View file

@ -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<Id, BaseUseCase.None>() {
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()

View file

@ -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
)
}