Merge "Allow granting URI permissions to com.android.settings.module_licenses." into qt-dev

am: 9dd0c5628b

Change-Id: Ia58094614151af83aadd36bb04e0389050dd05be
This commit is contained in:
Andrew Sapperstein
2019-06-28 10:28:00 -07:00
committed by android-build-merger
2 changed files with 4 additions and 1 deletions

View File

@@ -8397,6 +8397,7 @@ public class PackageParser {
PackageInfo pi = generatePackageInfo(p, EmptyArray.INT, flags, 0, 0,
Collections.emptySet(), state);
pi.applicationInfo.sourceDir = apexFile.getPath();
pi.applicationInfo.publicSourceDir = apexFile.getPath();
if (apexInfo.isFactory) {
pi.applicationInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
} else {

View File

@@ -1032,11 +1032,13 @@ public class UriGrantsManagerService extends IUriGrantsManager.Stub {
// must always grant permissions on behalf of someone explicit.
final int callingAppId = UserHandle.getAppId(callingUid);
if ((callingAppId == SYSTEM_UID) || (callingAppId == ROOT_UID)) {
if ("com.android.settings.files".equals(grantUri.uri.getAuthority())) {
if ("com.android.settings.files".equals(grantUri.uri.getAuthority())
|| "com.android.settings.module_licenses".equals(grantUri.uri.getAuthority())) {
// Exempted authority for
// 1. cropping user photos and sharing a generated license html
// file in Settings app
// 2. sharing a generated license html file in TvSettings app
// 3. Sharing module license files from Settings app
} else {
Slog.w(TAG, "For security reasons, the system cannot issue a Uri permission"
+ " grant to " + grantUri + "; use startActivityAsCaller() instead");