From 8d9d0fecf26b16cc2ea50d3eee4fcd696ff8585f Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Wed, 13 Jul 2016 14:24:31 -0700 Subject: [PATCH] Give the default storage manager access to the storage permissions. Bug: 29793168 Change-Id: Iffeb2f7d86103a245b9bc36e637044633e81bef1 --- .../server/pm/DefaultPermissionGrantPolicy.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java index 098b39e50d929..c1219bf845623 100644 --- a/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java @@ -31,6 +31,7 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Build; import android.os.UserHandle; +import android.os.storage.StorageManager; import android.print.PrintManager; import android.provider.CalendarContract; import android.provider.ContactsContract; @@ -605,6 +606,15 @@ final class DefaultPermissionGrantPolicy { grantRuntimePermissionsLPw(nfcTagPkg, CONTACTS_PERMISSIONS, false, userId); grantRuntimePermissionsLPw(nfcTagPkg, PHONE_PERMISSIONS, false, userId); } + + // Storage Manager + Intent storageManagerIntent = new Intent(StorageManager.ACTION_MANAGE_STORAGE); + PackageParser.Package storageManagerPckg = getDefaultSystemHandlerActivityPackageLPr( + storageManagerIntent, userId); + if (storageManagerPckg != null + && doesPackageSupportRuntimePermissions(storageManagerPckg)) { + grantRuntimePermissionsLPw(storageManagerPckg, STORAGE_PERMISSIONS, true, userId); + } mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId); } }