diff options
| author | Jonathan Scott <scottjonathan@google.com> | 2019-12-17 15:22:51 +0000 |
|---|---|---|
| committer | Jonathan Scott <scottjonathan@google.com> | 2020-01-02 14:11:09 +0000 |
| commit | ec60b2604bfd5fae82cddce15eeea6a4a34b29a2 (patch) | |
| tree | e760273df4f7eb182fa6ce8ebde0c040a559a77b /core/java | |
| parent | 2753e74828bc6e9534c9a6ec368911e80249f7ed (diff) | |
Add manifest attribute to signal the intent of an app to operate
cross-profile.
Test: Manual
Fixes: 146128107
Change-Id: I576113d05f594b79656c0ed1ebf6c4fe770bcd1e
Diffstat (limited to 'core/java')
4 files changed, 21 insertions, 0 deletions
diff --git a/core/java/android/content/pm/parsing/AndroidPackage.java b/core/java/android/content/pm/parsing/AndroidPackage.java index 515185eaaf57..e77025d84e48 100644 --- a/core/java/android/content/pm/parsing/AndroidPackage.java +++ b/core/java/android/content/pm/parsing/AndroidPackage.java @@ -398,6 +398,8 @@ public interface AndroidPackage extends Parcelable { boolean isEnabled(); + boolean isCrossProfile(); + boolean isEncryptionAware(); boolean isExternal(); diff --git a/core/java/android/content/pm/parsing/ApkParseUtils.java b/core/java/android/content/pm/parsing/ApkParseUtils.java index edbf73a0c0da..24ff8913f427 100644 --- a/core/java/android/content/pm/parsing/ApkParseUtils.java +++ b/core/java/android/content/pm/parsing/ApkParseUtils.java @@ -2053,6 +2053,9 @@ public class ApkParseUtils { sa.getBoolean(R.styleable.AndroidManifestApplication_enabled, true)); + parsingPackage.setCrossProfile( + sa.getBoolean(R.styleable.AndroidManifestApplication_crossProfile, false)); + parsingPackage.setIsGame(sa.getBoolean( R.styleable.AndroidManifestApplication_isGame, false)); diff --git a/core/java/android/content/pm/parsing/PackageImpl.java b/core/java/android/content/pm/parsing/PackageImpl.java index 377279e750c6..df1457120e54 100644 --- a/core/java/android/content/pm/parsing/PackageImpl.java +++ b/core/java/android/content/pm/parsing/PackageImpl.java @@ -235,6 +235,7 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android private int descriptionRes; private String deviceProtectedDataDir; private boolean enabled; + private boolean crossProfile; private int flags; private int fullBackupContent; private boolean hiddenUntilInstalled; @@ -1624,6 +1625,12 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android } @Override + public PackageImpl setCrossProfile(boolean crossProfile) { + this.crossProfile = crossProfile; + return this; + } + + @Override public PackageImpl setUiOptions(int uiOptions) { this.uiOptions = uiOptions; return this; @@ -2818,6 +2825,11 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android } @Override + public boolean isCrossProfile() { + return crossProfile; + } + + @Override public String getManageSpaceActivityName() { return manageSpaceActivityName; } @@ -3024,6 +3036,7 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android dest.writeInt(this.descriptionRes); dest.writeString(this.deviceProtectedDataDir); dest.writeBoolean(this.enabled); + dest.writeBoolean(this.crossProfile); dest.writeInt(this.flags); dest.writeInt(this.fullBackupContent); dest.writeBoolean(this.hiddenUntilInstalled); @@ -3174,6 +3187,7 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android this.descriptionRes = in.readInt(); this.deviceProtectedDataDir = in.readString(); this.enabled = in.readBoolean(); + this.crossProfile = in.readBoolean(); this.flags = in.readInt(); this.fullBackupContent = in.readInt(); this.hiddenUntilInstalled = in.readBoolean(); diff --git a/core/java/android/content/pm/parsing/ParsingPackage.java b/core/java/android/content/pm/parsing/ParsingPackage.java index 43c1f6e335b0..ad07acdec260 100644 --- a/core/java/android/content/pm/parsing/ParsingPackage.java +++ b/core/java/android/content/pm/parsing/ParsingPackage.java @@ -227,6 +227,8 @@ public interface ParsingPackage extends AndroidPackage { ParsingPackage setEnabled(boolean enabled); + ParsingPackage setCrossProfile(boolean crossProfile); + ParsingPackage setFullBackupContent(int fullBackupContent); ParsingPackage setHasDomainUrls(boolean hasDomainUrls); |
