Dialer: add proper-ish Direct Boot support
This is a terribly important oversight. Direct Boot lockscreens REALLY
should support dialing 112 or whatever emergency number users use
without the Dialer app crashing...
Change-Id: Iaafadf7d29352c53b29ce7db1ebd5bfb651fa49b
diff --git a/java/com/android/dialer/app/settings/SoundSettingsFragment.java b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
index d321f87..0f3fc23 100644
--- a/java/com/android/dialer/app/settings/SoundSettingsFragment.java
+++ b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
@@ -85,6 +85,7 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getPreferenceManager().setStorageDeviceProtected();
addPreferencesFromResource(R.xml.sound_settings);
diff --git a/java/com/android/dialer/callrecord/impl/CallRecorderService.java b/java/com/android/dialer/callrecord/impl/CallRecorderService.java
index 298e8ad..c24e109 100644
--- a/java/com/android/dialer/callrecord/impl/CallRecorderService.java
+++ b/java/com/android/dialer/callrecord/impl/CallRecorderService.java
@@ -92,7 +92,8 @@
// that we need multi process preferences, as the pref is written in a separate
// process (com.android.dialer vs. com.android.incallui)
final String prefName = getPackageName() + "_preferences";
- final SharedPreferences prefs = getSharedPreferences(prefName, MODE_MULTI_PROCESS);
+ final SharedPreferences prefs = createDeviceProtectedStorageContext()
+ .getSharedPreferences(prefName, MODE_MULTI_PROCESS);
try {
String value = prefs.getString(getString(R.string.call_recording_format_key), null);
diff --git a/java/com/android/dialer/lookup/LookupSettings.java b/java/com/android/dialer/lookup/LookupSettings.java
index f1b673b..d7ad1d9 100644
--- a/java/com/android/dialer/lookup/LookupSettings.java
+++ b/java/com/android/dialer/lookup/LookupSettings.java
@@ -45,7 +45,8 @@
}
private static SharedPreferences getSharedPreferences(Context context) {
- return context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
+ return context.createDeviceProtectedStorageContext()
+ .getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
}
public static boolean isForwardLookupEnabled(Context context) {
diff --git a/java/com/android/dialer/lookup/LookupSettingsFragment.java b/java/com/android/dialer/lookup/LookupSettingsFragment.java
index b539bf8..526a7f5 100644
--- a/java/com/android/dialer/lookup/LookupSettingsFragment.java
+++ b/java/com/android/dialer/lookup/LookupSettingsFragment.java
@@ -43,6 +43,7 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getPreferenceManager().setStorageDeviceProtected();
addPreferencesFromResource(R.xml.lookup_settings);
diff --git a/java/com/android/incallui/InCallDndHandler.java b/java/com/android/incallui/InCallDndHandler.java
index 4ab3e84..dd4aea3 100644
--- a/java/com/android/incallui/InCallDndHandler.java
+++ b/java/com/android/incallui/InCallDndHandler.java
@@ -36,7 +36,8 @@
private int userSelectedDndMode;
public InCallDndHandler(Context context) {
- prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ prefs = PreferenceManager.getDefaultSharedPreferences(
+ context.createDeviceProtectedStorageContext());
notificationManager = context.getSystemService(NotificationManager.class);
// Save the user's Do Not Disturb mode so that it can be restored when the call ends