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

Change-Id: Id6990984db2045213fd9a877190b37de59a46765
This commit is contained in:
Automerger Merge Worker
2020-02-26 19:58:04 +00:00
2 changed files with 21 additions and 5 deletions

View File

@@ -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;

View File

@@ -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
}
}