abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/SettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/SettingsActivity.java')
-rw-r--r--srcs/juloo.keyboard2/SettingsActivity.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/SettingsActivity.java b/srcs/juloo.keyboard2/SettingsActivity.java
index c6454a7..04fe501 100644
--- a/srcs/juloo.keyboard2/SettingsActivity.java
+++ b/srcs/juloo.keyboard2/SettingsActivity.java
@@ -14,9 +14,13 @@ public class SettingsActivity extends PreferenceActivity
{
detectSystemTheme();
super.onCreate(savedInstanceState);
+ SharedPreferences prefs;
+ // The preferences can't be read when in direct-boot mode. Avoid crashing
+ // and don't allow changing the settings.
+ try { prefs = PreferenceManager.getDefaultSharedPreferences(this); }
+ catch (Exception _e) { fallbackEncrypted(); return; }
addPreferencesFromResource(R.xml.settings);
- PreferenceManager.getDefaultSharedPreferences(this)
- .registerOnSharedPreferenceChangeListener(this.new OnPreferencesChange());
+ prefs.registerOnSharedPreferenceChangeListener(this.new OnPreferencesChange());
}
/** The default theme is [Theme.DeviceDefault], which is dark. Detect if the
@@ -31,6 +35,12 @@ public class SettingsActivity extends PreferenceActivity
}
}
+ void fallbackEncrypted()
+ {
+ // Can't communicate with the user here.
+ finish();
+ }
+
/** See DirectBootAwarePreferences. */
class OnPreferencesChange implements SharedPreferences.OnSharedPreferenceChangeListener
{