diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-02-01 03:48:32 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-02-01 03:48:32 +0000 |
| commit | 8a72d5a9d53274333cccd50bb87ae9691a219c27 (patch) | |
| tree | 86efe3c1cd037ab2c478e60d25d63c4c067d2407 /core/java | |
| parent | 56a967e1156df88b06438047eb7235d7e0036aac (diff) | |
| parent | cd7695dda0576a954745a59d3feb579bcb644795 (diff) | |
Merge "Add a new "appPredictor" protection flag."
Diffstat (limited to 'core/java')
5 files changed, 38 insertions, 0 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index a93742273306..98032dc3d297 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -3017,6 +3017,15 @@ public class ApplicationPackageManager extends PackageManager { } @Override + public String getAppPredictionServicePackageName() { + try { + return mPM.getAppPredictionServicePackageName(); + } catch (RemoteException e) { + throw e.rethrowAsRuntimeException(); + } + } + + @Override public String getContentCaptureServicePackageName() { try { return mPM.getContentCaptureServicePackageName(); diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index a6a6f013839a..36ffb0ea94d0 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -686,6 +686,8 @@ interface IPackageManager { String getWellbeingPackageName(); + String getAppPredictionServicePackageName(); + String getContentCaptureServicePackageName(); String getIncidentReportApproverPackageName(); diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 84f87ff2fa40..e2907e219b1f 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -6725,6 +6725,16 @@ public abstract class PackageManager { } /** + * @return the system defined app predictor package name, or null if there's none. + * + * @hide + */ + public String getAppPredictionServicePackageName() { + throw new UnsupportedOperationException( + "getAppPredictionServicePackageName not implemented in subclass"); + } + + /** * @return the system defined content capture service package name, or null if there's none. * * @hide diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java index 738730ec3f51..4a2dbe76f9c3 100644 --- a/core/java/android/content/pm/PackageManagerInternal.java +++ b/core/java/android/content/pm/PackageManagerInternal.java @@ -57,6 +57,7 @@ public abstract class PackageManagerInternal { public static final int PACKAGE_DOCUMENTER = 8; public static final int PACKAGE_CONFIGURATOR = 9; public static final int PACKAGE_INCIDENT_REPORT_APPROVER = 10; + public static final int PACKAGE_APP_PREDICTOR = 11; @IntDef(value = { PACKAGE_SYSTEM, PACKAGE_SETUP_WIZARD, @@ -69,6 +70,7 @@ public abstract class PackageManagerInternal { PACKAGE_DOCUMENTER, PACKAGE_CONFIGURATOR, PACKAGE_INCIDENT_REPORT_APPROVER, + PACKAGE_APP_PREDICTOR, }) @Retention(RetentionPolicy.SOURCE) public @interface KnownPackage {} diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java index e7769849ccc3..fb63e0dad9b6 100644 --- a/core/java/android/content/pm/PermissionInfo.java +++ b/core/java/android/content/pm/PermissionInfo.java @@ -224,6 +224,17 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { @TestApi public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 0x100000; + /** + * Additional flag for {@link #protectionLevel}, corresponding + * to the <code>app_predictor</code> value of + * {@link android.R.attr#protectionLevel}. + * + * @hide + */ + @SystemApi + @TestApi + public static final int PROTECTION_FLAG_APP_PREDICTOR = 0x200000; + /** @hide */ @IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = { PROTECTION_FLAG_PRIVILEGED, @@ -244,6 +255,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { PROTECTION_FLAG_DOCUMENTER, PROTECTION_FLAG_CONFIGURATOR, PROTECTION_FLAG_INCIDENT_REPORT_APPROVER, + PROTECTION_FLAG_APP_PREDICTOR, }) @Retention(RetentionPolicy.SOURCE) public @interface ProtectionFlags {} @@ -445,6 +457,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { if ((level & PermissionInfo.PROTECTION_FLAG_INCIDENT_REPORT_APPROVER) != 0) { protLevel += "|incidentReportApprover"; } + if ((level & PermissionInfo.PROTECTION_FLAG_APP_PREDICTOR) != 0) { + protLevel += "|appPredictor"; + } return protLevel; } |
