summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aurélien Pomini <pomini@google.com> 2024-06-28 13:20:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-06-28 13:20:59 +0000
commit2ec01f8a39c8ea9a65ac9f5b4de04debe192e92e (patch)
tree7ef358cbb5549688541740ea08a172c8e5b6ac94
parenta26957231ef5cd42154b55a5188ec968980a2a85 (diff)
parent384071746eb57aa20b3f98b37ed5d0c703f34d42 (diff)
Merge "Revert "Replace legacy StorageManager check"" into main
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index b8469474aa18..8fc696556e29 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -17,7 +17,6 @@
package com.android.server.wallpaper;
import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL;
-import static android.Manifest.permission.MANAGE_EXTERNAL_STORAGE;
import static android.Manifest.permission.READ_WALLPAPER_INTERNAL;
import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
import static android.app.WallpaperManager.COMMAND_REAPPLY;
@@ -101,6 +100,7 @@ import android.os.ShellCallback;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserManager;
+import android.os.storage.StorageManager;
import android.service.wallpaper.IWallpaperConnection;
import android.service.wallpaper.IWallpaperEngine;
import android.service.wallpaper.IWallpaperService;
@@ -2210,7 +2210,10 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
IWallpaperManagerCallback cb, final int which, Bundle outParams, int wallpaperUserId,
boolean getCropped) {
final boolean hasPrivilege = hasPermission(READ_WALLPAPER_INTERNAL);
- if (!hasPrivilege) checkPermission(MANAGE_EXTERNAL_STORAGE);
+ if (!hasPrivilege) {
+ mContext.getSystemService(StorageManager.class).checkPermissionReadImages(true,
+ Binder.getCallingPid(), Binder.getCallingUid(), callingPkg, callingFeatureId);
+ }
wallpaperUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
Binder.getCallingUid(), wallpaperUserId, false, true, "getWallpaper", null);