Use CustomDialogPreferenceCompat for ZenDuration
Test: ZenModeDurationPreferenceControllerTest Bug: 112041657 Change-Id: I0158a703d26f73512c560889d6549d68230bf98e
This commit is contained in:
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.android.settings.notification;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
@@ -38,10 +38,6 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
public class ZenModeDurationPreferenceControllerTest {
|
||||
private ZenModeDurationPreferenceController mController;
|
||||
@@ -51,11 +47,7 @@ public class ZenModeDurationPreferenceControllerTest {
|
||||
@Mock
|
||||
private NotificationManager mNotificationManager;
|
||||
@Mock
|
||||
private Preference mockPref;
|
||||
@Mock
|
||||
private NotificationManager.Policy mPolicy;
|
||||
@Mock
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
private ContentResolver mContentResolver;
|
||||
private Context mContext;
|
||||
|
||||
@@ -67,34 +59,27 @@ public class ZenModeDurationPreferenceControllerTest {
|
||||
|
||||
mContext = shadowApplication.getApplicationContext();
|
||||
mContentResolver = RuntimeEnvironment.application.getContentResolver();
|
||||
mController = new ZenModeDurationPreferenceController(mContext, mock(Lifecycle.class),
|
||||
mock(FragmentManager.class));
|
||||
mController = new ZenModeDurationPreferenceController(mContext, mock(Lifecycle.class));
|
||||
when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
|
||||
ReflectionHelpers.setField(mController, "mBackend", mBackend);
|
||||
when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
|
||||
mockPref);
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_DurationForever() {
|
||||
Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
|
||||
Settings.Secure.ZEN_DURATION_FOREVER);
|
||||
final Preference mockPref = mock(Preference.class);
|
||||
mController.updateState(mockPref);
|
||||
|
||||
verify(mockPref).setSummary(mContext.getString(R.string.zen_mode_duration_summary_forever));
|
||||
assertEquals(mContext.getString(R.string.zen_mode_duration_summary_forever),
|
||||
mController.getSummary());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_DurationPrompt() {
|
||||
Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
|
||||
Settings.Secure.ZEN_DURATION_PROMPT);
|
||||
final Preference mockPref = mock(Preference.class);
|
||||
mController.updateState(mockPref);
|
||||
|
||||
verify(mockPref).setSummary(mContext.getString(
|
||||
R.string.zen_mode_duration_summary_always_prompt));
|
||||
assertEquals(mContext.getString(R.string.zen_mode_duration_summary_always_prompt),
|
||||
mController.getSummary());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -102,10 +87,8 @@ public class ZenModeDurationPreferenceControllerTest {
|
||||
int zenDuration = 45;
|
||||
Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
|
||||
zenDuration);
|
||||
final Preference mockPref = mock(Preference.class);
|
||||
mController.updateState(mockPref);
|
||||
|
||||
verify(mockPref).setSummary(mContext.getResources().getString(
|
||||
R.string.zen_mode_duration_summary_time_minutes, zenDuration));
|
||||
assertEquals(mContext.getString(R.string.zen_mode_duration_summary_time_minutes,
|
||||
zenDuration), mController.getSummary());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user