secant-android-wallet/ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/settings/AndroidSettings.kt

62 lines
2.0 KiB
Kotlin
Raw Normal View History

2022-06-22 02:48:19 -07:00
@file:Suppress("ktlint:filename")
2022-06-13 09:47:22 -07:00
package co.electriccoin.zcash.ui.screen.settings
import androidx.activity.ComponentActivity
import androidx.activity.viewModels
import androidx.compose.runtime.Composable
import androidx.lifecycle.compose.collectAsStateWithLifecycle
2022-06-13 09:47:22 -07:00
import co.electriccoin.zcash.ui.MainActivity
import co.electriccoin.zcash.ui.screen.home.viewmodel.WalletViewModel
import co.electriccoin.zcash.ui.screen.onboarding.viewmodel.OnboardingViewModel
import co.electriccoin.zcash.ui.screen.settings.view.Settings
import co.electriccoin.zcash.ui.screen.settings.viewmodel.SettingsViewModel
2022-06-13 09:47:22 -07:00
@Composable
internal fun MainActivity.WrapSettings(
goBack: () -> Unit,
goWalletBackup: () -> Unit
) {
WrapSettings(
activity = this,
goBack = goBack,
goWalletBackup = goWalletBackup
)
}
@Composable
private fun WrapSettings(
activity: ComponentActivity,
goBack: () -> Unit,
goWalletBackup: () -> Unit
) {
val walletViewModel by activity.viewModels<WalletViewModel>()
val settingsViewModel by activity.viewModels<SettingsViewModel>()
2022-06-13 09:47:22 -07:00
val synchronizer = walletViewModel.synchronizer.collectAsStateWithLifecycle().value
val isAnalyticsEnabled = settingsViewModel.isAnalyticsEnabled.collectAsStateWithLifecycle().value
if (null == synchronizer || null == isAnalyticsEnabled) {
2022-06-13 09:47:22 -07:00
// Display loading indicator
} else {
Settings(
isAnalyticsEnabled,
2022-06-13 09:47:22 -07:00
onBack = goBack,
onBackupWallet = goWalletBackup,
onRescanWallet = {
walletViewModel.rescanBlockchain()
2022-06-22 02:48:19 -07:00
},
onWipeWallet = {
2022-06-13 09:47:22 -07:00
walletViewModel.wipeEntireWallet()
val onboardingViewModel by activity.viewModels<OnboardingViewModel>()
onboardingViewModel.onboardingState.goToBeginning()
onboardingViewModel.isImporting.value = false
},
onAnalyticsSettingsChanged = {
settingsViewModel.setAnalyticsEnabled(it)
2022-06-13 09:47:22 -07:00
}
)
}
}