implement api level toggling
and rename navtree.js to android-developer-reference.js for all reference related scripts
TODO: shading for hidden classes in the treeview navigation... these aren't dynamic yet.
diff --git a/tools/droiddoc/src/ClassInfo.java b/tools/droiddoc/src/ClassInfo.java
index 0941595..8180436 100644
--- a/tools/droiddoc/src/ClassInfo.java
+++ b/tools/droiddoc/src/ClassInfo.java
@@ -863,6 +863,7 @@
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 a8b9c73..4ff26bc 100644
--- a/tools/droiddoc/src/DroidDoc.java
+++ b/tools/droiddoc/src/DroidDoc.java
@@ -56,6 +56,7 @@
public static ArrayList<String[]> mHDFData = new ArrayList<String[]>();
public static Map<Character,String> escapeChars = new HashMap<Character,String>();
public static String title = "";
+ public static SinceTagger sinceTagger = new SinceTagger();
public static boolean checkLevel(int level)
{
@@ -97,7 +98,6 @@
String apiFile = null;
String debugStubsFile = "";
HashSet<String> stubPackages = null;
- SinceTagger sinceTagger = new SinceTagger();
root = r;
@@ -518,6 +518,7 @@
i++;
}
+ sinceTagger.writeVersionNames(data);
return data;
}
diff --git a/tools/droiddoc/src/NavTree.java b/tools/droiddoc/src/NavTree.java
index 9eef0ce..0469fdc 100644
--- a/tools/droiddoc/src/NavTree.java
+++ b/tools/droiddoc/src/NavTree.java
@@ -25,7 +25,7 @@
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 @@
private static Node makePackageNode(PackageInfo pkg) {
ArrayList<Node> 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 @@
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<Node> parent, String label, ClassInfo[] classes) {
@@ -62,12 +62,12 @@
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 @@
private String mLabel;
private String mLink;
ArrayList<Node> mChildren;
+ private String mSince;
- Node(String label, String link, ArrayList<Node> children) {
+ Node(String label, String link, ArrayList<Node> children, String since) {
mLabel = label;
mLink = link;
mChildren = children;
+ mSince = since;
}
static void renderString(StringBuilder buf, String s) {
@@ -136,6 +138,8 @@
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 bcf3cf3..18c636e 100644
--- a/tools/droiddoc/src/PackageInfo.java
+++ b/tools/droiddoc/src/PackageInfo.java
@@ -123,6 +123,7 @@
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 a34814c..fb69c04 100644
--- a/tools/droiddoc/src/SinceTagger.java
+++ b/tools/droiddoc/src/SinceTagger.java
@@ -4,6 +4,8 @@
import java.util.*;
+import org.clearsilver.HDF;
+
/**
* Applies version information to the DroidDoc class model from apicheck XML
* files. Sample usage:
@@ -46,6 +48,17 @@
}
/**
+ * 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.
*