DO NOT MERGE: Don't do heavy operation while in the synchronized block am: 52d63e7e4c am: 5ddedce5e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17701597 Change-Id: Ic77cc0a751f76fc4252cc06bafdf8168a4846a5e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -67,7 +67,6 @@ import android.os.ParcelFileDescriptor;
|
||||
import android.os.RemoteException;
|
||||
import android.os.StrictMode;
|
||||
import android.os.SystemProperties;
|
||||
import android.service.wallpaper.WallpaperService;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.ArraySet;
|
||||
@@ -559,23 +558,26 @@ public class WallpaperManager {
|
||||
}
|
||||
mCachedWallpaper = null;
|
||||
mCachedWallpaperUserId = 0;
|
||||
try {
|
||||
mCachedWallpaper = getCurrentWallpaperLocked(
|
||||
context, userId, hardware, cmProxy);
|
||||
mCachedWallpaperUserId = userId;
|
||||
} catch (OutOfMemoryError e) {
|
||||
Log.w(TAG, "Out of memory loading the current wallpaper: " + e);
|
||||
} catch (SecurityException e) {
|
||||
if (context.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.O_MR1) {
|
||||
Log.w(TAG, "No permission to access wallpaper, suppressing"
|
||||
+ " exception to avoid crashing legacy app.");
|
||||
} else {
|
||||
// Post-O apps really most sincerely need the permission.
|
||||
throw e;
|
||||
}
|
||||
try {
|
||||
Bitmap currentWallpaper = getCurrentWallpaperLocked(
|
||||
context, userId, hardware, cmProxy);
|
||||
if (currentWallpaper != null) {
|
||||
synchronized (this) {
|
||||
mCachedWallpaper = currentWallpaper;
|
||||
mCachedWallpaperUserId = userId;
|
||||
return mCachedWallpaper;
|
||||
}
|
||||
}
|
||||
if (mCachedWallpaper != null) {
|
||||
return mCachedWallpaper;
|
||||
} catch (OutOfMemoryError e) {
|
||||
Log.w(TAG, "Out of memory loading the current wallpaper: " + e);
|
||||
} catch (SecurityException e) {
|
||||
if (context.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.O_MR1) {
|
||||
Log.w(TAG, "No permission to access wallpaper, suppressing"
|
||||
+ " exception to avoid crashing legacy app.");
|
||||
} else {
|
||||
// Post-O apps really most sincerely need the permission.
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
if (returnDefault) {
|
||||
@@ -2472,7 +2474,7 @@ public class WallpaperManager {
|
||||
*
|
||||
* @param colors Wallpaper color info, {@code null} when not available.
|
||||
* @param which A combination of {@link #FLAG_LOCK} and {@link #FLAG_SYSTEM}
|
||||
* @see WallpaperService.Engine#onComputeColors()
|
||||
* @see android.service.wallpaper.WallpaperService.Engine#onComputeColors()
|
||||
*/
|
||||
void onColorsChanged(@Nullable WallpaperColors colors, int which);
|
||||
|
||||
@@ -2484,7 +2486,7 @@ public class WallpaperManager {
|
||||
* @param colors Wallpaper color info, {@code null} when not available.
|
||||
* @param which A combination of {@link #FLAG_LOCK} and {@link #FLAG_SYSTEM}
|
||||
* @param userId Owner of the wallpaper
|
||||
* @see WallpaperService.Engine#onComputeColors()
|
||||
* @see android.service.wallpaper.WallpaperService.Engine#onComputeColors()
|
||||
* @hide
|
||||
*/
|
||||
default void onColorsChanged(@Nullable WallpaperColors colors, int which, int userId) {
|
||||
|
||||
Reference in New Issue
Block a user