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

Commit c5c158ab authored by Matías Hernández's avatar Matías Hernández
Browse files

Use the prebuilt manual DND mode from TestModeBuilder in tests

Instead of unnecessarily creating them by hand. This also allows restricting the visibility of the ZenMode constructors (which should only be instantiated by ZenModesBackend in production code).

Bug: 360817586
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: Id5a232a5a0ffc7bc09652fc4b6e6dd2a6383a2ae
parent 6b25f15f
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -18,11 +18,9 @@ package com.android.settings.notification.modes;

import static com.google.common.truth.Truth.assertThat;

import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
@@ -31,7 +29,6 @@ import androidx.fragment.app.Fragment;
import androidx.preference.Preference;

import com.android.settingslib.notification.modes.TestModeBuilder;
import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.notification.modes.ZenModesBackend;

import org.junit.Before;
@@ -73,10 +70,8 @@ public class ManualDurationPreferenceControllerTest {
    @Test
    public void testIsAvailable_onlyForManualDnd() {
        assertThat(mPrefController.isAvailable(TestModeBuilder.EXAMPLE)).isFalse();

        ZenMode manualDnd = ZenMode.manualDndMode(
                new AutomaticZenRule.Builder("id", Uri.EMPTY).build(), false);
        assertThat(mPrefController.isAvailable(manualDnd)).isTrue();
        assertThat(mPrefController.isAvailable(TestModeBuilder.MANUAL_DND_ACTIVE)).isTrue();
        assertThat(mPrefController.isAvailable(TestModeBuilder.MANUAL_DND_INACTIVE)).isTrue();
    }

    @Test
+2 −6
Original line number Diff line number Diff line
@@ -23,11 +23,9 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
@@ -192,8 +190,7 @@ public final class ZenModeButtonPreferenceControllerTest {
        Button button = new Button(mContext);
        LayoutPreference pref = mock(LayoutPreference.class);
        when(pref.findViewById(anyInt())).thenReturn(button);
        ZenMode zenMode = ZenMode.manualDndMode(
                new AutomaticZenRule.Builder("manual", Uri.EMPTY).build(), false);
        ZenMode zenMode = TestModeBuilder.MANUAL_DND_INACTIVE;

        mController.updateZenMode(pref, zenMode);
        button.callOnClick();
@@ -207,8 +204,7 @@ public final class ZenModeButtonPreferenceControllerTest {
        Button button = new Button(mContext);
        LayoutPreference pref = mock(LayoutPreference.class);
        when(pref.findViewById(anyInt())).thenReturn(button);
        ZenMode zenMode = ZenMode.manualDndMode(
                new AutomaticZenRule.Builder("manual", Uri.EMPTY).build(), false);
        ZenMode zenMode = TestModeBuilder.MANUAL_DND_INACTIVE;

        mController.updateZenMode(pref, zenMode);
        button.callOnClick();
+1 −8
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.settings.notification.modes;
import static android.app.AutomaticZenRule.TYPE_OTHER;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;

import static com.android.settings.notification.modes.CharSequenceTruth.assertThat;
@@ -28,7 +27,6 @@ import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.verify;

import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.net.Uri;
@@ -125,12 +123,7 @@ public class ZenModeTriggerAddPreferenceControllerTest {

    @Test
    public void isAvailable_manualDND_false() {
        ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
                Uri.parse("manual"))
                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
                .build(), /* isActive= */ false);

        mController.setZenMode(manualMode);
        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
        assertThat(mController.isAvailable()).isFalse();
    }

+1 −9
Original line number Diff line number Diff line
@@ -18,15 +18,12 @@ package com.android.settings.notification.modes;

import static android.app.AutomaticZenRule.TYPE_OTHER;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;

import static com.google.common.truth.Truth.assertThat;

import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.SystemZenRules;
@@ -116,12 +113,7 @@ public class ZenModeTriggerCategoryPreferenceControllerTest {

    @Test
    public void isAvailable_manualDND_false() {
        ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
                Uri.parse("manual"))
                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
                .build(), /* isActive= */ false);

        mController.setZenMode(manualMode);
        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
        assertThat(mController.isAvailable()).isFalse();
    }
}
+1 −9
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.settings.notification.modes;
import static android.app.AutomaticZenRule.TYPE_OTHER;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;

import static com.android.settings.notification.modes.CharSequenceTruth.assertThat;
@@ -35,13 +34,11 @@ import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;

import android.app.AlertDialog;
import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Looper;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -149,12 +146,7 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {

    @Test
    public void isAvailable_manualDND_false() {
        ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
                Uri.parse("manual"))
                .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
                .build(), /* isActive= */ false);

        mController.setZenMode(manualMode);
        mController.setZenMode(TestModeBuilder.MANUAL_DND_INACTIVE);
        assertThat(mController.isAvailable()).isFalse();
    }

Loading