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

Commit 6d2586f0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't use main handler in ImageWallpaperTest" into rvc-dev

parents 7afd9b9a f8f2f16f
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
    }
}