diff --git a/tools/droiddoc/src/ClassInfo.java b/tools/droiddoc/src/ClassInfo.java index 094159583c..81804361a0 100644 --- a/tools/droiddoc/src/ClassInfo.java +++ b/tools/droiddoc/src/ClassInfo.java @@ -863,6 +863,7 @@ public class ClassInfo extends DocInfo implements ContainerInfo, Comparable, Sco data.setValue(base + ".kind", this.kind()); TagInfo.makeHDF(data, base + ".shortDescr", this.firstSentenceTags()); TagInfo.makeHDF(data, base + ".deprecated", deprecatedTags()); + data.setValue(base + ".since", getSince()); } /** diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java index a8b9c73092..4ff26bc10b 100644 --- a/tools/droiddoc/src/DroidDoc.java +++ b/tools/droiddoc/src/DroidDoc.java @@ -56,6 +56,7 @@ public class DroidDoc public static ArrayList mHDFData = new ArrayList(); public static Map escapeChars = new HashMap(); public static String title = ""; + public static SinceTagger sinceTagger = new SinceTagger(); public static boolean checkLevel(int level) { @@ -97,7 +98,6 @@ public class DroidDoc String apiFile = null; String debugStubsFile = ""; HashSet stubPackages = null; - SinceTagger sinceTagger = new SinceTagger(); root = r; @@ -518,6 +518,7 @@ public class DroidDoc i++; } + sinceTagger.writeVersionNames(data); return data; } diff --git a/tools/droiddoc/src/NavTree.java b/tools/droiddoc/src/NavTree.java index 9eef0ceacc..0469fdc1b8 100644 --- a/tools/droiddoc/src/NavTree.java +++ b/tools/droiddoc/src/NavTree.java @@ -25,7 +25,7 @@ public class NavTree { for (PackageInfo pkg: DroidDoc.choosePackages()) { children.add(makePackageNode(pkg)); } - Node node = new Node("Reference", dir + "packages.html", children); + Node node = new Node("Reference", dir + "packages.html", children, null); StringBuilder buf = new StringBuilder(); if (false) { @@ -46,7 +46,7 @@ public class NavTree { private static Node makePackageNode(PackageInfo pkg) { ArrayList children = new ArrayList(); - children.add(new Node("Description", pkg.fullDescriptionHtmlPage(), null)); + children.add(new Node("Description", pkg.fullDescriptionHtmlPage(), null, null)); addClassNodes(children, "Interfaces", pkg.interfaces()); addClassNodes(children, "Classes", pkg.ordinaryClasses()); @@ -54,7 +54,7 @@ public class NavTree { addClassNodes(children, "Exceptions", pkg.exceptions()); addClassNodes(children, "Errors", pkg.errors()); - return new Node(pkg.name(), pkg.htmlPage(), children); + return new Node(pkg.name(), pkg.htmlPage(), children, pkg.getSince()); } private static void addClassNodes(ArrayList parent, String label, ClassInfo[] classes) { @@ -62,12 +62,12 @@ public class NavTree { for (ClassInfo cl: classes) { if (cl.checkLevel()) { - children.add(new Node(cl.name(), cl.htmlPage(), null)); + children.add(new Node(cl.name(), cl.htmlPage(), null, cl.getSince())); } } if (children.size() > 0) { - parent.add(new Node(label, null, children)); + parent.add(new Node(label, null, children, null)); } } @@ -75,11 +75,13 @@ public class NavTree { private String mLabel; private String mLink; ArrayList mChildren; + private String mSince; - Node(String label, String link, ArrayList children) { + Node(String label, String link, ArrayList children, String since) { mLabel = label; mLink = link; mChildren = children; + mSince = since; } static void renderString(StringBuilder buf, String s) { @@ -136,6 +138,8 @@ public class NavTree { renderString(buf, mLink); buf.append(", "); renderChildren(buf); + buf.append(", "); + renderString(buf, mSince); buf.append(" ]"); } } diff --git a/tools/droiddoc/src/PackageInfo.java b/tools/droiddoc/src/PackageInfo.java index bcf3cf36f0..18c636eb3b 100644 --- a/tools/droiddoc/src/PackageInfo.java +++ b/tools/droiddoc/src/PackageInfo.java @@ -123,6 +123,7 @@ public class PackageInfo extends DocInfo implements ContainerInfo ClassInfo.makeLinkListHDF(data, base + ".enums", enums()); ClassInfo.makeLinkListHDF(data, base + ".exceptions", exceptions()); ClassInfo.makeLinkListHDF(data, base + ".errors", errors()); + data.setValue(base + ".since", getSince()); } public ClassInfo[] interfaces() diff --git a/tools/droiddoc/src/SinceTagger.java b/tools/droiddoc/src/SinceTagger.java index a34814c00e..fb69c04b61 100644 --- a/tools/droiddoc/src/SinceTagger.java +++ b/tools/droiddoc/src/SinceTagger.java @@ -4,6 +4,8 @@ import com.android.apicheck.*; import java.util.*; +import org.clearsilver.HDF; + /** * Applies version information to the DroidDoc class model from apicheck XML * files. Sample usage: @@ -45,6 +47,17 @@ public class SinceTagger { } } + /** + * Writes an index of the version names to {@code data}. + */ + public void writeVersionNames(HDF data) { + int index = 1; + for (String version : xmlToName.values()) { + data.setValue("since." + index + ".name", version); + index++; + } + } + /** * Applies the version information to {@code classDocs} where not already * present. diff --git a/tools/droiddoc/templates-sdk/customization.cs b/tools/droiddoc/templates-sdk/customization.cs index 79fc2829d7..6bdb992066 100644 --- a/tools/droiddoc/templates-sdk/customization.cs +++ b/tools/droiddoc/templates-sdk/customization.cs @@ -47,34 +47,51 @@ def:custom_masthead() ?>
+ call:default_search_box() ?> +
+ + +
+
= 0; i--) { + var option = $("