diff --git a/api/current.txt b/api/current.txt index 97ccb01fa118e..2e33d01beed8b 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10482,8 +10482,11 @@ package android.content.pm { field public static final int GET_SIGNATURES = 64; // 0x40 field public static final deprecated int GET_UNINSTALLED_PACKAGES = 8192; // 0x2000 field public static final int GET_URI_PERMISSION_PATTERNS = 2048; // 0x800 + field public static final int INSTALL_REASON_DEVICE_RESTORE = 2; // 0x2 + field public static final int INSTALL_REASON_DEVICE_SETUP = 3; // 0x3 field public static final int INSTALL_REASON_POLICY = 1; // 0x1 field public static final int INSTALL_REASON_UNKNOWN = 0; // 0x0 + field public static final int INSTALL_REASON_USER = 4; // 0x4 field public static final int MATCH_ALL = 131072; // 0x20000 field public static final int MATCH_DEFAULT_ONLY = 65536; // 0x10000 field public static final int MATCH_DIRECT_BOOT_AWARE = 524288; // 0x80000 diff --git a/api/system-current.txt b/api/system-current.txt index ff313913c1f4d..7b9d05ba00018 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -11084,8 +11084,11 @@ package android.content.pm { field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99 field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a + field public static final int INSTALL_REASON_DEVICE_RESTORE = 2; // 0x2 + field public static final int INSTALL_REASON_DEVICE_SETUP = 3; // 0x3 field public static final int INSTALL_REASON_POLICY = 1; // 0x1 field public static final int INSTALL_REASON_UNKNOWN = 0; // 0x0 + field public static final int INSTALL_REASON_USER = 4; // 0x4 field public static final int INSTALL_SUCCEEDED = 1; // 0x1 field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2 field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4 diff --git a/api/test-current.txt b/api/test-current.txt index 778b3fb277df2..625c4b02835dd 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -10517,8 +10517,11 @@ package android.content.pm { field public static final int GET_SIGNATURES = 64; // 0x40 field public static final deprecated int GET_UNINSTALLED_PACKAGES = 8192; // 0x2000 field public static final int GET_URI_PERMISSION_PATTERNS = 2048; // 0x800 + field public static final int INSTALL_REASON_DEVICE_RESTORE = 2; // 0x2 + field public static final int INSTALL_REASON_DEVICE_SETUP = 3; // 0x3 field public static final int INSTALL_REASON_POLICY = 1; // 0x1 field public static final int INSTALL_REASON_UNKNOWN = 0; // 0x0 + field public static final int INSTALL_REASON_USER = 4; // 0x4 field public static final int MATCH_ALL = 131072; // 0x20000 field public static final int MATCH_DEFAULT_ONLY = 65536; // 0x10000 field public static final int MATCH_DIRECT_BOOT_AWARE = 524288; // 0x80000 diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 73dc9968d6dc5..b3b5bcfe79c0d 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -745,7 +745,8 @@ public abstract class PackageManager { public static final int DONT_KILL_APP = 0x00000001; /** @hide */ - @IntDef({INSTALL_REASON_UNKNOWN, INSTALL_REASON_POLICY}) + @IntDef({INSTALL_REASON_UNKNOWN, INSTALL_REASON_POLICY, INSTALL_REASON_DEVICE_RESTORE, + INSTALL_REASON_DEVICE_SETUP, INSTALL_REASON_USER}) @Retention(RetentionPolicy.SOURCE) public @interface InstallReason {} @@ -759,6 +760,21 @@ public abstract class PackageManager { */ public static final int INSTALL_REASON_POLICY = 1; + /** + * Code indicating that this package was installed as part of restoring from another device. + */ + public static final int INSTALL_REASON_DEVICE_RESTORE = 2; + + /** + * Code indicating that this package was installed as part of device setup. + */ + public static final int INSTALL_REASON_DEVICE_SETUP = 3; + + /** + * Code indicating that the package installation was initiated by the user. + */ + public static final int INSTALL_REASON_USER = 4; + /** * Installation return code: this is passed to the * {@link IPackageInstallObserver} on success. @@ -6126,6 +6142,9 @@ public abstract class PackageManager { * * @see #INSTALL_REASON_UNKNOWN * @see #INSTALL_REASON_POLICY + * @see #INSTALL_REASON_DEVICE_RESTORE + * @see #INSTALL_REASON_DEVICE_SETUP + * @see #INSTALL_REASON_USER * * @hide */