Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2af266f4 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Update check boxes to switches

To match the rest of the settings

Test: ZenModeNotifVisPreferenceControllerTest
Bug: 337087926
Flag: android.app.modes_ui
Change-Id: I193db8404a3b6c8bdacbbb9e19e3a7c1826d745f
parent 97b462db
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -24,15 +24,15 @@
       android:title="@string/zen_mode_block_effects_screen_off"
       android:key="zen_mode_block_screen_off">

       <com.android.settings.widget.DisabledCheckBoxPreference
       <SwitchPreferenceCompat
           android:key="zen_effect_intent"
           android:title="@string/zen_mode_block_effect_intent" />

       <com.android.settings.widget.DisabledCheckBoxPreference
       <SwitchPreferenceCompat
           android:key="zen_effect_light"
           android:title="@string/zen_mode_block_effect_light" />

       <com.android.settings.widget.DisabledCheckBoxPreference
       <SwitchPreferenceCompat
           android:key="zen_effect_ambient"
           android:title="@string/zen_mode_block_effect_ambient" />

@@ -40,19 +40,19 @@
    <PreferenceCategory
        android:title="@string/zen_mode_block_effects_screen_on"
        android:key="zen_mode_block_screen_on">
       <com.android.settings.widget.DisabledCheckBoxPreference
       <SwitchPreferenceCompat
           android:key="zen_effect_badge"
           android:title="@string/zen_mode_block_effect_badge" />

        <com.android.settings.widget.DisabledCheckBoxPreference
        <SwitchPreferenceCompat
            android:key="zen_effect_status"
            android:title="@string/zen_mode_block_effect_status" />

        <com.android.settings.widget.DisabledCheckBoxPreference
        <SwitchPreferenceCompat
            android:key="zen_effect_peek"
            android:title="@string/zen_mode_block_effect_peek" />

       <com.android.settings.widget.DisabledCheckBoxPreference
       <SwitchPreferenceCompat
           android:key="zen_effect_list"
           android:title="@string/zen_mode_block_effect_list" />
   </PreferenceCategory>
+5 −5
Original line number Diff line number Diff line
@@ -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);
        }
    }

+11 −11
Original line number Diff line number Diff line
@@ -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<ZenMode> 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)