Merge "Add descriptions to compat changes."

This commit is contained in:
Anna Trostanetski
2019-12-05 12:22:27 +00:00
committed by Gerrit Code Review
6 changed files with 39 additions and 25 deletions

View File

@@ -30,6 +30,7 @@ public class CompatibilityChangeInfo implements Parcelable {
private final @Nullable String mName; private final @Nullable String mName;
private final int mEnableAfterTargetSdk; private final int mEnableAfterTargetSdk;
private final boolean mDisabled; private final boolean mDisabled;
private final @Nullable String mDescription;
public long getId() { public long getId() {
return mChangeId; return mChangeId;
@@ -48,12 +49,18 @@ public class CompatibilityChangeInfo implements Parcelable {
return mDisabled; return mDisabled;
} }
public String getDescription() {
return mDescription;
}
public CompatibilityChangeInfo( public CompatibilityChangeInfo(
Long changeId, String name, int enableAfterTargetSdk, boolean disabled) { Long changeId, String name, int enableAfterTargetSdk, boolean disabled,
String description) {
this.mChangeId = changeId; this.mChangeId = changeId;
this.mName = name; this.mName = name;
this.mEnableAfterTargetSdk = enableAfterTargetSdk; this.mEnableAfterTargetSdk = enableAfterTargetSdk;
this.mDisabled = disabled; this.mDisabled = disabled;
this.mDescription = description;
} }
private CompatibilityChangeInfo(Parcel in) { private CompatibilityChangeInfo(Parcel in) {
@@ -61,6 +68,7 @@ public class CompatibilityChangeInfo implements Parcelable {
mName = in.readString(); mName = in.readString();
mEnableAfterTargetSdk = in.readInt(); mEnableAfterTargetSdk = in.readInt();
mDisabled = in.readBoolean(); mDisabled = in.readBoolean();
mDescription = in.readString();
} }
@Override @Override
@@ -74,6 +82,7 @@ public class CompatibilityChangeInfo implements Parcelable {
dest.writeString(mName); dest.writeString(mName);
dest.writeInt(mEnableAfterTargetSdk); dest.writeInt(mEnableAfterTargetSdk);
dest.writeBoolean(mDisabled); dest.writeBoolean(mDisabled);
dest.writeString(mDescription);
} }
public static final Parcelable.Creator<CompatibilityChangeInfo> CREATOR = public static final Parcelable.Creator<CompatibilityChangeInfo> CREATOR =

View File

@@ -55,7 +55,7 @@ public final class CompatChange extends CompatibilityChangeInfo {
private Map<String, Boolean> mPackageOverrides; private Map<String, Boolean> mPackageOverrides;
public CompatChange(long changeId) { public CompatChange(long changeId) {
this(changeId, null, -1, false); this(changeId, null, -1, false, null);
} }
/** /**
@@ -66,8 +66,8 @@ public final class CompatChange extends CompatibilityChangeInfo {
* @param disabled If {@code true}, overrides any {@code enableAfterTargetSdk} set. * @param disabled If {@code true}, overrides any {@code enableAfterTargetSdk} set.
*/ */
public CompatChange(long changeId, @Nullable String name, int enableAfterTargetSdk, public CompatChange(long changeId, @Nullable String name, int enableAfterTargetSdk,
boolean disabled) { boolean disabled, String description) {
super(changeId, name, enableAfterTargetSdk, disabled); super(changeId, name, enableAfterTargetSdk, disabled, description);
} }
/** /**
@@ -75,7 +75,7 @@ public final class CompatChange extends CompatibilityChangeInfo {
*/ */
public CompatChange(Change change) { public CompatChange(Change change) {
super(change.getId(), change.getName(), change.getEnableAfterTargetSdk(), super(change.getId(), change.getName(), change.getEnableAfterTargetSdk(),
change.getDisabled()); change.getDisabled(), change.getDescription());
} }
void registerListener(ChangeListener listener) { void registerListener(ChangeListener listener) {

View File

@@ -319,7 +319,8 @@ final class CompatConfig {
changeInfos[i] = new CompatibilityChangeInfo(change.getId(), changeInfos[i] = new CompatibilityChangeInfo(change.getId(),
change.getName(), change.getName(),
change.getEnableAfterTargetSdk(), change.getEnableAfterTargetSdk(),
change.getDisabled()); change.getDisabled(),
change.getDescription());
} }
return changeInfos; return changeInfos;
} }

View File

@@ -28,6 +28,7 @@
<xs:attribute type="xs:string" name="name" use="required"/> <xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:boolean" name="disabled"/> <xs:attribute type="xs:boolean" name="disabled"/>
<xs:attribute type="xs:int" name="enableAfterTargetSdk"/> <xs:attribute type="xs:int" name="enableAfterTargetSdk"/>
<xs:attribute type="xs:string" name="description"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>

View File

@@ -3,11 +3,13 @@ package com.android.server.compat.config {
public class Change { public class Change {
ctor public Change(); ctor public Change();
method public String getDescription();
method public boolean getDisabled(); method public boolean getDisabled();
method public int getEnableAfterTargetSdk(); method public int getEnableAfterTargetSdk();
method public long getId(); method public long getId();
method public String getName(); method public String getName();
method public String getValue(); method public String getValue();
method public void setDescription(String);
method public void setDisabled(boolean); method public void setDisabled(boolean);
method public void setEnableAfterTargetSdk(int); method public void setEnableAfterTargetSdk(int);
method public void setId(long); method public void setId(long);

View File

@@ -73,36 +73,36 @@ public class CompatConfigTest {
@Test @Test
public void testDisabledChangeDisabled() { public void testDisabledChangeDisabled() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true, ""));
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 1))).isFalse(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 1))).isFalse();
} }
@Test @Test
public void testTargetSdkChangeDisabled() { public void testTargetSdkChangeDisabled() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, false)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, false, null));
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isFalse(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isFalse();
} }
@Test @Test
public void testTargetSdkChangeEnabled() { public void testTargetSdkChangeEnabled() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, false)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, false, ""));
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 3))).isTrue(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 3))).isTrue();
} }
@Test @Test
public void testDisabledOverrideTargetSdkChange() { public void testDisabledOverrideTargetSdkChange() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, true)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, true, null));
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 3))).isFalse(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 3))).isFalse();
} }
@Test @Test
public void testGetDisabledChanges() { public void testGetDisabledChanges() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true, null));
pc.addChange(new CompatChange(2345L, "OTHER_CHANGE", -1, false)); pc.addChange(new CompatChange(2345L, "OTHER_CHANGE", -1, false, null));
assertThat(pc.getDisabledChanges( assertThat(pc.getDisabledChanges(
makeAppInfo("com.some.package", 2))).asList().containsExactly(1234L); makeAppInfo("com.some.package", 2))).asList().containsExactly(1234L);
} }
@@ -110,9 +110,9 @@ public class CompatConfigTest {
@Test @Test
public void testGetDisabledChangesSorted() { public void testGetDisabledChangesSorted() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, true)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", 2, true, null));
pc.addChange(new CompatChange(123L, "OTHER_CHANGE", 2, true)); pc.addChange(new CompatChange(123L, "OTHER_CHANGE", 2, true, null));
pc.addChange(new CompatChange(12L, "THIRD_CHANGE", 2, true)); pc.addChange(new CompatChange(12L, "THIRD_CHANGE", 2, true, null));
assertThat(pc.getDisabledChanges( assertThat(pc.getDisabledChanges(
makeAppInfo("com.some.package", 2))).asList().containsExactly(12L, 123L, 1234L); makeAppInfo("com.some.package", 2))).asList().containsExactly(12L, 123L, 1234L);
} }
@@ -120,7 +120,7 @@ public class CompatConfigTest {
@Test @Test
public void testPackageOverrideEnabled() { public void testPackageOverrideEnabled() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true)); // disabled pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, true, null)); // disabled
pc.addOverride(1234L, "com.some.package", true); pc.addOverride(1234L, "com.some.package", true);
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isTrue(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isTrue();
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.other.package", 2))).isFalse(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.other.package", 2))).isFalse();
@@ -129,7 +129,7 @@ public class CompatConfigTest {
@Test @Test
public void testPackageOverrideDisabled() { public void testPackageOverrideDisabled() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false, null));
pc.addOverride(1234L, "com.some.package", false); pc.addOverride(1234L, "com.some.package", false);
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isFalse(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isFalse();
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.other.package", 2))).isTrue(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.other.package", 2))).isTrue();
@@ -152,7 +152,7 @@ public class CompatConfigTest {
@Test @Test
public void testRemovePackageOverride() { public void testRemovePackageOverride() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false, null));
pc.addOverride(1234L, "com.some.package", false); pc.addOverride(1234L, "com.some.package", false);
pc.removeOverride(1234L, "com.some.package"); pc.removeOverride(1234L, "com.some.package");
assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isTrue(); assertThat(pc.isChangeEnabled(1234L, makeAppInfo("com.some.package", 2))).isTrue();
@@ -161,8 +161,8 @@ public class CompatConfigTest {
@Test @Test
public void testLookupChangeId() { public void testLookupChangeId() {
CompatConfig pc = new CompatConfig(); CompatConfig pc = new CompatConfig();
pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false)); pc.addChange(new CompatChange(1234L, "MY_CHANGE", -1, false, null));
pc.addChange(new CompatChange(2345L, "ANOTHER_CHANGE", -1, false)); pc.addChange(new CompatChange(2345L, "ANOTHER_CHANGE", -1, false, null));
assertThat(pc.lookupChangeId("MY_CHANGE")).isEqualTo(1234L); assertThat(pc.lookupChangeId("MY_CHANGE")).isEqualTo(1234L);
} }
@@ -174,8 +174,9 @@ public class CompatConfigTest {
@Test @Test
public void testReadConfig() { public void testReadConfig() {
Change[] changes = {new Change(1234L, "MY_CHANGE1", false, 2), new Change(1235L, Change[] changes = {new Change(1234L, "MY_CHANGE1", false, 2, null), new Change(1235L,
"MY_CHANGE2", true, null), new Change(1236L, "MY_CHANGE3", false, null)}; "MY_CHANGE2", true, null, "description"), new Change(1236L, "MY_CHANGE3", false,
null, "")};
File dir = createTempDir(); File dir = createTempDir();
writeChangesToFile(changes, new File(dir.getPath() + "/platform_compat_config.xml")); writeChangesToFile(changes, new File(dir.getPath() + "/platform_compat_config.xml"));
@@ -191,9 +192,9 @@ public class CompatConfigTest {
@Test @Test
public void testReadConfigMultipleFiles() { public void testReadConfigMultipleFiles() {
Change[] changes1 = {new Change(1234L, "MY_CHANGE1", false, 2)}; Change[] changes1 = {new Change(1234L, "MY_CHANGE1", false, 2, null)};
Change[] changes2 = {new Change(1235L, "MY_CHANGE2", true, null), new Change(1236L, Change[] changes2 = {new Change(1235L, "MY_CHANGE2", true, null, ""), new Change(1236L,
"MY_CHANGE3", false, null)}; "MY_CHANGE3", false, null, null)};
File dir = createTempDir(); File dir = createTempDir();
writeChangesToFile(changes1, writeChangesToFile(changes1,