mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-25 08:16:07 +00:00
This adds an option to highlight tapped entries, so that it's easier to distinguisch between the one you're trying to enter into a website and the other ones. Only one entry can be highlighted at a time. Perhaps it would make sense to change our tap to reveal functionality to behave the same, so that the two features are nicely in sync. I can address that in a separate PR if we decide to do so.
100 lines
3 KiB
Java
100 lines
3 KiB
Java
package com.beemdevelopment.aegis;
|
|
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
import android.content.res.Resources;
|
|
import android.os.Build;
|
|
import android.preference.PreferenceManager;
|
|
|
|
import java.util.Locale;
|
|
|
|
public class Preferences {
|
|
private SharedPreferences _prefs;
|
|
|
|
public Preferences(Context context) {
|
|
_prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
|
}
|
|
|
|
public boolean isTapToRevealEnabled() {
|
|
return _prefs.getBoolean("pref_tap_to_reveal", false);
|
|
}
|
|
|
|
public boolean isSearchAccountNameEnabled() {
|
|
return _prefs.getBoolean("pref_search_names", false);
|
|
}
|
|
|
|
public boolean isEntryHighlightEnabled() {
|
|
return _prefs.getBoolean("pref_highlight_entry", false);
|
|
}
|
|
|
|
public boolean isSecureScreenEnabled() {
|
|
// screen security should be enabled by default, but not for debug builds
|
|
return _prefs.getBoolean("pref_secure_screen", !BuildConfig.DEBUG);
|
|
}
|
|
|
|
public boolean isAccountNameVisible() {
|
|
return _prefs.getBoolean("pref_account_name", true);
|
|
}
|
|
|
|
public boolean isIntroDone() {
|
|
return _prefs.getBoolean("pref_intro", false);
|
|
}
|
|
|
|
public boolean isAutoLockEnabled() {
|
|
return _prefs.getBoolean("pref_auto_lock", true);
|
|
}
|
|
|
|
public void setIntroDone(boolean done) {
|
|
_prefs.edit().putBoolean("pref_intro", done).apply();
|
|
}
|
|
|
|
public void setTapToRevealTime(int number) {
|
|
_prefs.edit().putInt("pref_tap_to_reveal_time", number).apply();
|
|
}
|
|
|
|
public void setCurrentSortCategory(SortCategory category) {
|
|
_prefs.edit().putInt("pref_current_sort_category", category.ordinal()).apply();
|
|
}
|
|
|
|
public SortCategory getCurrentSortCategory() {
|
|
return SortCategory.fromInteger(_prefs.getInt("pref_current_sort_category", 0));
|
|
}
|
|
|
|
public int getTapToRevealTime() {
|
|
return _prefs.getInt("pref_tap_to_reveal_time", 30);
|
|
}
|
|
|
|
public Theme getCurrentTheme() {
|
|
return Theme.fromInteger(_prefs.getInt("pref_current_theme", 0));
|
|
}
|
|
|
|
public void setCurrentTheme(Theme theme) {
|
|
_prefs.edit().putInt("pref_current_theme", theme.ordinal()).apply();
|
|
}
|
|
|
|
public ViewMode getCurrentViewMode() {
|
|
return ViewMode.fromInteger(_prefs.getInt("pref_current_view_mode", 0));
|
|
}
|
|
|
|
public void setCurrentViewMode(ViewMode viewMode) {
|
|
_prefs.edit().putInt("pref_current_view_mode", viewMode.ordinal()).apply();
|
|
}
|
|
|
|
public int getTimeout() {
|
|
return _prefs.getInt("pref_timeout", -1);
|
|
}
|
|
|
|
public Locale getLocale() {
|
|
String lang = _prefs.getString("pref_lang", "system");
|
|
|
|
if (lang.equals("system")) {
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
|
return Resources.getSystem().getConfiguration().getLocales().get(0);
|
|
} else {
|
|
return Resources.getSystem().getConfiguration().locale;
|
|
}
|
|
}
|
|
|
|
return new Locale(lang);
|
|
}
|
|
}
|