summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rwxr-xr-xcore/java/android/provider/Settings.java10
-rw-r--r--core/java/com/android/internal/compat/OverrideAllowedState.java18
2 files changed, 17 insertions, 11 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 300bb7603722..1e14e3a4a701 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -13283,6 +13283,16 @@ public final class Settings {
@TestApi
public static final String HIDDEN_API_POLICY = "hidden_api_policy";
+ /**
+ * Flag for forcing {@link com.android.server.compat.OverrideValidatorImpl}
+ * to consider this a non-debuggable build.
+ *
+ * @hide
+ */
+ public static final String FORCE_NON_DEBUGGABLE_FINAL_BUILD_FOR_COMPAT =
+ "force_non_debuggable_final_build_for_compat";
+
+
/**
* Current version of signed configuration applied.
*
diff --git a/core/java/com/android/internal/compat/OverrideAllowedState.java b/core/java/com/android/internal/compat/OverrideAllowedState.java
index 9a78ad2011cf..c0bbe5082131 100644
--- a/core/java/com/android/internal/compat/OverrideAllowedState.java
+++ b/core/java/com/android/internal/compat/OverrideAllowedState.java
@@ -33,7 +33,7 @@ public final class OverrideAllowedState implements Parcelable {
DISABLED_NOT_DEBUGGABLE,
DISABLED_NON_TARGET_SDK,
DISABLED_TARGET_SDK_TOO_HIGH,
- PACKAGE_DOES_NOT_EXIST,
+ DEFERRED_VERIFICATION,
LOGGING_ONLY_CHANGE
})
@Retention(RetentionPolicy.SOURCE)
@@ -57,10 +57,10 @@ public final class OverrideAllowedState implements Parcelable {
* Change cannot be overridden, due to the app's targetSdk being above the change's targetSdk.
*/
public static final int DISABLED_TARGET_SDK_TOO_HIGH = 3;
- /**
- * Package does not exist.
+ /**
+ * Change override decision is currently being deferred, due to the app not being installed yet.
*/
- public static final int PACKAGE_DOES_NOT_EXIST = 4;
+ public static final int DEFERRED_VERIFICATION = 4;
/**
* Change is marked as logging only, and cannot be toggled.
*/
@@ -106,6 +106,7 @@ public final class OverrideAllowedState implements Parcelable {
throws SecurityException {
switch (state) {
case ALLOWED:
+ case DEFERRED_VERIFICATION:
return;
case DISABLED_NOT_DEBUGGABLE:
throw new SecurityException(
@@ -118,11 +119,6 @@ public final class OverrideAllowedState implements Parcelable {
"Cannot override %1$d for %2$s because the app's targetSdk (%3$d) is "
+ "above the change's targetSdk threshold (%4$d)",
changeId, packageName, appTargetSdk, changeIdTargetSdk));
- case PACKAGE_DOES_NOT_EXIST:
- throw new SecurityException(String.format(
- "Cannot override %1$d for %2$s because the package does not exist, and "
- + "the change is targetSdk gated.",
- changeId, packageName));
case LOGGING_ONLY_CHANGE:
throw new SecurityException(String.format(
"Cannot override %1$d because it is marked as a logging-only change.",
@@ -170,8 +166,8 @@ public final class OverrideAllowedState implements Parcelable {
return "DISABLED_NON_TARGET_SDK";
case DISABLED_TARGET_SDK_TOO_HIGH:
return "DISABLED_TARGET_SDK_TOO_HIGH";
- case PACKAGE_DOES_NOT_EXIST:
- return "PACKAGE_DOES_NOT_EXIST";
+ case DEFERRED_VERIFICATION:
+ return "DEFERRED_VERIFICATION";
case LOGGING_ONLY_CHANGE:
return "LOGGING_ONLY_CHANGE";
}