Merge "Tweak compat change override policy"
am: 880792723a
Change-Id: I8b93e3493cb4117891813ae58daa87ca4909e169
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user