diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/database/DatabaseView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/database/DatabaseView.kt index e77ad5b67f..22ea4c2db7 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/database/DatabaseView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/database/DatabaseView.kt @@ -190,7 +190,7 @@ fun DatabaseLayout( disabled = operationsDisabled ) SectionDivider() - SettingsPreferenceItem(Icons.Outlined.Backup, stringResource(R.string.full_backup), privacyFullBackup) + AppDataBackupPreference(privacyFullBackup, initialRandomDBPassphrase) SectionDivider() SettingsActionItem( Icons.Outlined.IosShare, @@ -270,6 +270,36 @@ fun DatabaseLayout( } } +@Composable +private fun AppDataBackupPreference(privacyFullBackup: SharedPreference, initialRandomDBPassphrase: SharedPreference) { + SectionItemView { + Row(verticalAlignment = Alignment.CenterVertically) { + Icon(Icons.Outlined.Backup, stringResource(R.string.full_backup), tint = HighOrLowlight) + Spacer(Modifier.padding(horizontal = 4.dp)) + val prefState = remember { mutableStateOf(privacyFullBackup.get()) } + Row(Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) { + Text(stringResource(R.string.full_backup), Modifier.padding(end = 24.dp)) + Spacer(Modifier.fillMaxWidth().weight(1f)) + Switch( + checked = prefState.value, + onCheckedChange = { + if (initialRandomDBPassphrase.get()) { + exportProhibitedAlert() + } else { + privacyFullBackup.set(it) + prefState.value = it + } + }, + colors = SwitchDefaults.colors( + checkedThumbColor = MaterialTheme.colors.primary, + uncheckedThumbColor = HighOrLowlight + ) + ) + } + } + } +} + private fun setChatItemTTLAlert( m: ChatModel, selectedChatItemTTL: MutableState, progressIndicator: MutableState, diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/PrivacySettings.kt b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/PrivacySettings.kt index 2a74a5e30c..597a4b4df5 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/PrivacySettings.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/PrivacySettings.kt @@ -13,7 +13,6 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.stringResource import androidx.fragment.app.FragmentActivity import chat.simplex.app.R