diff options
| -rw-r--r-- | services/core/java/com/android/server/wallpaper/WallpaperManagerService.java | 6 |
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 7c2ba1eaaac1..79fe18b77585 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -229,10 +229,12 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { if (moved && lockWallpaperChanged) { // We just migrated sys -> lock to preserve imagery for an impending - // new system-only wallpaper. Tell keyguard about it but that's it. + // new system-only wallpaper. Tell keyguard about it and make sure it + // has the right SELinux label. if (DEBUG) { Slog.i(TAG, "Sys -> lock MOVED_TO"); } + SELinux.restorecon(changedFile); notifyLockWallpaperChanged(); return; } @@ -254,9 +256,11 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { if (moved) { // This is a restore, so generate the crop using any just-restored new // crop guidelines, making sure to preserve our local dimension hints. + // We also make sure to reapply the correct SELinux label. if (DEBUG) { Slog.v(TAG, "moved-to, therefore restore; reloading metadata"); } + SELinux.restorecon(changedFile); loadSettingsLocked(wallpaper.userId, true); } generateCrop(wallpaper); |