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

Commit 9ffc639a authored by Bill Lin's avatar Bill Lin Committed by Android (Google) Code Review
Browse files

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

parents 2b41d2ba 801a6544
Loading
Loading
Loading
Loading
+22 −40
Original line number Diff line number Diff line
@@ -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) {
    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());
        } else {
            verify(mMockTaskStackListener, atLeastOnce()).removeListener(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
+0 −33
Original line number Diff line number Diff line
@@ -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);
    }
}