Skip to content

Commit a11dc56

Browse files
committed
refactor: Rename CheckEncryption action to updateSwitches
- Rename `SettingsAction.CheckEncryption` to a more descriptive `updateSwitches()` method in `SettingsViewModel`. - The new `updateSwitches()` method is now called directly from the `SettingsScreen` when the lifecycle resumes. - Remove the unused `CheckEncryption` data object from `SettingsAction`. - Update the corresponding test case in `SettingsViewModelTest` to reflect this renaming.
1 parent 9416aa3 commit a11dc56

File tree

4 files changed

+12
-14
lines changed

4 files changed

+12
-14
lines changed

core/presentation/src/androidHostTest/kotlin/com/softartdev/notedelight/presentation/settings/SettingsViewModelTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class SettingsViewModelTest {
6464
Mockito.`when`(mockLocaleInteractor.languageEnum).thenReturn(LanguageEnum.ENGLISH)
6565
settingsViewModel.stateFlow.test {
6666
assertFalse(awaitItem().loading)
67-
settingsViewModel.onAction(SettingsAction.CheckEncryption)
67+
settingsViewModel.updateSwitches()
6868
if (encryption) awaitItem().let { result: SecurityResult ->
6969
assertFalse(result.loading)
7070
assertTrue(result.encryption)

core/presentation/src/commonMain/kotlin/com/softartdev/notedelight/presentation/settings/SecurityResult.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ sealed interface SettingsAction {
1818
data object NavBack : SettingsAction
1919
data object ChangeTheme : SettingsAction
2020
data object ChangeLanguage : SettingsAction
21-
data object CheckEncryption : SettingsAction
2221
data class ChangeEncryption(val checked: Boolean) : SettingsAction
2322
data object ChangePassword : SettingsAction
2423
data object ShowCipherVersion : SettingsAction

core/presentation/src/commonMain/kotlin/com/softartdev/notedelight/presentation/settings/SettingsViewModel.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ class SettingsViewModel(
4141
is SettingsAction.NavBack -> navBack()
4242
is SettingsAction.ChangeTheme -> changeTheme()
4343
is SettingsAction.ChangeLanguage -> changeLanguage()
44-
is SettingsAction.CheckEncryption -> checkEncryption() //TODO use directly
4544
is SettingsAction.ChangeEncryption -> changeEncryption(action.checked)
4645
is SettingsAction.ChangePassword -> changePassword()
4746
is SettingsAction.ShowCipherVersion -> showCipherVersion()
@@ -50,22 +49,14 @@ class SettingsViewModel(
5049
is SettingsAction.RevealFileList -> revealFileList()
5150
}
5251

53-
private fun navBack() {
54-
if (!router.popBackStack()) router.navigate(route = AppNavGraph.Splash)
55-
}
56-
57-
private fun changeTheme() = router.navigate(route = AppNavGraph.ThemeDialog)
58-
59-
private fun changeLanguage() = router.navigate(route = AppNavGraph.LanguageDialog)
60-
61-
private fun checkEncryption() = viewModelScope.launch {
52+
fun updateSwitches() = viewModelScope.launch {
6253
CountingIdlingRes.increment()
6354
mutableStateFlow.update(SecurityResult::showLoading)
6455
try {
6556
mutableStateFlow.update { result ->
6657
result.copy(
6758
encryption = dbIsEncrypted,
68-
language = localeInteractor.languageEnum //TODO move to separate function
59+
language = localeInteractor.languageEnum
6960
)
7061
}
7162
} catch (e: Throwable) {
@@ -76,6 +67,14 @@ class SettingsViewModel(
7667
}
7768
}
7869

70+
private fun navBack() {
71+
if (!router.popBackStack()) router.navigate(route = AppNavGraph.Splash)
72+
}
73+
74+
private fun changeTheme() = router.navigate(route = AppNavGraph.ThemeDialog)
75+
76+
private fun changeLanguage() = router.navigate(route = AppNavGraph.LanguageDialog)
77+
7978
private fun changeEncryption(checked: Boolean) = viewModelScope.launch {
8079
CountingIdlingRes.increment()
8180
mutableStateFlow.update(SecurityResult::showLoading)

ui/shared/src/commonMain/kotlin/com/softartdev/notedelight/ui/settings/SettingsScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ import org.jetbrains.compose.ui.tooling.preview.Preview
7979
fun SettingsScreen(settingsViewModel: SettingsViewModel) {
8080
val result: SecurityResult by settingsViewModel.stateFlow.collectAsState()
8181
LifecycleResumeEffect(key1 = settingsViewModel) {
82-
settingsViewModel.onAction(SettingsAction.CheckEncryption)
82+
settingsViewModel.updateSwitches()
8383
onPauseOrDispose {}
8484
}
8585
SettingsScreenBody(result, settingsViewModel::onAction)

0 commit comments

Comments
 (0)