Merge "Add non-transparent background to dashboard items." into nyc-mr1-dev
diff --git a/src/com/android/settings/applications/ManageAssist.java b/src/com/android/settings/applications/ManageAssist.java
index 6fe966d..02875b6 100644
--- a/src/com/android/settings/applications/ManageAssist.java
+++ b/src/com/android/settings/applications/ManageAssist.java
@@ -76,7 +76,7 @@
         if (preference == mContextPref) {
             Settings.Secure.putInt(getContentResolver(), Settings.Secure.ASSIST_STRUCTURE_ENABLED,
                     (boolean) newValue ? 1 : 0);
-            postUpdateUi();
+            postGuardScreenshotPref();
             return true;
         }
         if (preference == mScreenshotPref) {
@@ -101,15 +101,23 @@
         return false;
     }
 
-    private void postUpdateUi() {
+    private void postGuardScreenshotPref() {
         mHandler.post(new Runnable() {
             @Override
             public void run() {
-                updateUi();
+                guardScreenshotPref();
             }
         });
     }
 
+    private void guardScreenshotPref() {
+        boolean isChecked = mContextPref.isChecked();
+        boolean screenshotPrefWasSet = Settings.Secure.getInt(
+                getContentResolver(), Settings.Secure.ASSIST_SCREENSHOT_ENABLED, 1) != 0;
+        mScreenshotPref.setEnabled(isChecked);
+        mScreenshotPref.setChecked(isChecked && screenshotPrefWasSet);
+    }
+
     private void updateUi() {
         mDefaultAssitPref.refreshAssistApps();
         mVoiceInputPref.refreshVoiceInputs();
@@ -131,9 +139,7 @@
             mVoiceInputPref.setAssistRestrict(currentAssist);
         }
 
-        mScreenshotPref.setEnabled(mContextPref.isChecked());
-        mScreenshotPref.setChecked(mContextPref.isChecked() && Settings.Secure.getInt(
-                getContentResolver(), Settings.Secure.ASSIST_SCREENSHOT_ENABLED, 1) != 0);
+        guardScreenshotPref();
     }
 
     private boolean isCurrentAssistVoiceService() {