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)