Potential fix for a monkey-related NPE

Cache the content resolver so that async callbacks, events can
continue to get the cntent resolver when detached from the activity.
This should help with stability.

Bug: 8005271

Change-Id: Ia566bc312ce678b438004bdf4ed7537ac1604608
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 42c0b40..60765a9 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -20,6 +20,7 @@
 import android.app.DialogFragment;
 import android.app.Fragment;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -48,6 +49,9 @@
 
     private String mHelpUrl;
 
+    // Cache the content resolver for async callbacks
+    private ContentResolver mContentResolver;
+
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -104,7 +108,11 @@
      * Returns the ContentResolver from the owning Activity.
      */
     protected ContentResolver getContentResolver() {
-        return getActivity().getContentResolver();
+        Context context = getActivity();
+        if (context != null) {
+            mContentResolver = context.getContentResolver();
+        }
+        return mContentResolver;
     }
 
     /**