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

Commit f9f0f791 authored by Tony Huang's avatar Tony Huang
Browse files

Fix some one handed tests failed

IOverlayManager might be null when tests, change ctor to use mock
one to fix failed tests.

Bug: 167943723
Test: atest WMShellUnitTests
Change-Id: I122d95b258e8fab8993e72aba597b184f126a9e1
parent 48e000d7
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -172,8 +172,10 @@ public class OneHandedController implements OneHanded {
                context, displayController);
        OneHandedDisplayAreaOrganizer organizer = new OneHandedDisplayAreaOrganizer(
                context, displayController, animationController, tutorialHandler);
        IOverlayManager overlayManager = IOverlayManager.Stub.asInterface(
                ServiceManager.getService(Context.OVERLAY_SERVICE));
        return new OneHandedController(context, displayController, organizer, touchHandler,
                tutorialHandler, gestureHandler);
                tutorialHandler, gestureHandler, overlayManager);
    }

    @VisibleForTesting
@@ -182,7 +184,8 @@ public class OneHandedController implements OneHanded {
            OneHandedDisplayAreaOrganizer displayAreaOrganizer,
            OneHandedTouchHandler touchHandler,
            OneHandedTutorialHandler tutorialHandler,
            OneHandedGestureHandler gestureHandler) {
            OneHandedGestureHandler gestureHandler,
            IOverlayManager overlayManager) {
        mHasOneHandedFeature = SystemProperties.getBoolean(SUPPORT_ONE_HANDED_MODE, false);
        if (!mHasOneHandedFeature) {
            Log.i(TAG, "Device config SUPPORT_ONE_HANDED_MODE off");
@@ -201,9 +204,8 @@ public class OneHandedController implements OneHanded {
            mTouchHandler = touchHandler;
            mTutorialHandler = tutorialHandler;
            mGestureHandler = gestureHandler;
            mOverlayManager = overlayManager;

            mOverlayManager = IOverlayManager.Stub.asInterface(
                    ServiceManager.getService(Context.OVERLAY_SERVICE));
            mOffSetFraction = SystemProperties.getInt(ONE_HANDED_MODE_OFFSET_PERCENTAGE, 50)
                    / 100.0f;
            mIsOneHandedEnabled = OneHandedSettingsUtil.getSettingsOneHandedModeEnabled(
+5 −2
Original line number Diff line number Diff line
@@ -18,13 +18,13 @@ package com.android.wm.shell.onehanded;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.om.IOverlayManager;
import android.provider.Settings;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
@@ -62,6 +62,8 @@ public class OneHandedControllerTest extends OneHandedTestCase {
    OneHandedGestureHandler mMockGestureHandler;
    @Mock
    OneHandedTimeoutHandler mMockTimeoutHandler;
    @Mock
    IOverlayManager mMockOverlayManager;

    @Before
    public void setUp() throws Exception {
@@ -73,7 +75,8 @@ public class OneHandedControllerTest extends OneHandedTestCase {
                mMockDisplayAreaOrganizer,
                mMockTouchHandler,
                mMockTutorialHandler,
                mMockGestureHandler);
                mMockGestureHandler,
                mMockOverlayManager);
        mOneHandedController = Mockito.spy(oneHandedController);
        mTimeoutHandler = Mockito.spy(OneHandedTimeoutHandler.get());

+6 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.wm.shell.onehanded;

import static org.mockito.Mockito.verify;

import android.content.om.IOverlayManager;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;

@@ -44,6 +45,8 @@ public class OneHandedTutorialHandlerTest extends OneHandedTestCase {
    DisplayController mMockDisplayController;
    @Mock
    OneHandedDisplayAreaOrganizer mMockDisplayAreaOrganizer;
    @Mock
    IOverlayManager mMockOverlayManager;

    @Before
    public void setUp() {
@@ -56,11 +59,12 @@ public class OneHandedTutorialHandlerTest extends OneHandedTestCase {
                mMockDisplayAreaOrganizer,
                mTouchHandler,
                mTutorialHandler,
                mGestureHandler);
                mGestureHandler,
                mMockOverlayManager);
    }

    @Test
    public void testOneHandedManager_registerForDisplayAreaOrganizer() {
    public void testRegisterForDisplayAreaOrganizer() {
        verify(mMockDisplayAreaOrganizer).registerTransitionCallback(mTutorialHandler);
    }
}