Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c58aae5 authored by Aurélien Pomini's avatar Aurélien Pomini
Browse files

Updates the dim for USER_SYSTEM if mCurrentUserId = null

If setWallpaperDimAmount is called during boot before
WallpaperManagerService#switchUser is called, it will produce a NPE
since the mCurrentUserId is still USER_NULL. Instead, update the dim for
USER_SYSTEM in that scenario.

Flag: NONE, the logic only changes in a case that would produce a NPE
otherwise.
Test: presubmit
Bug: 344545351

Change-Id: I3c8de053837e80fa6dc90f26b61e1f0f3af0eecf
parent ae648c05
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -2729,8 +2729,11 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
        try {
            List<WallpaperData> pendingColorExtraction = new ArrayList<>();
            synchronized (mLock) {
                WallpaperData wallpaper = mWallpaperMap.get(mCurrentUserId);
                WallpaperData lockWallpaper = mLockWallpaperMap.get(mCurrentUserId);
                // If called in boot before mCurrentUserId is set, sets the dim for USER_SYSTEM.
                int userId = mCurrentUserId != UserHandle.USER_NULL
                        ? mCurrentUserId : UserHandle.USER_SYSTEM;
                WallpaperData wallpaper = mWallpaperMap.get(userId);
                WallpaperData lockWallpaper = mLockWallpaperMap.get(userId);

                if (dimAmount == 0.0f) {
                    wallpaper.mUidToDimAmount.remove(uid);