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

Commit fcf65435 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Don't use main handler in ImageWallpaperTest" into rvc-dev am: 6d2586f0

Change-Id: Id6990984db2045213fd9a877190b37de59a46765
parents a6baa496 6d2586f0
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@ import android.app.ActivityManager;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.SystemClock;
import android.os.Trace;
import android.service.wallpaper.WallpaperService;
import android.util.Log;
@@ -94,18 +96,28 @@ public class ImageWallpaper extends WallpaperService {
        private EglHelper mEglHelper;
        private StatusBarStateController mController;
        private final Runnable mFinishRenderingTask = this::finishRendering;
        private final boolean mNeedTransition;
        private boolean mShouldStopTransition;
        @VisibleForTesting
        final boolean mIsHighEndGfx;
        private final boolean mDisplayNeedsBlanking;
        private final DisplayInfo mDisplayInfo = new DisplayInfo();
        private final Object mMonitor = new Object();
        @VisibleForTesting
        boolean mIsHighEndGfx;
        private boolean mDisplayNeedsBlanking;
        private boolean mNeedTransition;
        private boolean mNeedRedraw;
        // This variable can only be accessed in synchronized block.
        private boolean mWaitingForRendering;

        GLEngine(Context context, DozeParameters dozeParameters) {
            init(dozeParameters);
        }

        @VisibleForTesting
        GLEngine(DozeParameters dozeParameters, Handler handler) {
            super(SystemClock::elapsedRealtime, handler);
            init(dozeParameters);
        }

        private void init(DozeParameters dozeParameters) {
            mIsHighEndGfx = ActivityManager.isHighEndGfx();
            mDisplayNeedsBlanking = dozeParameters.getDisplayNeedsBlanking();
            mNeedTransition = mIsHighEndGfx && !mDisplayNeedsBlanking;
+5 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.graphics.Bitmap;
import android.graphics.ColorSpace;
import android.graphics.Rect;
import android.hardware.display.DisplayManagerGlobal;
import android.os.Handler;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
@@ -72,6 +73,8 @@ public class ImageWallpaperTest extends SysuiTestCase {
    private Bitmap mWallpaperBitmap;
    @Mock
    private DozeParameters mDozeParam;
    @Mock
    private Handler mHandler;

    private CountDownLatch mEventCountdown;

@@ -104,7 +107,7 @@ public class ImageWallpaperTest extends SysuiTestCase {
        return new ImageWallpaper(mDozeParam) {
            @Override
            public Engine onCreateEngine() {
                return new GLEngine(mMockContext, mDozeParam) {
                return new GLEngine(mDozeParam, mHandler) {
                    @Override
                    public Context getDisplayContext() {
                        return mMockContext;
@@ -196,5 +199,6 @@ public class ImageWallpaperTest extends SysuiTestCase {
        when(mSurfaceHolder.getSurfaceFrame()).thenReturn(frame);

        assertThat(engineSpy.checkIfShouldStopTransition()).isEqualTo(assertion);
        // destroy
    }
}