summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aurélien Pomini <pomini@google.com> 2023-07-25 10:34:33 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-07-25 10:34:33 +0000
commite3d66c385790ebf16916dbc0edc9f5829b1ad4b4 (patch)
tree91275ca55093871afe50bd9732d395f5e8eaad92
parent4b8e8ea3a592f7f66a38e8f7fa885958700187db (diff)
parent96e2ff400264f2d9716b4caea0eb072b07921249 (diff)
Merge "Release lock before color extraction on dim changes" into udc-qpr-dev
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index ee7dc5007d97..309a9c0e0372 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -2895,6 +2895,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
checkPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT);
final long ident = Binder.clearCallingIdentity();
try {
+ List<WallpaperData> pendingColorExtraction = new ArrayList<>();
synchronized (mLock) {
WallpaperData wallpaper = mWallpaperMap.get(mCurrentUserId);
WallpaperData lockWallpaper = mLockWallpaperMap.get(mCurrentUserId);
@@ -2930,7 +2931,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
// Need to extract colors again to re-calculate dark hints after
// applying dimming.
wp.mIsColorExtractedFromDim = true;
- notifyWallpaperColorsChanged(wp, wp.mWhich);
+ pendingColorExtraction.add(wp);
changed = true;
}
}
@@ -2962,6 +2963,9 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
}
}
}
+ for (WallpaperData wp: pendingColorExtraction) {
+ notifyWallpaperColorsChanged(wp, wp.mWhich);
+ }
} finally {
Binder.restoreCallingIdentity(ident);
}