Merge "Do not access SettingProvider in test code" into sc-dev

This commit is contained in:
Bill Lin
2021-03-18 07:17:14 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 73 deletions

View File

@@ -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

View File

@@ -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);
}
}