Revert^2 "Update the summary of AoD when Bedtime mode is on"
Since Bedtime mode can suppress AoD, after reviewed by UX, we decide update the summary to "Unavailable because Bedtime mode is on" when AoD is suppressed by Bedtime mode. Bug: 168790245 Test: manual & robotest Change-Id: I96b401bcba213598344c4c4f01b12c275304b809 Merged-In: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
This commit is contained in:
@@ -19,13 +19,20 @@ package com.android.settings.display;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.hardware.display.AmbientDisplayConfiguration;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.settings.testutils.shadow.ShadowSecureSettings;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -41,24 +48,41 @@ import org.robolectric.annotation.Config;
|
||||
@Config(shadows = ShadowSecureSettings.class)
|
||||
public class AmbientDisplayAlwaysOnPreferenceControllerTest {
|
||||
|
||||
private static final String TEST_PACKAGE = "com.android.test";
|
||||
|
||||
@Mock
|
||||
private AmbientDisplayConfiguration mConfig;
|
||||
@Mock
|
||||
private PackageManager mPackageManager;
|
||||
@Mock
|
||||
private PowerManager mPowerManager;
|
||||
@Mock
|
||||
private ApplicationInfo mApplicationInfo;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private ContentResolver mContentResolver;
|
||||
|
||||
private AmbientDisplayAlwaysOnPreferenceController mController;
|
||||
private boolean mCallbackInvoked;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
mController = new AmbientDisplayAlwaysOnPreferenceController(mContext, "key");
|
||||
mController.setConfig(mConfig);
|
||||
mController.setCallback(() -> mCallbackInvoked = true);
|
||||
|
||||
mApplicationInfo.uid = 1;
|
||||
when(mContext.getString(R.string.config_defaultWellbeingPackage)).thenReturn(TEST_PACKAGE);
|
||||
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(
|
||||
TEST_PACKAGE, /* flag= */0);
|
||||
|
||||
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
|
||||
when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
|
||||
.thenReturn(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -107,13 +131,6 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
|
||||
.isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onPreferenceChange_callback() {
|
||||
assertThat(mCallbackInvoked).isFalse();
|
||||
mController.setChecked(true);
|
||||
assertThat(mCallbackInvoked).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSliceableCorrectKey_returnsTrue() {
|
||||
final AmbientDisplayAlwaysOnPreferenceController controller =
|
||||
@@ -133,4 +150,39 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
|
||||
public void isPublicSlice_returnTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAodSuppressedByBedtime_bedTimeModeOn_returnTrue() {
|
||||
when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
|
||||
.thenReturn(true);
|
||||
|
||||
assertThat(AmbientDisplayAlwaysOnPreferenceController
|
||||
.isAodSuppressedByBedtime(mContext)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAodSuppressedByBedtime_bedTimeModeOff_returnFalse() {
|
||||
assertThat(AmbientDisplayAlwaysOnPreferenceController
|
||||
.isAodSuppressedByBedtime(mContext)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAodSuppressedByBedtime_notFoundWellbeingPackage_returnFalse()
|
||||
throws PackageManager.NameNotFoundException {
|
||||
when(mPackageManager.getApplicationInfo(TEST_PACKAGE, /* flag= */0)).thenThrow(
|
||||
new PackageManager.NameNotFoundException());
|
||||
|
||||
assertThat(AmbientDisplayAlwaysOnPreferenceController
|
||||
.isAodSuppressedByBedtime(mContext)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_bedTimeModeOn_shouldReturnUnavailableSummary() {
|
||||
when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
|
||||
.thenReturn(true);
|
||||
|
||||
final CharSequence summary = mController.getSummary();
|
||||
assertThat(summary).isEqualTo(mContext.getString(
|
||||
com.android.settings.R.string.aware_summary_when_bedtime_on));
|
||||
}
|
||||
}
|
||||
|
@@ -88,7 +88,6 @@ public class LockscreenDashboardFragmentTest {
|
||||
|
||||
mTestFragment.onAttach(mContext);
|
||||
verify(controller).setConfig(any());
|
||||
verify(controller).setCallback(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user