diff options
| author | John Wu <topjohnwu@google.com> | 2021-08-19 16:05:34 -0700 |
|---|---|---|
| committer | John Wu <topjohnwu@google.com> | 2021-08-19 16:05:34 -0700 |
| commit | 5c65211ec0dd1c7c876603637bce8ca4314cfd07 (patch) | |
| tree | 73958e5ac2ec68b00edef7362c3058a357197a74 /core/java/android | |
| parent | bbca23fee6da75f6337a174ebfd430704a89d7df (diff) | |
Introduce the sharedUserMaxSdkVersion attribute
We need a mechanism to allow developers to opt-out of
shared UID without removing the android:sharedUserId
attribute to maintain compatibility with older Android
versions.
The developer can set the highest API level at which the
sharedUserId attribute will be recognized, analogous to
using maxSdkVersion in <uses-permission>.
Bug: 196261070
Test: build + flash + TH
Change-Id: I12d2bc0997d1291991b1289a7b0dda0d954f2bd2
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/content/pm/parsing/ParsingPackageUtils.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/content/pm/parsing/ParsingPackageUtils.java b/core/java/android/content/pm/parsing/ParsingPackageUtils.java index 809a544039f9..80befcdf02de 100644 --- a/core/java/android/content/pm/parsing/ParsingPackageUtils.java +++ b/core/java/android/content/pm/parsing/ParsingPackageUtils.java @@ -996,6 +996,11 @@ public class ParsingPackageUtils { private static ParseResult<ParsingPackage> parseSharedUser(ParseInput input, ParsingPackage pkg, TypedArray sa) { + int maxSdkVersion = anInteger(0, R.styleable.AndroidManifest_sharedUserMaxSdkVersion, sa); + if ((maxSdkVersion != 0) && maxSdkVersion < Build.VERSION.RESOURCES_SDK_INT) { + return input.success(pkg); + } + String str = nonConfigString(0, R.styleable.AndroidManifest_sharedUserId, sa); if (TextUtils.isEmpty(str)) { return input.success(pkg); |
