summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andrew Sapperstein <asapperstein@google.com> 2019-06-28 10:28:00 -0700
committer android-build-merger <android-build-merger@google.com> 2019-06-28 10:28:00 -0700
commitf08f33b97b6f48077501adf91e3cda244c3c6126 (patch)
treeb66108946c65bc5952b557f1363fcf0953f66b7e
parentfd36670bd05722e691f20ac07e7edaac94332d79 (diff)
parent9dd0c5628b2103427cef66b4059dcb3ab3f90766 (diff)
Merge "Allow granting URI permissions to com.android.settings.module_licenses." into qt-dev
am: 9dd0c5628b Change-Id: Ia58094614151af83aadd36bb04e0389050dd05be
-rw-r--r--core/java/android/content/pm/PackageParser.java1
-rw-r--r--services/core/java/com/android/server/uri/UriGrantsManagerService.java4
2 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 43f3fbcf63f5..d5d835fd5739 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -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 {
diff --git a/services/core/java/com/android/server/uri/UriGrantsManagerService.java b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
index 8b332d271a3a..55f062bca2d1 100644
--- a/services/core/java/com/android/server/uri/UriGrantsManagerService.java
+++ b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
@@ -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");