diff options
Diffstat (limited to 'srcs/juloo.keyboard2/SettingsActivity.java')
| -rw-r--r-- | srcs/juloo.keyboard2/SettingsActivity.java | 14 |
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 { |
