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


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


    private CountDownLatch mEventCountdown;
    private CountDownLatch mEventCountdown;


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


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