Loading services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +20 −13 Original line number Diff line number Diff line Loading @@ -487,6 +487,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { final SparseArray<WallpaperData> mWallpaperMap = new SparseArray<WallpaperData>(); final SparseArray<WallpaperData> mLockWallpaperMap = new SparseArray<WallpaperData>(); final SparseArray<Boolean> mUserRestorecon = new SparseArray<Boolean>(); int mCurrentUserId; static class WallpaperData { Loading Loading @@ -944,13 +945,18 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { void onUnlockUser(final int userId) { synchronized (mLock) { if (mCurrentUserId == userId && mWaitingForUnlock) { if (mCurrentUserId == userId) { if (mWaitingForUnlock) { // If we're switching users, now is when we transition the wallpaper switchUser(userId, null); } // Make sure that the SELinux labeling of all the relevant files is correct. // This corrects for mislabeling bugs that might have arisen from move-to // operations involving the wallpaper files. This isn't timing-critical, // so we do it in the background to avoid holding up the user unlock operation. if (mUserRestorecon.get(userId) != Boolean.TRUE) { mUserRestorecon.put(userId, Boolean.TRUE); Runnable relabeler = new Runnable() { @Override public void run() { Loading @@ -967,6 +973,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { } } } } void onRemoveUser(int userId) { if (userId < 1) return; Loading Loading
services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +20 −13 Original line number Diff line number Diff line Loading @@ -487,6 +487,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { final SparseArray<WallpaperData> mWallpaperMap = new SparseArray<WallpaperData>(); final SparseArray<WallpaperData> mLockWallpaperMap = new SparseArray<WallpaperData>(); final SparseArray<Boolean> mUserRestorecon = new SparseArray<Boolean>(); int mCurrentUserId; static class WallpaperData { Loading Loading @@ -944,13 +945,18 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { void onUnlockUser(final int userId) { synchronized (mLock) { if (mCurrentUserId == userId && mWaitingForUnlock) { if (mCurrentUserId == userId) { if (mWaitingForUnlock) { // If we're switching users, now is when we transition the wallpaper switchUser(userId, null); } // Make sure that the SELinux labeling of all the relevant files is correct. // This corrects for mislabeling bugs that might have arisen from move-to // operations involving the wallpaper files. This isn't timing-critical, // so we do it in the background to avoid holding up the user unlock operation. if (mUserRestorecon.get(userId) != Boolean.TRUE) { mUserRestorecon.put(userId, Boolean.TRUE); Runnable relabeler = new Runnable() { @Override public void run() { Loading @@ -967,6 +973,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { } } } } void onRemoveUser(int userId) { if (userId < 1) return; Loading