diff options
| -rw-r--r-- | services/core/java/com/android/server/compat/OverrideValidatorImpl.java | 2 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java | 19 |
2 files changed, 11 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/compat/OverrideValidatorImpl.java b/services/core/java/com/android/server/compat/OverrideValidatorImpl.java index f5d6e5ac46e5..08d266478f4b 100644 --- a/services/core/java/com/android/server/compat/OverrideValidatorImpl.java +++ b/services/core/java/com/android/server/compat/OverrideValidatorImpl.java @@ -89,7 +89,7 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub { return new OverrideAllowedState(DISABLED_NON_TARGET_SDK, appTargetSdk, minTargetSdk); } // Only allow to opt-in for a targetSdk gated change. - if (disabled || applicationInfo.targetSdkVersion < minTargetSdk) { + if (disabled || appTargetSdk <= minTargetSdk) { return new OverrideAllowedState(ALLOWED, appTargetSdk, minTargetSdk); } return new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, appTargetSdk, minTargetSdk); diff --git a/services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java b/services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java index 425c7247e50f..d45589d90ce3 100644 --- a/services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java +++ b/services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java @@ -288,7 +288,8 @@ public class OverrideValidatorImplTest { public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptin_allowOverride() throws Exception { CompatConfig config = CompatConfigBuilder.create(finalBuild(), mContext) - .addTargetSdkChangeWithId(TARGET_SDK_AFTER, 1).build(); + .addTargetSdkChangeWithId(TARGET_SDK_AFTER, 1) + .addTargetSdkChangeWithId(TARGET_SDK, 2).build(); IOverrideValidator overrideValidator = config.getOverrideValidator(); when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt())) .thenReturn(ApplicationInfoBuilder.create() @@ -296,19 +297,23 @@ public class OverrideValidatorImplTest { .withTargetSdk(TARGET_SDK) .withPackageName(PACKAGE_NAME).build()); - OverrideAllowedState allowedState = + OverrideAllowedState stateTargetSdkGreaterChange = overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME); + OverrideAllowedState stateTargetSdkEqualChange = + overrideValidator.getOverrideAllowedState(2, PACKAGE_NAME); - assertThat(allowedState) + assertThat(stateTargetSdkGreaterChange) .isEqualTo(new OverrideAllowedState(ALLOWED, TARGET_SDK, TARGET_SDK_AFTER)); + + assertThat(stateTargetSdkEqualChange) + .isEqualTo(new OverrideAllowedState(ALLOWED, TARGET_SDK, TARGET_SDK)); } @Test public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptout_rejectOverride() throws Exception { CompatConfig config = CompatConfigBuilder.create(finalBuild(), mContext) - .addTargetSdkChangeWithId(TARGET_SDK_BEFORE, 1) - .addTargetSdkChangeWithId(TARGET_SDK, 2).build(); + .addTargetSdkChangeWithId(TARGET_SDK_BEFORE, 1).build(); IOverrideValidator overrideValidator = config.getOverrideValidator(); when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt())) .thenReturn(ApplicationInfoBuilder.create() @@ -319,14 +324,10 @@ public class OverrideValidatorImplTest { OverrideAllowedState stateTargetSdkLessChange = overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME); - OverrideAllowedState stateTargetSdkEqualChange = - overrideValidator.getOverrideAllowedState(2, PACKAGE_NAME); assertThat(stateTargetSdkLessChange).isEqualTo( new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, TARGET_SDK, TARGET_SDK_BEFORE)); - assertThat(stateTargetSdkEqualChange).isEqualTo( - new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, TARGET_SDK, TARGET_SDK)); } @Test |