Clean up integration settings screen

This commit is contained in:
MM20 2024-06-15 23:07:01 +02:00
parent 56578b238d
commit d55fe64075
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
2 changed files with 0 additions and 55 deletions

View File

@ -46,30 +46,9 @@ import de.mm20.launcher2.ui.locals.LocalNavController
@Composable
fun IntegrationsSettingsScreen() {
val viewModel: IntegrationsSettingsScreenVM = viewModel()
val context = LocalContext.current
val lifecycleOwner = LocalLifecycleOwner.current
val navController = LocalNavController.current
LaunchedEffect(null) {
lifecycleOwner.repeatOnLifecycle(Lifecycle.State.RESUMED) {
viewModel.onResume()
}
}
val owncloudUser by viewModel.owncloudUser
val nextcloudUser by viewModel.nextcloudUser
val googleUser by viewModel.googleUser
val loading by viewModel.loading
PreferenceScreen(title = stringResource(R.string.preference_screen_integrations)) {
if (loading) {
item {
LinearProgressIndicator(
modifier = Modifier.fillMaxWidth()
)
}
}
item {
Preference(
title = stringResource(R.string.preference_weather_integration),

View File

@ -1,13 +1,8 @@
package de.mm20.launcher2.ui.settings.integrations
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import de.mm20.launcher2.accounts.Account
import de.mm20.launcher2.accounts.AccountType
import de.mm20.launcher2.accounts.AccountsRepository
import kotlinx.coroutines.launch
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
@ -15,33 +10,4 @@ class IntegrationsSettingsScreenVM : ViewModel(), KoinComponent {
private val accountsRepository: AccountsRepository by inject()
val isGoogleAvailable = accountsRepository.isSupported(AccountType.Google)
val googleUser = mutableStateOf<Account?>(null)
val nextcloudUser = mutableStateOf<Account?>(null)
val owncloudUser = mutableStateOf<Account?>(null)
val loading = mutableStateOf(true)
fun onResume() {
viewModelScope.launch {
loading.value = true
googleUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Google)
nextcloudUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Nextcloud)
owncloudUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Owncloud)
loading.value = false
}
}
fun signIn(activity: AppCompatActivity, accountType: AccountType) {
accountsRepository.signin(activity, accountType)
}
fun signOut(accountType: AccountType) {
accountsRepository.signout(accountType)
when(accountType){
AccountType.Google -> googleUser.value = null
AccountType.Nextcloud -> nextcloudUser.value = null
AccountType.Owncloud -> owncloudUser.value = null
}
}
}