summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorJonathan Scott <scottjonathan@google.com>2019-12-17 15:22:51 +0000
committerJonathan Scott <scottjonathan@google.com>2020-01-02 14:11:09 +0000
commitec60b2604bfd5fae82cddce15eeea6a4a34b29a2 (patch)
treee760273df4f7eb182fa6ce8ebde0c040a559a77b /core/java
parent2753e74828bc6e9534c9a6ec368911e80249f7ed (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')
-rw-r--r--core/java/android/content/pm/parsing/AndroidPackage.java2
-rw-r--r--core/java/android/content/pm/parsing/ApkParseUtils.java3
-rw-r--r--core/java/android/content/pm/parsing/PackageImpl.java14
-rw-r--r--core/java/android/content/pm/parsing/ParsingPackage.java2
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);