summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Brubaker <cbrubaker@google.com>2017-12-23 20:06:44 -0800
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-01-26 19:14:24 +0000
commitb6494a9ad6ac9d5d05713dca10ff282f11187d48 (patch)
tree712682380b879d19b99f3b90f6c866d4f56b90b2
parent3ddda877e1e1c77198201636e336e1b5ccbdc414 (diff)
downloadbase-b6494a9ad6ac9d5d05713dca10ff282f11187d48.tar.gz
Relax Instant Apps Settings whitelist enforcement
The strict whitelist of settings for Instant Apps is leading to too much unintended breakage, remove the enforcement until better infrastructure can be added to make sure settings that should be whitelisted are. Bug: 71009655 Test: Coming in a follow up (cherry picked from commit b6108d621002d4de708ae526e7c2bc95dabef080) Change-Id: Iaa1d71331407cee86c10105c1e5668ffd0c925a1 (cherry picked from commit 26ae1d359e02fe5871177c9adfc90ca571fd0f86)
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java21
1 files changed, 7 insertions, 14 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 7d7f9ae7f19e..04be92e73b38 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -1687,18 +1687,9 @@ public class SettingsProvider extends ContentProvider {
}
private List<String> getSettingsNamesLocked(int settingsType, int userId) {
- boolean instantApp;
- if (UserHandle.getAppId(Binder.getCallingUid()) < Process.FIRST_APPLICATION_UID) {
- instantApp = false;
- } else {
- ApplicationInfo ai = getCallingApplicationInfoOrThrow();
- instantApp = ai.isInstantApp();
- }
- if (instantApp) {
- return new ArrayList<String>(getInstantAppAccessibleSettings(settingsType));
- } else {
- return mSettingsRegistry.getSettingsNamesLocked(settingsType, userId);
- }
+ // Don't enforce the instant app whitelist for now -- its too prone to unintended breakage
+ // in the current form.
+ return mSettingsRegistry.getSettingsNamesLocked(settingsType, userId);
}
private void enforceSettingReadable(String settingName, int settingsType, int userId) {
@@ -1711,8 +1702,10 @@ public class SettingsProvider extends ContentProvider {
}
if (!getInstantAppAccessibleSettings(settingsType).contains(settingName)
&& !getOverlayInstantAppAccessibleSettings(settingsType).contains(settingName)) {
- throw new SecurityException("Setting " + settingName + " is not accessible from"
- + " ephemeral package " + getCallingPackage());
+ // Don't enforce the instant app whitelist for now -- its too prone to unintended
+ // breakage in the current form.
+ Slog.w(LOG_TAG, "Instant App " + ai.packageName
+ + " trying to access unexposed setting, this will be an error in the future.");
}
}