diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-03-07 03:08:51 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-03-07 03:08:51 +0000 |
commit | a0f49c23d9a7b46d7ee975b6db08feb45fc6550d (patch) | |
tree | 894bfc4f61fb58a1be152e93d2cf68a832f7d3bd | |
parent | a43b46b5b84ea8b5b5cd8f1b8c2d01e7bc22cbb0 (diff) | |
parent | cb64f29fb42f2e670dec9834b4122fd2f9d2f951 (diff) | |
download | doclava-a0f49c23d9a7b46d7ee975b6db08feb45fc6550d.tar.gz |
Snap for 6272866 from cb64f29fb42f2e670dec9834b4122fd2f9d2f951 to rvc-release
Change-Id: I5afad03cd140ea7700d64247549fa575d77a382a
-rw-r--r-- | res/assets/templates-sdk/compatchanges.cs | 23 | ||||
-rw-r--r-- | src/com/google/doclava/CompatInfo.java | 42 |
2 files changed, 54 insertions, 11 deletions
diff --git a/res/assets/templates-sdk/compatchanges.cs b/res/assets/templates-sdk/compatchanges.cs index bcb0def..001b937 100644 --- a/res/assets/templates-sdk/compatchanges.cs +++ b/res/assets/templates-sdk/compatchanges.cs @@ -16,13 +16,22 @@ <?cs each:change=change ?> <h3 class="api-name" id="<?cs var:change.name ?>"><?cs var:change.name ?></h3> <div>Value: <?cs var:change.id ?></div> - <!-- TODO: This will do the wrong thing for disabled changes; need to plumb through the - disabled flag --> - <div>Enabled for <?cs if:change.enableAfterTargetSdk ?> - apps with a <code>targetSdkVersion</code> of greater than <?cs var:change.enableAfterTargetSdk ?>. - <?cs else ?> - all apps. - <?cs /if ?> + <div> + <?cs if:change.loggingOnly ?> + Used for logging only. + <?cs else ?> + <?cs if:change.disabled ?> + 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 else ?> + all apps. + <?cs /if ?> + <?cs /if ?> + <?cs /if ?> </div> <?cs call:description(change) ?> diff --git a/src/com/google/doclava/CompatInfo.java b/src/com/google/doclava/CompatInfo.java index 5747d93..167f6ab 100644 --- a/src/com/google/doclava/CompatInfo.java +++ b/src/com/google/doclava/CompatInfo.java @@ -42,16 +42,22 @@ public class CompatInfo { public final String definedInClass; public final String sourceFile; public final int sourceLine; + public final boolean disabled; + public final boolean loggingOnly; public final int enableAfterTargetSdk; + CompatChange(String name, long id, String description, String definedInClass, - String sourceFile, int sourceLine, int enableAfterTargetSdk) { + String sourceFile, int sourceLine, boolean disabled, boolean loggingOnly, + int enableAfterTargetSdk) { this.name = name; this.id = id; this.description = description; this.definedInClass = definedInClass; this.sourceFile = sourceFile; this.sourceLine = sourceLine; + this.disabled = disabled; + this.loggingOnly = loggingOnly; this.enableAfterTargetSdk = enableAfterTargetSdk; } @@ -62,12 +68,14 @@ public class CompatInfo { private String mDefinedInClass; private String mSourceFile; private int mSourceLine; + private boolean mDisabled; + private boolean mLoggingOnly; private int mEnableAfterTargetSdk; CompatChange build() { return new CompatChange( mName, mId, mDescription, mDefinedInClass, mSourceFile, mSourceLine, - mEnableAfterTargetSdk); + mDisabled, mLoggingOnly, mEnableAfterTargetSdk); } Builder name(String name) { @@ -106,6 +114,24 @@ public class CompatInfo { return this; } + boolean parseBool(String value) { + if (value == null) { + return false; + } + boolean result = Boolean.parseBoolean(value); + return result; + } + + Builder disabled(String disabled) { + mDisabled = parseBool(disabled); + return this; + } + + Builder loggingOnly(String loggingOnly) { + mLoggingOnly = parseBool(loggingOnly); + return this; + } + Builder enableAfterTargetSdk(String enableAfter) throws SAXException { if (enableAfter == null) { mEnableAfterTargetSdk = 0; @@ -138,8 +164,10 @@ public class CompatInfo { throw new SAXException("<compat-change> id is not a valid long", nfe); } mCurrentChange.name(attributes.getValue("name")) - .description(attributes.getValue("description")) - .enableAfterTargetSdk(attributes.getValue("enableAfterTargetSdk")); + .description(attributes.getValue("description")) + .enableAfterTargetSdk(attributes.getValue("enableAfterTargetSdk")) + .disabled(attributes.getValue("disabled")) + .loggingOnly(attributes.getValue("loggingOnly")); } else if (qName.equals("meta-data")) { if (mCurrentChange == null) { @@ -215,6 +243,12 @@ public class CompatInfo { hdf.setValue(path + ".enableAfterTargetSdk", Integer.toString(change.enableAfterTargetSdk)); } + if (change.loggingOnly) { + hdf.setValue(path + ".loggingOnly", Boolean.toString(true)); + } + if (change.disabled) { + hdf.setValue(path + ".disabled", Boolean.toString(true)); + } TagInfo.makeHDF(hdf, path + ".descr", comment.tags()); } } |