Merge "Fix boundary condition for targetSDK gated changes" into rvc-dev am: 259d98b1dd am: 577960a5f4

Change-Id: Ib490ebdca336e6d07ffdf66d2f23cce3694f86fd
This commit is contained in:
Andrei-Valentin Onea
2020-05-26 10:28:11 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 10 deletions

View File

@@ -89,7 +89,7 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub {
return new OverrideAllowedState(DISABLED_NON_TARGET_SDK, appTargetSdk, minTargetSdk); return new OverrideAllowedState(DISABLED_NON_TARGET_SDK, appTargetSdk, minTargetSdk);
} }
// Only allow to opt-in for a targetSdk gated change. // 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(ALLOWED, appTargetSdk, minTargetSdk);
} }
return new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, appTargetSdk, minTargetSdk); return new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, appTargetSdk, minTargetSdk);

View File

@@ -288,7 +288,8 @@ public class OverrideValidatorImplTest {
public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptin_allowOverride() public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptin_allowOverride()
throws Exception { throws Exception {
CompatConfig config = CompatConfigBuilder.create(finalBuild(), mContext) 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(); IOverrideValidator overrideValidator = config.getOverrideValidator();
when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt())) when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt()))
.thenReturn(ApplicationInfoBuilder.create() .thenReturn(ApplicationInfoBuilder.create()
@@ -296,19 +297,23 @@ public class OverrideValidatorImplTest {
.withTargetSdk(TARGET_SDK) .withTargetSdk(TARGET_SDK)
.withPackageName(PACKAGE_NAME).build()); .withPackageName(PACKAGE_NAME).build());
OverrideAllowedState allowedState = OverrideAllowedState stateTargetSdkGreaterChange =
overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME); 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)); .isEqualTo(new OverrideAllowedState(ALLOWED, TARGET_SDK, TARGET_SDK_AFTER));
assertThat(stateTargetSdkEqualChange)
.isEqualTo(new OverrideAllowedState(ALLOWED, TARGET_SDK, TARGET_SDK));
} }
@Test @Test
public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptout_rejectOverride() public void getOverrideAllowedState_finalBuildTargetSdkChangeDebugAppOptout_rejectOverride()
throws Exception { throws Exception {
CompatConfig config = CompatConfigBuilder.create(finalBuild(), mContext) CompatConfig config = CompatConfigBuilder.create(finalBuild(), mContext)
.addTargetSdkChangeWithId(TARGET_SDK_BEFORE, 1) .addTargetSdkChangeWithId(TARGET_SDK_BEFORE, 1).build();
.addTargetSdkChangeWithId(TARGET_SDK, 2).build();
IOverrideValidator overrideValidator = config.getOverrideValidator(); IOverrideValidator overrideValidator = config.getOverrideValidator();
when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt())) when(mPackageManager.getApplicationInfo(eq(PACKAGE_NAME), anyInt()))
.thenReturn(ApplicationInfoBuilder.create() .thenReturn(ApplicationInfoBuilder.create()
@@ -319,14 +324,10 @@ public class OverrideValidatorImplTest {
OverrideAllowedState stateTargetSdkLessChange = OverrideAllowedState stateTargetSdkLessChange =
overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME); overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME);
OverrideAllowedState stateTargetSdkEqualChange =
overrideValidator.getOverrideAllowedState(2, PACKAGE_NAME);
assertThat(stateTargetSdkLessChange).isEqualTo( assertThat(stateTargetSdkLessChange).isEqualTo(
new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, TARGET_SDK, new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, TARGET_SDK,
TARGET_SDK_BEFORE)); TARGET_SDK_BEFORE));
assertThat(stateTargetSdkEqualChange).isEqualTo(
new OverrideAllowedState(DISABLED_TARGET_SDK_TOO_HIGH, TARGET_SDK, TARGET_SDK));
} }
@Test @Test