mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 13:57:10 +09:00
DROID-1418 Onboarding | Enhancement | Added setting SKIP useCase after account create
DROID-1418 Onboarding | Enhancement | Added setting SKIP useCase after account create
This commit is contained in:
parent
6c9df6edaf
commit
68c58a8e02
2 changed files with 35 additions and 0 deletions
|
@ -5,8 +5,11 @@ import com.anytypeio.anytype.di.common.ComponentDependencies
|
|||
import com.anytypeio.anytype.domain.auth.interactor.CreateAccount
|
||||
import com.anytypeio.anytype.domain.auth.interactor.SetupWallet
|
||||
import com.anytypeio.anytype.domain.auth.repo.AuthRepository
|
||||
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
|
||||
import com.anytypeio.anytype.domain.block.repo.BlockRepository
|
||||
import com.anytypeio.anytype.domain.config.ConfigStorage
|
||||
import com.anytypeio.anytype.domain.device.PathProvider
|
||||
import com.anytypeio.anytype.domain.`object`.SetupMobileUseCaseSkip
|
||||
import com.anytypeio.anytype.domain.platform.MetricsProvider
|
||||
import com.anytypeio.anytype.domain.search.ObjectTypesSubscriptionManager
|
||||
import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager
|
||||
|
@ -69,6 +72,17 @@ object OnboardingAuthModule {
|
|||
repository = authRepository
|
||||
)
|
||||
|
||||
@JvmStatic
|
||||
@Provides
|
||||
@AuthScreenScope
|
||||
fun provideSetupSkipUseCase(
|
||||
repository: BlockRepository,
|
||||
dispatchers: AppCoroutineDispatchers
|
||||
) = SetupMobileUseCaseSkip(
|
||||
repo = repository,
|
||||
dispatchers = dispatchers
|
||||
)
|
||||
|
||||
@Module
|
||||
interface Declarations {
|
||||
|
||||
|
@ -81,12 +95,14 @@ object OnboardingAuthModule {
|
|||
|
||||
interface OnboardingAuthDependencies : ComponentDependencies {
|
||||
fun authRepository(): AuthRepository
|
||||
fun blockRepository(): BlockRepository
|
||||
fun configStorage(): ConfigStorage
|
||||
fun workspaceManager(): WorkspaceManager
|
||||
fun relationsSubscriptionManager(): RelationsSubscriptionManager
|
||||
fun objectTypesSubscriptionManager(): ObjectTypesSubscriptionManager
|
||||
fun pathProvider(): PathProvider
|
||||
fun metricsProvider(): MetricsProvider
|
||||
fun dispatchers(): AppCoroutineDispatchers
|
||||
}
|
||||
|
||||
@Scope
|
||||
|
|
|
@ -5,7 +5,9 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import androidx.lifecycle.viewModelScope
|
||||
import com.anytypeio.anytype.domain.auth.interactor.CreateAccount
|
||||
import com.anytypeio.anytype.domain.auth.interactor.SetupWallet
|
||||
import com.anytypeio.anytype.domain.base.fold
|
||||
import com.anytypeio.anytype.domain.device.PathProvider
|
||||
import com.anytypeio.anytype.domain.`object`.SetupMobileUseCaseSkip
|
||||
import com.anytypeio.anytype.domain.search.ObjectTypesSubscriptionManager
|
||||
import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager
|
||||
import com.anytypeio.anytype.presentation.spaces.SpaceGradientProvider
|
||||
|
@ -19,6 +21,7 @@ import timber.log.Timber
|
|||
class OnboardingAuthViewModel @Inject constructor(
|
||||
private val createAccount: CreateAccount,
|
||||
private val setupWallet: SetupWallet,
|
||||
private val setupMobileUseCaseSkip: SetupMobileUseCaseSkip,
|
||||
private val pathProvider: PathProvider,
|
||||
private val spaceGradientProvider: SpaceGradientProvider,
|
||||
private val relationsSubscriptionManager: RelationsSubscriptionManager,
|
||||
|
@ -68,6 +71,20 @@ class OnboardingAuthViewModel @Inject constructor(
|
|||
relationsSubscriptionManager.onStart()
|
||||
objectTypesSubscriptionManager.onStart()
|
||||
joinFlowState.value = JoinFlowState.Active
|
||||
setupUseCase()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupUseCase() {
|
||||
viewModelScope.launch {
|
||||
setupMobileUseCaseSkip.execute(Unit).fold(
|
||||
onFailure = {
|
||||
Timber.e(it, "Error while importing use case")
|
||||
navigateTo(InviteCodeNavigation.Void)
|
||||
},
|
||||
onSuccess = {
|
||||
navigateTo(InviteCodeNavigation.Void)
|
||||
}
|
||||
)
|
||||
|
@ -93,6 +110,7 @@ class OnboardingAuthViewModel @Inject constructor(
|
|||
class Factory @Inject constructor(
|
||||
private val createAccount: CreateAccount,
|
||||
private val setupWallet: SetupWallet,
|
||||
private val setupMobileUseCaseSkip: SetupMobileUseCaseSkip,
|
||||
private val pathProvider: PathProvider,
|
||||
private val spaceGradientProvider: SpaceGradientProvider,
|
||||
private val relationsSubscriptionManager: RelationsSubscriptionManager,
|
||||
|
@ -103,6 +121,7 @@ class OnboardingAuthViewModel @Inject constructor(
|
|||
return OnboardingAuthViewModel(
|
||||
createAccount = createAccount,
|
||||
setupWallet = setupWallet,
|
||||
setupMobileUseCaseSkip = setupMobileUseCaseSkip,
|
||||
pathProvider = pathProvider,
|
||||
spaceGradientProvider = spaceGradientProvider,
|
||||
relationsSubscriptionManager = relationsSubscriptionManager,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue