summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java6
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);