From 00b7871466257f7435237be49f4e2cfc5bd667a4 Mon Sep 17 00:00:00 2001 From: Ge Tianxiong Date: Thu, 8 Sep 2022 17:26:14 +0800 Subject: Fix exception caused by system app setting wallpaper It will cause NullPointerException if the system app set the wallpaper before the third-party app set the wallpaper. Change-Id: I7e68cf3f89b690c7b114fa087d1fd1203d8eb4d6 --- .../java/com/android/server/wallpaper/WallpaperManagerService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index f25929c36060..d0b058b4c8f2 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -2713,6 +2713,13 @@ public class WallpaperManagerService extends IWallpaperManager.Stub checkPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT); synchronized (mLock) { WallpaperData data = mWallpaperMap.get(mCurrentUserId); + if (data == null) { + data = mWallpaperMap.get(UserHandle.USER_SYSTEM); + if (data == null) { + Slog.e(TAG, "getWallpaperDimAmount: wallpaperData is null"); + return 0.0f; + } + } return data.mWallpaperDimAmount; } } -- cgit v1.2.3-59-g8ed1b