Merge "Don't use main handler in ImageWallpaperTest" into rvc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 4473b01..dbcdead 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -20,7 +20,9 @@
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 @@
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;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
index 689eed9..678cfd2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
@@ -34,6 +34,7 @@
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 @@
private Bitmap mWallpaperBitmap;
@Mock
private DozeParameters mDozeParam;
+ @Mock
+ private Handler mHandler;
private CountDownLatch mEventCountdown;
@@ -104,7 +107,7 @@
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 @@
when(mSurfaceHolder.getSurfaceFrame()).thenReturn(frame);
assertThat(engineSpy.checkIfShouldStopTransition()).isEqualTo(assertion);
+ // destroy
}
}