mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-16 15:02:54 +00:00
Add ability to disable backup reminder
This commit is contained in:
parent
fd42c5c893
commit
61d41a26fa
40 changed files with 96 additions and 38 deletions
|
@ -278,6 +278,14 @@ public class Preferences {
|
|||
setBuiltInBackupResult(null);
|
||||
}
|
||||
|
||||
public boolean isBackupReminderEnabled() {
|
||||
return _prefs.getBoolean("pref_backup_reminder", true);
|
||||
}
|
||||
|
||||
public void setIsBackupReminderEnabled(boolean enabled) {
|
||||
_prefs.edit().putBoolean("pref_backup_reminder", enabled).apply();
|
||||
}
|
||||
|
||||
public Uri getBackupsLocation() {
|
||||
String str = _prefs.getString("pref_backups_location", null);
|
||||
if (str != null) {
|
||||
|
|
|
@ -825,14 +825,23 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
|||
});
|
||||
});
|
||||
_btnErrorBar.setVisibility(View.VISIBLE);
|
||||
} else if (_prefs.isBackupsReminderNeeded()) {
|
||||
} else if (_prefs.isBackupsReminderNeeded() && _prefs.isBackupReminderEnabled()) {
|
||||
Date date = _prefs.getLatestBackupOrExportTime();
|
||||
if (date != null) {
|
||||
_textErrorBar.setText(getString(R.string.backup_reminder_bar_message_with_latest, TimeUtils.getElapsedSince(this, date)));
|
||||
} else {
|
||||
_textErrorBar.setText(R.string.backup_reminder_bar_message);
|
||||
}
|
||||
_btnErrorBar.setOnClickListener(view -> startPreferencesActivity());
|
||||
_btnErrorBar.setOnClickListener(view -> {
|
||||
Dialogs.showSecureDialog(new AlertDialog.Builder(this)
|
||||
.setTitle(R.string.backup_reminder_bar_dialog_title)
|
||||
.setMessage(R.string.backup_reminder_bar_dialog_summary)
|
||||
.setPositiveButton(R.string.backup_reminder_bar_dialog_accept, (dialog, whichButton) -> {
|
||||
startPreferencesActivity(BackupsPreferencesFragment.class, "pref_backups");
|
||||
})
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.create());
|
||||
});
|
||||
_btnErrorBar.setVisibility(View.VISIBLE);
|
||||
} else if (_prefs.isPlaintextBackupWarningNeeded()) {
|
||||
_textErrorBar.setText(R.string.backup_plaintext_export_warning);
|
||||
|
|
|
@ -23,6 +23,7 @@ import com.beemdevelopment.aegis.vault.VaultRepositoryException;
|
|||
public class BackupsPreferencesFragment extends PreferencesFragment {
|
||||
private SwitchPreferenceCompat _androidBackupsPreference;
|
||||
private SwitchPreferenceCompat _backupsPreference;
|
||||
private SwitchPreferenceCompat _backupReminderPreference;
|
||||
private Preference _backupsLocationPreference;
|
||||
private Preference _backupsTriggerPreference;
|
||||
private Preference _backupsVersionsPreference;
|
||||
|
@ -72,6 +73,22 @@ public class BackupsPreferencesFragment extends PreferencesFragment {
|
|||
return false;
|
||||
});
|
||||
|
||||
_backupReminderPreference = requirePreference("pref_backup_reminder");
|
||||
_backupReminderPreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
if (!(boolean)newValue) {
|
||||
Dialogs.showCheckboxDialog(getContext(), R.string.pref_backups_reminder_dialog_title,
|
||||
R.string.pref_backups_reminder_dialog_summary,
|
||||
R.string.understand_risk_accept,
|
||||
this::saveAndDisableBackupReminder
|
||||
);
|
||||
} else {
|
||||
_prefs.setIsBackupReminderEnabled(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
_androidBackupsPreference = requirePreference("pref_android_backups");
|
||||
_androidBackupsPreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
_prefs.setIsAndroidBackupsEnabled((boolean) newValue);
|
||||
|
@ -113,6 +130,13 @@ public class BackupsPreferencesFragment extends PreferencesFragment {
|
|||
});
|
||||
}
|
||||
|
||||
private void saveAndDisableBackupReminder(boolean understand) {
|
||||
if (understand) {
|
||||
_prefs.setIsBackupReminderEnabled(false);
|
||||
updateBackupPreference();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (data != null && requestCode == CODE_BACKUPS) {
|
||||
|
@ -140,11 +164,13 @@ public class BackupsPreferencesFragment extends PreferencesFragment {
|
|||
boolean encrypted = _vaultManager.getVault().isEncryptionEnabled();
|
||||
boolean androidBackupEnabled = _prefs.isAndroidBackupsEnabled() && encrypted;
|
||||
boolean backupEnabled = _prefs.isBackupsEnabled() && encrypted;
|
||||
boolean backupReminderEnabled = _prefs.isBackupReminderEnabled();
|
||||
_backupsPasswordWarningPreference.setVisible(_vaultManager.getVault().isBackupPasswordSet());
|
||||
_androidBackupsPreference.setChecked(androidBackupEnabled);
|
||||
_androidBackupsPreference.setEnabled(encrypted);
|
||||
_backupsPreference.setChecked(backupEnabled);
|
||||
_backupsPreference.setEnabled(encrypted);
|
||||
_backupReminderPreference.setChecked(backupReminderEnabled);
|
||||
_backupsLocationPreference.setVisible(backupEnabled);
|
||||
_backupsTriggerPreference.setVisible(backupEnabled);
|
||||
_backupsVersionsPreference.setVisible(backupEnabled);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue