am 1a177879: Merge change I06c40454 into eclair-sdk

Merge commit '1a177879281ac6ed541a8f875c0130c3355ab6f9' into eclair

* commit '1a177879281ac6ed541a8f875c0130c3355ab6f9':
  droiddoc change: revise the sample code generating script so that
diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java
index f48b56c..a1c49f0 100644
--- a/tools/droiddoc/src/DroidDoc.java
+++ b/tools/droiddoc/src/DroidDoc.java
@@ -96,6 +96,7 @@
         //Create the dependency graph for the stubs directory
         boolean apiXML = false;
         boolean noDocs = false;
+        boolean offlineMode = false;
         String apiFile = null;
         String debugStubsFile = "";
         HashSet<String> stubPackages = null;
@@ -194,6 +195,9 @@
             else if (a[0].equals("-since")) {
                 sinceTagger.addVersion(a[1], a[2]);
             }
+            else if (a[0].equals("-offlinemode")) {
+                offlineMode = true;
+            }
         }
 
         // read some prefs from the template
@@ -246,7 +250,7 @@
 
             // Sample Code
             for (SampleCode sc: sampleCodes) {
-                sc.write();
+                sc.write(offlineMode);
             }
 
             // Index page
@@ -419,6 +423,9 @@
         if (option.equals("-since")) {
             return 3;
         }
+        if (option.equals("-offlinemode")) {
+            return 1;
+        }
         return 0;
     }
 
diff --git a/tools/droiddoc/src/SampleCode.java b/tools/droiddoc/src/SampleCode.java
index e2283bd..1f00be2 100644
--- a/tools/droiddoc/src/SampleCode.java
+++ b/tools/droiddoc/src/SampleCode.java
@@ -38,13 +38,14 @@
         }
     }
 
-    public void write() {
+    public void write(boolean offlineMode) {
         File f = new File(mSource);
         if (!f.isDirectory()) {
             System.out.println("-samplecode not a directory: " + mSource);
             return;
         }
-        writeDirectory(f, mDest);
+        if (offlineMode) writeIndexOnly(f, mDest);
+        else writeDirectory(f, mDest);
     }
 
     public static String convertExtension(String s, String ext) {
@@ -99,10 +100,8 @@
 
         // write the index page
         int i;
-        HDF hdf = DroidDoc.makeHDF();
 
-        hdf.setValue("page.title", dir.getName() + " - " + mTitle);
-        hdf.setValue("projectTitle", mTitle);
+        HDF hdf = writeIndex(dir);
         hdf.setValue("subdir", subdir);
         i=0;
         for (String d: dirs) {
@@ -115,15 +114,32 @@
             hdf.setValue("files." + i + ".href", convertExtension(f, ".html"));
             i++;
         }
+        
+        ClearPage.write(hdf, "sampleindex.cs", relative + "/index" + DroidDoc.htmlExtension);
+    }
+
+    public void writeIndexOnly(File dir, String relative) {
+        HDF hdf = writeIndex(dir);
+        ClearPage.write(hdf, "sampleindex.cs", relative + "/index" +
+                        DroidDoc.htmlExtension);
+    }
+
+    public HDF writeIndex(File dir) {
+        HDF hdf = DroidDoc.makeHDF();
+
+        hdf.setValue("page.title", dir.getName() + " - " + mTitle);
+        hdf.setValue("projectTitle", mTitle);
+
         String filename = dir.getPath() + "/_index.html";
-        String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename, -1,-1), filename,
-                                                "sample code", true, false, true);
+        String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename,
+                          -1,-1), filename, "sample code", true, false, true);
+
         if (summary == null) {
             summary = "";
         }
         hdf.setValue("summary", summary);
-        
-        ClearPage.write(hdf, "sampleindex.cs", relative + "/index" + DroidDoc.htmlExtension);
+
+        return hdf;
     }
 
     public void writePage(File f, String out, String subdir) {
diff --git a/tools/droiddoc/templates/sampleindex.cs b/tools/droiddoc/templates/sampleindex.cs
index 6e57cfd..9842384 100644
--- a/tools/droiddoc/templates/sampleindex.cs
+++ b/tools/droiddoc/templates/sampleindex.cs
@@ -20,23 +20,39 @@
 
 <?cs var:summary ?>
 
-<?cs if:subcount(subdirs) ?>
-    <h2>Subdirectories</h2>
-    <ul class="nolist">
-    <?cs each:dir=subdirs ?>
-      <li><a href="<?cs var:dir.name ?>/index.html"><?cs var:dir.name ?>/</a></li>
-    <?cs /each ?>
-    </ul>
-<?cs /if ?>
+<?cs if:android.whichdoc == "online" ?><?cs
+  # If this is the online docs, build the src code navigation links ?>
 
-<?cs if:subcount(files) ?>
-    <h2>Files</h2>
-    <ul class="nolist">
-    <?cs each:file=files ?>
-      <li><a href="<?cs var:file.href ?>"><?cs var:file.name ?></a></li>
-    <?cs /each ?>
-    </ul>
-<?cs /if ?>
+  <?cs if:subcount(subdirs) ?>
+      <h2>Subdirectories</h2>
+      <ul class="nolist">
+      <?cs each:dir=subdirs ?>
+        <li><a href="<?cs var:dir.name ?>/index.html"><?cs
+          var:dir.name ?>/</a></li>
+      <?cs /each ?>
+      </ul>
+  <?cs /if ?>
+
+  <?cs if:subcount(files) ?>
+      <h2>Files</h2>
+      <ul class="nolist">
+      <?cs each:file=files ?>
+        <li><a href="<?cs var:file.href ?>"><?cs
+          var:file.name ?></a></li>
+      <?cs /each ?>
+      </ul>
+  <?cs /if ?>
+
+<?cs else ?><?cs
+  # else, this means it's offline docs,
+          so don't show src links (we don't have the pages!) ?>
+
+<p>You can find the source code for this sample in your SDK at:</p>
+<p style="margin-left:2em">
+<code><em>&lt;sdk&gt;</em>/platforms/android-<em>&lt;version&gt;</em>/samples/</code>
+</p>
+
+<?cs /if ?><?cs # end if/else online docs ?>
 
 <?cs include:"footer.cs" ?>
 </div><!-- end jd-content -->