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

Commit af2827dd authored by Roy Chou's avatar Roy Chou
Browse files

fix(#Magnification): check window magnification supported for context before unit tests

In WindowMagnificationControllerTest, when setUp we add checking whether the window mode is supported. If it's not supported, we can just skip the test to prevent the tests from running on not supported devices.

Bug: 279820875
Test: atest WindowMagnificationControllerTest
      abtd on target cf_gwear_x86-userdebug
      presubmit
Change-Id: If76ba72c4353ac8d7f3ba98048075800054d9f75
parent bd8568ac
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.accessibility;

import static android.content.pm.PackageManager.FEATURE_WINDOW_MAGNIFICATION;
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static android.content.res.Configuration.ORIENTATION_UNDEFINED;
@@ -96,6 +97,7 @@ import com.android.systemui.utils.os.FakeHandler;
import com.google.common.util.concurrent.AtomicDouble;

import org.junit.After;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -147,8 +149,15 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
    private View.OnTouchListener mTouchListener;
    private MotionEventHelper mMotionEventHelper = new MotionEventHelper();

    /**
     *  return whether window magnification is supported for current test context.
     */
    private boolean isWindowModeSupported() {
        return getContext().getPackageManager().hasSystemFeature(FEATURE_WINDOW_MAGNIFICATION);
    }

    @Before
    public void setUp() throws RemoteException {
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
        mContext = Mockito.spy(getContext());
        mHandler = new FakeHandler(TestableLooper.get(this).getLooper());
@@ -202,6 +211,9 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
            return null;
        }).when(mSpyView).setOnTouchListener(
                any(View.OnTouchListener.class));

        // skip test if window magnification is not supported to prevent fail results. (b/279820875)
        Assume.assumeTrue(isWindowModeSupported());
    }

    @After