mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-19 16:30:23 +00:00
parent
5ce21a94ea
commit
0f3e5c537c
36 changed files with 189 additions and 54 deletions
|
@ -1,5 +1,7 @@
|
|||
package com.beemdevelopment.aegis.ui.fragments;
|
||||
|
||||
import static android.text.TextUtils.isDigitsOnly;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
@ -14,6 +16,7 @@ import androidx.preference.Preference;
|
|||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.beemdevelopment.aegis.BuildConfig;
|
||||
import com.beemdevelopment.aegis.PassReminderFreq;
|
||||
import com.beemdevelopment.aegis.Preferences;
|
||||
import com.beemdevelopment.aegis.R;
|
||||
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||
|
@ -21,8 +24,8 @@ import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
|||
import com.beemdevelopment.aegis.helpers.BiometricSlotInitializer;
|
||||
import com.beemdevelopment.aegis.helpers.BiometricsHelper;
|
||||
import com.beemdevelopment.aegis.services.NotificationService;
|
||||
import com.beemdevelopment.aegis.ui.dialogs.Dialogs;
|
||||
import com.beemdevelopment.aegis.ui.SlotManagerActivity;
|
||||
import com.beemdevelopment.aegis.ui.dialogs.Dialogs;
|
||||
import com.beemdevelopment.aegis.ui.preferences.SwitchPreference;
|
||||
import com.beemdevelopment.aegis.ui.tasks.PasswordSlotDecryptTask;
|
||||
import com.beemdevelopment.aegis.vault.VaultFileCredentials;
|
||||
|
@ -33,12 +36,11 @@ import com.beemdevelopment.aegis.vault.slots.Slot;
|
|||
import com.beemdevelopment.aegis.vault.slots.SlotException;
|
||||
import com.beemdevelopment.aegis.vault.slots.SlotList;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
|
||||
import static android.text.TextUtils.isDigitsOnly;
|
||||
|
||||
public class SecurityPreferencesFragment extends PreferencesFragment {
|
||||
private SwitchPreference _encryptionPreference;
|
||||
private SwitchPreference _biometricsPreference;
|
||||
|
@ -231,7 +233,28 @@ public class SecurityPreferencesFragment extends PreferencesFragment {
|
|||
return false;
|
||||
});
|
||||
|
||||
_passwordReminderPreference = findPreference("pref_password_reminder");
|
||||
_passwordReminderPreference = findPreference("pref_password_reminder_freq");
|
||||
_passwordReminderPreference.setSummary(getPasswordReminderSummary());
|
||||
_passwordReminderPreference.setOnPreferenceClickListener((preference) -> {
|
||||
final PassReminderFreq currFreq = getPreferences().getPasswordReminderFrequency();
|
||||
final PassReminderFreq[] items = PassReminderFreq.values();
|
||||
final String[] textItems = Arrays.stream(items)
|
||||
.map(f -> getString(f.getStringRes()))
|
||||
.toArray(String[]::new);
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
|
||||
.setTitle(R.string.pref_password_reminder_title)
|
||||
.setSingleChoiceItems(textItems, currFreq.ordinal(), (dialog, which) -> {
|
||||
int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
||||
PassReminderFreq freq = PassReminderFreq.fromInteger(i);
|
||||
getPreferences().setPasswordReminderFrequency(freq);
|
||||
_passwordReminderPreference.setSummary(getPasswordReminderSummary());
|
||||
dialog.dismiss();
|
||||
})
|
||||
.setNegativeButton(android.R.string.cancel, null);
|
||||
Dialogs.showSecureDialog(builder.create());
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -281,6 +304,16 @@ public class SecurityPreferencesFragment extends PreferencesFragment {
|
|||
}
|
||||
}
|
||||
|
||||
private String getPasswordReminderSummary() {
|
||||
PassReminderFreq freq = getPreferences().getPasswordReminderFrequency();
|
||||
if (freq == PassReminderFreq.NEVER) {
|
||||
return getString(R.string.pref_password_reminder_summary_disabled);
|
||||
}
|
||||
|
||||
String freqString = getString(freq.getStringRes()).toLowerCase();
|
||||
return getString(R.string.pref_password_reminder_summary, freqString);
|
||||
}
|
||||
|
||||
private String getAutoLockSummary() {
|
||||
final int[] settings = Preferences.AUTO_LOCK_SETTINGS;
|
||||
final String[] descriptions = getResources().getStringArray(R.array.pref_auto_lock_types);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue