summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2021-02-05 02:02:54 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-02-05 02:02:54 +0000
commit6f60cd7b3c380556509737f833b2198d7cb29596 (patch)
tree4fbd389adc6633bd42c3c3e574119d138fd8dfea
parent2e0cd3caf771b92f787762ae0ed9b544e81854a3 (diff)
parent0212c52622ab05822e5864b366dd91201e411e77 (diff)
downloaddoclava-6f60cd7b3c380556509737f833b2198d7cb29596.tar.gz
Snap for 7125381 from 0212c52622ab05822e5864b366dd91201e411e77 to sc-v2-release
Change-Id: I97232c2f02953c1ae90f49957192e61fb766c1a0
-rw-r--r--res/assets/templates-sdk/compatchanges.cs6
-rw-r--r--src/com/google/doclava/CompatInfo.java37
2 files changed, 32 insertions, 11 deletions
diff --git a/res/assets/templates-sdk/compatchanges.cs b/res/assets/templates-sdk/compatchanges.cs
index 001b937..fba233a 100644
--- a/res/assets/templates-sdk/compatchanges.cs
+++ b/res/assets/templates-sdk/compatchanges.cs
@@ -24,9 +24,9 @@
Disabled for all apps.
<?cs else ?>
Enabled for
- <?cs if:change.enableAfterTargetSdk ?>
- apps with a <code>targetSdkVersion</code> of greater than
- <?cs var:change.enableAfterTargetSdk ?>.
+ <?cs if:change.enableSinceTargetSdk ?>
+ apps with a <code>targetSdkVersion</code> of greater than or equal to
+ <?cs var:change.enableSinceTargetSdk ?>.
<?cs else ?>
all apps.
<?cs /if ?>
diff --git a/src/com/google/doclava/CompatInfo.java b/src/com/google/doclava/CompatInfo.java
index 167f6ab..1999818 100644
--- a/src/com/google/doclava/CompatInfo.java
+++ b/src/com/google/doclava/CompatInfo.java
@@ -44,12 +44,12 @@ public class CompatInfo {
public final int sourceLine;
public final boolean disabled;
public final boolean loggingOnly;
- public final int enableAfterTargetSdk;
+ public final int enableSinceTargetSdk;
CompatChange(String name, long id, String description, String definedInClass,
String sourceFile, int sourceLine, boolean disabled, boolean loggingOnly,
- int enableAfterTargetSdk) {
+ int enableAfterTargetSdk, int enableSinceTargetSdk) {
this.name = name;
this.id = id;
this.description = description;
@@ -58,7 +58,14 @@ public class CompatInfo {
this.sourceLine = sourceLine;
this.disabled = disabled;
this.loggingOnly = loggingOnly;
- this.enableAfterTargetSdk = enableAfterTargetSdk;
+ if (enableSinceTargetSdk > 0) {
+ this.enableSinceTargetSdk = enableSinceTargetSdk;
+ } else if (enableAfterTargetSdk > 0) {
+ this.enableSinceTargetSdk = enableAfterTargetSdk + 1;
+ } else {
+ this.enableSinceTargetSdk = 0;
+ }
+
}
static class Builder {
@@ -71,11 +78,12 @@ public class CompatInfo {
private boolean mDisabled;
private boolean mLoggingOnly;
private int mEnableAfterTargetSdk;
+ private int mEnableSinceTargetSdk;
CompatChange build() {
return new CompatChange(
mName, mId, mDescription, mDefinedInClass, mSourceFile, mSourceLine,
- mDisabled, mLoggingOnly, mEnableAfterTargetSdk);
+ mDisabled, mLoggingOnly, mEnableAfterTargetSdk, mEnableSinceTargetSdk);
}
Builder name(String name) {
@@ -144,6 +152,18 @@ public class CompatInfo {
}
return this;
}
+ Builder enableSinceTargetSdk(String enableSince) throws SAXException {
+ if (enableSince == null) {
+ mEnableSinceTargetSdk = 0;
+ } else {
+ try {
+ mEnableSinceTargetSdk = Integer.parseInt(enableSince);
+ } catch (NumberFormatException nfe) {
+ throw new SAXException("Invalid SDK version int: " + enableSince, nfe);
+ }
+ }
+ return this;
+ }
}
}
@@ -166,6 +186,7 @@ public class CompatInfo {
mCurrentChange.name(attributes.getValue("name"))
.description(attributes.getValue("description"))
.enableAfterTargetSdk(attributes.getValue("enableAfterTargetSdk"))
+ .enableSinceTargetSdk(attributes.getValue("enableSinceTargetSdk"))
.disabled(attributes.getValue("disabled"))
.loggingOnly(attributes.getValue("loggingOnly"));
@@ -232,16 +253,16 @@ public class CompatInfo {
definedInContainer = Converter.obtainPackage("android");
}
if (change.description == null) {
- throw new RuntimeException("No desriprion found for @ChangeId " + change.name);
+ throw new RuntimeException("No description found for @ChangeId " + change.name);
}
Comment comment = new Comment(change.description, definedInContainer, new SourcePositionInfo(
change.sourceFile, change.sourceLine, 1));
String path = "change." + i;
hdf.setValue(path + ".id", Long.toString(change.id));
hdf.setValue(path + ".name", change.name);
- if (change.enableAfterTargetSdk != 0) {
- hdf.setValue(path + ".enableAfterTargetSdk",
- Integer.toString(change.enableAfterTargetSdk));
+ if (change.enableSinceTargetSdk != 0) {
+ hdf.setValue(path + ".enableSinceTargetSdk",
+ Integer.toString(change.enableSinceTargetSdk));
}
if (change.loggingOnly) {
hdf.setValue(path + ".loggingOnly", Boolean.toString(true));