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

Commit 88079272 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Tweak compat change override policy"

parents 28aec752 0dfee628
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