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

Commit 3388e418 authored by Andrei Onea's avatar Andrei Onea Committed by android-build-merger
Browse files

Merge "Tweak compat change override policy"

am: 88079272

Change-Id: I8b93e3493cb4117891813ae58daa87ca4909e169
parents 07435d06 88079272
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub {
    public OverrideAllowedState getOverrideAllowedState(long changeId, String packageName) {
        boolean debuggableBuild = false;
        boolean finalBuild = false;
        int minTargetSdk = mCompatConfig.minTargetSdkForChangeId(changeId);

        debuggableBuild = mAndroidBuildClassifier.isDebuggableBuild();
        finalBuild = mAndroidBuildClassifier.isFinalBuild();
@@ -76,15 +77,14 @@ public class OverrideValidatorImpl extends IOverrideValidator.Stub {
        if ((applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0) {
            return new OverrideAllowedState(DISABLED_NOT_DEBUGGABLE, -1, -1);
        }
        int minTargetSdk = mCompatConfig.minTargetSdkForChangeId(changeId);
        // Do not allow overriding non-target sdk gated changes on user builds
        if (minTargetSdk == -1) {
            return new OverrideAllowedState(DISABLED_NON_TARGET_SDK, appTargetSdk, minTargetSdk);
        }
        // Allow overriding any change for debuggable apps on non-final builds.
        if (!finalBuild) {
            return new OverrideAllowedState(ALLOWED, appTargetSdk, minTargetSdk);
        }
        // Do not allow overriding non-target sdk gated changes on user builds
        if (minTargetSdk == -1) {
            return new OverrideAllowedState(DISABLED_NON_TARGET_SDK, appTargetSdk, minTargetSdk);
        }
        // Only allow to opt-in for a targetSdk gated change.
        if (applicationInfo.targetSdkVersion < minTargetSdk) {
            return new OverrideAllowedState(ALLOWED, appTargetSdk, minTargetSdk);
+4 −4
Original line number Diff line number Diff line
@@ -188,7 +188,7 @@ public class OverrideValidatorImplTest {
    }

    @Test
    public void getOverrideAllowedState_betaBuildEnabledChangeDebugApp_rejectOverride()
    public void getOverrideAllowedState_betaBuildEnabledChangeDebugApp_allowOverride()
            throws Exception {
        CompatConfig config = CompatConfigBuilder.create(betaBuild(), mContext)
                        .addEnabledChangeWithId(1).build();
@@ -203,11 +203,11 @@ public class OverrideValidatorImplTest {
                overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME);

        assertThat(allowedState)
                .isEqualTo(new OverrideAllowedState(DISABLED_NON_TARGET_SDK, -1, -1));
                .isEqualTo(new OverrideAllowedState(ALLOWED, -1, -1));
    }

    @Test
    public void getOverrideAllowedState_betaBuildDisabledChangeDebugApp_rejectOverride()
    public void getOverrideAllowedState_betaBuildDisabledChangeDebugApp_allowOverride()
            throws Exception {
        CompatConfig config = CompatConfigBuilder.create(betaBuild(), mContext)
                        .addDisabledChangeWithId(1).build();
@@ -221,7 +221,7 @@ public class OverrideValidatorImplTest {
                overrideValidator.getOverrideAllowedState(1, PACKAGE_NAME);

        assertThat(allowedState)
                .isEqualTo(new OverrideAllowedState(DISABLED_NON_TARGET_SDK, -1, -1));
                .isEqualTo(new OverrideAllowedState(ALLOWED, -1, -1));
    }

    @Test