Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 259d98b1 authored by Andrei-Valentin Onea's avatar Andrei-Valentin Onea Committed by Android (Google) Code Review
Browse files

Merge "Fix boundary condition for targetSDK gated changes" into rvc-dev

parents 393133b0 e3de88df
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+10 −9
Original line number Diff line number Diff line
@@ -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