From 801a6544275c0a87796d6aef86be9c18062c4838 Mon Sep 17 00:00:00 2001 From: Bill Lin Date: Thu, 18 Mar 2021 14:14:44 +0800 Subject: [PATCH] Do not access SettingProvider in test code New policy: b/175024829 Settings key: is not readable. From S+, new public settings keys need to be annotated with @Readable unless they are annotated with @hide. Recent changes : ag/13764747 Remove @Readable for hidden fields added in S Test: atest WMShellUnitTests Bug: 183064974 Change-Id: I185491189a3804d7038be3c117583ab571e7a961 --- .../onehanded/OneHandedControllerTest.java | 62 +++++++------------ .../onehanded/OneHandedSettingsUtilTest.java | 33 ---------- 2 files changed, 22 insertions(+), 73 deletions(-) diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedControllerTest.java index b21276f5401bd..39a6e5fe7b755 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedControllerTest.java @@ -16,11 +16,10 @@ package com.android.wm.shell.onehanded; -import static android.window.DisplayAreaOrganizer.FEATURE_ONE_HANDED; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.never; @@ -79,13 +78,8 @@ public class OneHandedControllerTest extends OneHandedTestCase { @Mock Handler mMockShellMainHandler; - final boolean mDefaultEnabled = OneHandedSettingsUtil.getSettingsOneHandedModeEnabled( - getTestContext().getContentResolver()); - final boolean mDefaultSwipeToNotificationEnabled = - OneHandedSettingsUtil.getSettingsSwipeToNotificationEnabled( - getTestContext().getContentResolver()); - final boolean mDefaultTapAppToExitEnabled = OneHandedSettingsUtil.getSettingsTapsAppToExit( - getTestContext().getContentResolver()); + final boolean mDefaultSwipeToNotificationEnabled = false; + final boolean mDefaultTapAppToExitEnabled = true; @Before public void setUp() { @@ -127,15 +121,6 @@ public class OneHandedControllerTest extends OneHandedTestCase { assertThat(displayAreaOrganizer.isInOneHanded()).isFalse(); } - @Test - public void testNoRegisterAndUnregisterInSameCall() { - if (mDefaultEnabled) { - verify(mMockDisplayAreaOrganizer, never()).unregisterOrganizer(); - } else { - verify(mMockDisplayAreaOrganizer, never()).registerOrganizer(FEATURE_ONE_HANDED); - } - } - @Test public void testStartOneHandedShouldTriggerScheduleOffset() { when(mMockDisplayAreaOrganizer.isInOneHanded()).thenReturn(false); @@ -190,35 +175,39 @@ public class OneHandedControllerTest extends OneHandedTestCase { public void testUpdateEnabled() { mSpiedOneHandedController.setOneHandedEnabled(true); - verify(mMockTouchHandler, atLeastOnce()).onOneHandedEnabled(mDefaultEnabled); - verify(mMockGestureHandler, atLeastOnce()).onOneHandedEnabled( - mDefaultEnabled || mDefaultSwipeToNotificationEnabled); + verify(mMockTouchHandler, atLeastOnce()).onOneHandedEnabled(anyBoolean()); + verify(mMockGestureHandler, atLeastOnce()).onOneHandedEnabled(anyBoolean()); } @Test public void testUpdateSwipeToNotification() { mSpiedOneHandedController.setSwipeToNotificationEnabled(mDefaultSwipeToNotificationEnabled); - verify(mMockTouchHandler, atLeastOnce()).onOneHandedEnabled(mDefaultEnabled); - verify(mMockGestureHandler, atLeastOnce()).onOneHandedEnabled( - mDefaultEnabled || mDefaultSwipeToNotificationEnabled); + verify(mMockTouchHandler, atLeastOnce()).onOneHandedEnabled(anyBoolean()); + verify(mMockGestureHandler, atLeastOnce()).onOneHandedEnabled(anyBoolean()); } @Test - public void testSettingsObserverUpdateTapAppToExit() { - mSpiedOneHandedController.onTaskChangeExitSettingChanged(); - if (mDefaultTapAppToExitEnabled) { - verify(mMockTaskStackListener, atLeastOnce()).addListener(any()); - } else { - verify(mMockTaskStackListener, atLeastOnce()).removeListener(any()); - } + public void testTapAppToExitEnabledAddListener() { + mSpiedOneHandedController.setTaskChangeToExit(mDefaultTapAppToExitEnabled); + + // If device settings default ON, then addListener() will be trigger 1 time at init + verify(mMockTaskStackListener, atLeastOnce()).addListener(any()); + } + + @Test + public void testTapAppToExitDisabledRemoveListener() { + mSpiedOneHandedController.setTaskChangeToExit(!mDefaultTapAppToExitEnabled); + + // If device settings default ON, then removeListener() will be trigger 1 time at init + verify(mMockTaskStackListener, atLeastOnce()).removeListener(any()); } @Test public void testSettingsObserverUpdateEnabled() { mSpiedOneHandedController.onEnabledSettingChanged(); - verify(mSpiedOneHandedController).setOneHandedEnabled(mDefaultEnabled); + verify(mSpiedOneHandedController).setOneHandedEnabled(anyBoolean()); } @Test @@ -232,14 +221,7 @@ public class OneHandedControllerTest extends OneHandedTestCase { public void testSettingsObserverUpdateSwipeToNotification() { mSpiedOneHandedController.onSwipeToNotificationEnabledSettingChanged(); - // Swipe to notification function is opposite with one handed mode function - if (mDefaultSwipeToNotificationEnabled) { - verify(mSpiedOneHandedController).setSwipeToNotificationEnabled( - mDefaultSwipeToNotificationEnabled); - } else { - verify(mSpiedOneHandedController, never()).setSwipeToNotificationEnabled( - mDefaultSwipeToNotificationEnabled); - } + verify(mSpiedOneHandedController).setSwipeToNotificationEnabled(anyBoolean()); } @Test diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedSettingsUtilTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedSettingsUtilTest.java index 61643d86c8d9d..48e7179da9271 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedSettingsUtilTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedSettingsUtilTest.java @@ -16,11 +16,6 @@ package com.android.wm.shell.onehanded; -import static com.android.wm.shell.onehanded.OneHandedSettingsUtil.ONE_HANDED_TIMEOUT_LONG_IN_SECONDS; -import static com.android.wm.shell.onehanded.OneHandedSettingsUtil.ONE_HANDED_TIMEOUT_MEDIUM_IN_SECONDS; -import static com.android.wm.shell.onehanded.OneHandedSettingsUtil.ONE_HANDED_TIMEOUT_NEVER; -import static com.android.wm.shell.onehanded.OneHandedSettingsUtil.ONE_HANDED_TIMEOUT_SHORT_IN_SECONDS; - import static com.google.common.truth.Truth.assertThat; import android.content.ContentResolver; @@ -78,32 +73,4 @@ public class OneHandedSettingsUtilTest extends OneHandedTestCase { assertThat(mOnChanged).isFalse(); } - - @Test - public void testGetSettingsIsOneHandedModeEnabled() { - assertThat(OneHandedSettingsUtil.getSettingsOneHandedModeEnabled( - mContentResolver)).isAnyOf(true, false); - } - - @Test - public void testGetSettingsTapsAppToExit() { - assertThat(OneHandedSettingsUtil.getSettingsTapsAppToExit( - mContentResolver)).isAnyOf(true, false); - } - - @Test - public void testGetSettingsOneHandedModeTimeout() { - assertThat(OneHandedSettingsUtil.getSettingsOneHandedModeTimeout( - mContentResolver)).isAnyOf( - ONE_HANDED_TIMEOUT_NEVER, - ONE_HANDED_TIMEOUT_SHORT_IN_SECONDS, - ONE_HANDED_TIMEOUT_MEDIUM_IN_SECONDS, - ONE_HANDED_TIMEOUT_LONG_IN_SECONDS); - } - - @Test - public void testGetSettingsSwipeToNotificationEnabled() { - assertThat(OneHandedSettingsUtil.getSettingsSwipeToNotificationEnabled( - mContentResolver)).isAnyOf(true, false); - } }