Merge "Hand out storage to more system apps." into mnc-dev

This commit is contained in:
Jeff Sharkey
2015-07-01 00:42:40 +00:00
committed by Android (Google) Code Review

View File

@@ -54,6 +54,7 @@ final class DefaultPermissionGrantPolicy {
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive"; private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
private static final String AUDIO_MIME_TYPE = "audio/mpeg";
private static final Set<String> PHONE_PERMISSIONS = new ArraySet<>(); private static final Set<String> PHONE_PERMISSIONS = new ArraySet<>();
static { static {
@@ -176,7 +177,7 @@ final class DefaultPermissionGrantPolicy {
} }
private void grantPermissionsToSysComponentsAndPrivApps(int userId) { private void grantPermissionsToSysComponentsAndPrivApps(int userId) {
Log.i(TAG, "Granting permissions to platform components for user" + userId); Log.i(TAG, "Granting permissions to platform components for user " + userId);
synchronized (mService.mPackages) { synchronized (mService.mPackages) {
for (PackageParser.Package pkg : mService.mPackages.values()) { for (PackageParser.Package pkg : mService.mPackages.values()) {
@@ -208,7 +209,7 @@ final class DefaultPermissionGrantPolicy {
} }
private void grantDefaultSystemHandlerPermissions(int userId) { private void grantDefaultSystemHandlerPermissions(int userId) {
Log.i(TAG, "Granting permissions to default platform handlers for user:" + userId); Log.i(TAG, "Granting permissions to default platform handlers for user " + userId);
final PackagesProvider imePackagesProvider; final PackagesProvider imePackagesProvider;
final PackagesProvider locationPackagesProvider; final PackagesProvider locationPackagesProvider;
@@ -322,6 +323,13 @@ final class DefaultPermissionGrantPolicy {
grantRuntimePermissionsLPw(downloadsUiPackage, STORAGE_PERMISSIONS, userId); grantRuntimePermissionsLPw(downloadsUiPackage, STORAGE_PERMISSIONS, userId);
} }
// Storage provider
PackageParser.Package storagePackage = getDefaultProviderAuthorityPackageLPr(
"com.android.externalstorage.documents", userId);
if (storagePackage != null) {
grantRuntimePermissionsLPw(storagePackage, STORAGE_PERMISSIONS, userId);
}
// SMS // SMS
if (smsAppPackageNames != null) { if (smsAppPackageNames != null) {
for (String smsPackageName : smsAppPackageNames) { for (String smsPackageName : smsAppPackageNames) {
@@ -478,6 +486,18 @@ final class DefaultPermissionGrantPolicy {
} }
} }
// Music
Intent musicIntent = new Intent(Intent.ACTION_VIEW);
musicIntent.addCategory(Intent.CATEGORY_DEFAULT);
musicIntent.setDataAndType(Uri.fromFile(new File("foo.mp3")),
AUDIO_MIME_TYPE);
PackageParser.Package musicPackage = getDefaultSystemHandlerActivityPackageLPr(
musicIntent, userId);
if (musicPackage != null
&& doesPackageSupportRuntimePermissions(musicPackage)) {
grantRuntimePermissionsLPw(musicPackage, STORAGE_PERMISSIONS, userId);
}
mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId); mService.mSettings.onDefaultRuntimePermissionsGrantedLPr(userId);
} }
} }