Loading services/core/java/com/android/server/compat/OverrideValidatorImpl.java +5 −5 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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); Loading services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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(); Loading @@ -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 Loading Loading
services/core/java/com/android/server/compat/OverrideValidatorImpl.java +5 −5 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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); Loading
services/tests/servicestests/src/com/android/server/compat/OverrideValidatorImplTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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(); Loading @@ -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 Loading