diff options
Diffstat (limited to 'core/java')
| -rwxr-xr-x | core/java/android/provider/Settings.java | 10 | ||||
| -rw-r--r-- | core/java/com/android/internal/compat/OverrideAllowedState.java | 18 |
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"; } |
