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