diff options
author | 2022-05-13 07:01:18 +0000 | |
---|---|---|
committer | 2022-05-13 07:01:18 +0000 | |
commit | eb0f10153f430d52d0e90f4b2845309c9c645f1c (patch) | |
tree | bc294dd2d9afdcdc7cf4981f4267e8754d6ee861 | |
parent | 65f8aea1759dc7a21c7f89af5319dd26bd350134 (diff) | |
parent | 41af1e31d34bedb111d951b039bce49814b77c58 (diff) |
Merge "Prevent duplicate calls to updateSurface() and recursive call to updateSurfaceDimming()." into tm-dev
-rw-r--r-- | core/java/android/service/wallpaper/WallpaperService.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 425dbb9cb204..d598017dacaa 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -888,7 +888,6 @@ public abstract class WallpaperService extends Service { if (mShouldDimByDefault != mShouldDim && mWallpaperDimAmount == 0f) { mShouldDim = mShouldDimByDefault; updateSurfaceDimming(); - updateSurface(false, false, true); } } @@ -898,13 +897,16 @@ public abstract class WallpaperService extends Service { * @param dimAmount Float amount between [0.0, 1.0] to dim the wallpaper. */ private void updateWallpaperDimming(float dimAmount) { + if (dimAmount == mWallpaperDimAmount) { + return; + } + // Custom dim amount cannot be less than the default dim amount. mWallpaperDimAmount = Math.max(mDefaultDimAmount, dimAmount); // If dim amount is 0f (additional dimming is removed), then the wallpaper should dim // based on its default wallpaper color hints. mShouldDim = dimAmount != 0f || mShouldDimByDefault; updateSurfaceDimming(); - updateSurface(false, false, true); } private void updateSurfaceDimming() { @@ -941,6 +943,7 @@ public abstract class WallpaperService extends Service { } else { Log.v(TAG, "Setting wallpaper dimming: " + 0); surfaceControlTransaction.setAlpha(mBbqSurfaceControl, 1.0f).apply(); + updateSurface(false, false, true); } mPreviousWallpaperDimAmount = mWallpaperDimAmount; @@ -1195,7 +1198,6 @@ public abstract class WallpaperService extends Service { .setParent(mSurfaceControl) .setCallsite("Wallpaper#relayout") .build(); - updateSurfaceDimming(); } // Propagate transform hint from WM, so we can use the right hint for the // first frame. @@ -1366,7 +1368,6 @@ public abstract class WallpaperService extends Service { mSession.finishDrawing(mWindow, null /* postDrawTransaction */, Integer.MAX_VALUE); processLocalColors(mPendingXOffset, mPendingXOffsetStep); - notifyColorsChanged(); } reposition(); reportEngineShown(shouldWaitForEngineShown()); |