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

Commit 3f208db1 authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Update check boxes to switches" into main

parents 5b754d04 2af266f4
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)