Merge "Don't use main handler in ImageWallpaperTest" into rvc-dev am: 6d2586f03f
Change-Id: Id544bf8f00bc77d226728d13b0ed98e4ba19d232
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user