Loading packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -72,6 +73,8 @@ public class ImageWallpaperTest extends SysuiTestCase { private Bitmap mWallpaperBitmap; @Mock private DozeParameters mDozeParam; @Mock private Handler mHandler; private CountDownLatch mEventCountdown; Loading Loading @@ -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; Loading Loading @@ -196,5 +199,6 @@ public class ImageWallpaperTest extends SysuiTestCase { when(mSurfaceHolder.getSurfaceFrame()).thenReturn(frame); assertThat(engineSpy.checkIfShouldStopTransition()).isEqualTo(assertion); // destroy } } Loading
packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading
packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -72,6 +73,8 @@ public class ImageWallpaperTest extends SysuiTestCase { private Bitmap mWallpaperBitmap; @Mock private DozeParameters mDozeParam; @Mock private Handler mHandler; private CountDownLatch mEventCountdown; Loading Loading @@ -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; Loading Loading @@ -196,5 +199,6 @@ public class ImageWallpaperTest extends SysuiTestCase { when(mSurfaceHolder.getSurfaceFrame()).thenReturn(frame); assertThat(engineSpy.checkIfShouldStopTransition()).isEqualTo(assertion); // destroy } }