diff --git a/res/xml/modes_notif_vis_settings.xml b/res/xml/modes_notif_vis_settings.xml
index 551c704a24a..10baf5f2f1a 100644
--- a/res/xml/modes_notif_vis_settings.xml
+++ b/res/xml/modes_notif_vis_settings.xml
@@ -24,15 +24,15 @@
android:title="@string/zen_mode_block_effects_screen_off"
android:key="zen_mode_block_screen_off">
-
-
-
@@ -40,19 +40,19 @@
-
-
-
-
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
index 39f0d3cb9dc..f918b256caf 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
@@ -23,6 +23,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.preference.CheckBoxPreference;
import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
import com.android.settings.widget.DisabledCheckBoxPreference;
@@ -57,7 +58,6 @@ public class ZenModeNotifVisPreferenceController extends AbstractZenModePreferen
@Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
-
boolean suppressed = !zenMode.getPolicy().isVisualEffectAllowed(mEffect, false);
boolean parentSuppressed = false;
if (mParentSuppressedEffects != null) {
@@ -68,12 +68,12 @@ public class ZenModeNotifVisPreferenceController extends AbstractZenModePreferen
}
}
if (parentSuppressed) {
- ((CheckBoxPreference) preference).setChecked(true);
+ ((TwoStatePreference) preference).setChecked(true);
onPreferenceChange(preference, true);
- ((DisabledCheckBoxPreference) preference).enableCheckbox(false);
+ preference.setEnabled(false);
} else {
- ((DisabledCheckBoxPreference) preference).enableCheckbox(true);
- ((CheckBoxPreference) preference).setChecked(suppressed);
+ preference.setEnabled(true);
+ ((TwoStatePreference) preference).setChecked(suppressed);
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
index 05b48480d41..54edaf440e3 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
@@ -41,7 +41,7 @@ import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
-import com.android.settings.widget.DisabledCheckBoxPreference;
+import androidx.preference.TwoStatePreference;
import org.junit.Before;
import org.junit.Rule;
@@ -95,7 +95,7 @@ public final class ZenModeNotifVisPreferenceControllerTest {
@Test
public void updateState_notChecked() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
ZenMode zenMode = new ZenMode("id",
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
.setType(AutomaticZenRule.TYPE_DRIVING)
@@ -109,12 +109,12 @@ public final class ZenModeNotifVisPreferenceControllerTest {
mController.updateZenMode(preference, zenMode);
verify(preference).setChecked(false);
- verify(preference).enableCheckbox(true);
+ verify(preference).setEnabled(true);
}
@Test
public void updateState_checked() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
ZenMode zenMode = new ZenMode("id",
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
.setType(AutomaticZenRule.TYPE_DRIVING)
@@ -128,12 +128,12 @@ public final class ZenModeNotifVisPreferenceControllerTest {
mController.updateZenMode(preference, zenMode);
verify(preference).setChecked(true);
- verify(preference).enableCheckbox(true);
+ verify(preference).setEnabled(true);
}
@Test
public void updateState_checkedFalse_parentChecked() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
mController = new ZenModeNotifVisPreferenceController(mContext,
"zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
@@ -152,7 +152,7 @@ public final class ZenModeNotifVisPreferenceControllerTest {
mController.updateZenMode(preference, zenMode);
verify(preference).setChecked(true);
- verify(preference).enableCheckbox(false);
+ verify(preference).setEnabled(false);
ArgumentCaptor captor = ArgumentCaptor.forClass(ZenMode.class);
verify(mBackend).updateMode(captor.capture());
assertThat(captor.getValue().getPolicy().getVisualEffectStatusBar())
@@ -163,7 +163,7 @@ public final class ZenModeNotifVisPreferenceControllerTest {
@Test
public void updateState_checkedFalse_parentNotChecked() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
mController = new ZenModeNotifVisPreferenceController(mContext,
"zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
@@ -181,13 +181,13 @@ public final class ZenModeNotifVisPreferenceControllerTest {
mController.updateZenMode(preference, zenMode);
verify(preference).setChecked(false);
- verify(preference).enableCheckbox(true);
+ verify(preference).setEnabled(true);
verify(mBackend, never()).updateMode(any());
}
@Test
public void onPreferenceChanged_checkedFalse() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
ZenMode zenMode = new ZenMode("id",
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
.setType(AutomaticZenRule.TYPE_DRIVING)
@@ -212,7 +212,7 @@ public final class ZenModeNotifVisPreferenceControllerTest {
@Test
public void onPreferenceChanged_checkedTrue() {
- DisabledCheckBoxPreference preference = mock(DisabledCheckBoxPreference.class);
+ TwoStatePreference preference = mock(TwoStatePreference.class);
ZenMode zenMode = new ZenMode("id",
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
.setType(AutomaticZenRule.TYPE_DRIVING)