Apply checkbox enable state on viewholder bind

Change-Id: I5b263f02fb6a1779fd567eade3776044fddb6b11
Fixes: 72809700
Test: SettingsRoboTests
diff --git a/src/com/android/settings/widget/MasterCheckBoxPreference.java b/src/com/android/settings/widget/MasterCheckBoxPreference.java
index 552f51c..fceeac2 100644
--- a/src/com/android/settings/widget/MasterCheckBoxPreference.java
+++ b/src/com/android/settings/widget/MasterCheckBoxPreference.java
@@ -83,6 +83,7 @@
         if (mCheckBox != null) {
             mCheckBox.setContentDescription(getTitle());
             mCheckBox.setChecked(mChecked);
+            mCheckBox.setEnabled(mEnableCheckBox);
         }
     }
 
diff --git a/tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java
index ac3e0b6..55ce27f 100644
--- a/tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/MasterCheckBoxPreferenceTest.java
@@ -106,6 +106,24 @@
     }
 
     @Test
+    public void onBindViewHolder_shouldSetCheckboxEnabledState() {
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                LayoutInflater.from(mContext).inflate(
+                        R.layout.preference_widget_master_checkbox, null));
+        final CheckBox checkBox = (CheckBox) holder.findViewById(R.id.checkboxWidget);
+
+        mPreference.setCheckBoxEnabled(false);
+        mPreference.onBindViewHolder(holder);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(checkBox.isEnabled()).isFalse();
+
+        mPreference.setCheckBoxEnabled(true);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(checkBox.isEnabled()).isTrue();
+    }
+
+    @Test
     public void clickWidgetView_shouldToggleCheckBox() {
         final LayoutInflater inflater = LayoutInflater.from(mContext);
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(