diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java | 33 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/wallpapers/ImageWallpaperTest.java | 8 |
2 files changed, 16 insertions, 25 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java index ad97ef4a79bc..ef43702e97b8 100644 --- a/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java +++ b/packages/SystemUI/src/com/android/systemui/wallpapers/ImageWallpaper.java @@ -45,7 +45,6 @@ import androidx.annotation.NonNull; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.dagger.qualifiers.Background; -import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.wallpapers.canvas.WallpaperLocalColorExtractor; @@ -57,7 +56,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.Executor; import javax.inject.Inject; @@ -88,17 +86,12 @@ public class ImageWallpaper extends WallpaperService { private final DelayableExecutor mBackgroundExecutor; private static final int DELAY_UNLOAD_BITMAP = 2000; - @Main - private final Executor mMainExecutor; - @Inject public ImageWallpaper(FeatureFlags featureFlags, - @Background DelayableExecutor backgroundExecutor, - @Main Executor mainExecutor) { + @Background DelayableExecutor backgroundExecutor) { super(); mFeatureFlags = featureFlags; mBackgroundExecutor = backgroundExecutor; - mMainExecutor = mainExecutor; } @Override @@ -662,13 +655,9 @@ public class ImageWallpaper extends WallpaperService { loadWallpaperAndDrawFrameInternal(); } else { mBitmapUsages++; - - // drawing is done on the main thread - mMainExecutor.execute(() -> { - drawFrameOnCanvas(mBitmap); - reportEngineShown(false); - unloadBitmapIfNotUsed(); - }); + drawFrameOnCanvas(mBitmap); + reportEngineShown(false); + unloadBitmapIfNotUsedInternal(); } } @@ -706,11 +695,15 @@ public class ImageWallpaper extends WallpaperService { private void unloadBitmapIfNotUsedSynchronized() { synchronized (mLock) { - mBitmapUsages -= 1; - if (mBitmapUsages <= 0) { - mBitmapUsages = 0; - unloadBitmapInternal(); - } + unloadBitmapIfNotUsedInternal(); + } + } + + private void unloadBitmapIfNotUsedInternal() { + mBitmapUsages -= 1; + if (mBitmapUsages <= 0) { + mBitmapUsages = 0; + unloadBitmapInternal(); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/wallpapers/ImageWallpaperTest.java b/packages/SystemUI/tests/src/com/android/systemui/wallpapers/ImageWallpaperTest.java index 379bb28ae032..30dc0d20600f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/wallpapers/ImageWallpaperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/wallpapers/ImageWallpaperTest.java @@ -108,7 +108,6 @@ public class ImageWallpaperTest extends SysuiTestCase { private FeatureFlags mFeatureFlags; FakeSystemClock mFakeSystemClock = new FakeSystemClock(); - FakeExecutor mFakeMainExecutor = new FakeExecutor(mFakeSystemClock); FakeExecutor mFakeBackgroundExecutor = new FakeExecutor(mFakeSystemClock); private CountDownLatch mEventCountdown; @@ -163,7 +162,7 @@ public class ImageWallpaperTest extends SysuiTestCase { } private ImageWallpaper createImageWallpaper() { - return new ImageWallpaper(mFeatureFlags, mFakeBackgroundExecutor, mFakeMainExecutor) { + return new ImageWallpaper(mFeatureFlags, mFakeBackgroundExecutor) { @Override public Engine onCreateEngine() { return new GLEngine(mHandler) { @@ -242,7 +241,7 @@ public class ImageWallpaperTest extends SysuiTestCase { private ImageWallpaper createImageWallpaperCanvas() { - return new ImageWallpaper(mFeatureFlags, mFakeBackgroundExecutor, mFakeMainExecutor) { + return new ImageWallpaper(mFeatureFlags, mFakeBackgroundExecutor) { @Override public Engine onCreateEngine() { return new CanvasEngine() { @@ -315,11 +314,10 @@ public class ImageWallpaperTest extends SysuiTestCase { assertThat(mFakeBackgroundExecutor.numPending()).isAtLeast(1); int n = 0; - while (mFakeBackgroundExecutor.numPending() + mFakeMainExecutor.numPending() >= 1) { + while (mFakeBackgroundExecutor.numPending() >= 1) { n++; assertThat(n).isAtMost(10); mFakeBackgroundExecutor.runNextReady(); - mFakeMainExecutor.runNextReady(); mFakeSystemClock.advanceTime(1000); } |