droiddoc change: revise the sample code generating script so that
all the source code pages are NOT generated for the offline version
of the docs (only show source in html for online docs).

This won't work until a companion change from framwork/base/Android.mk
is submitted (but shouldn't break the build).

Change-Id: I06c404540870071c2a5a8aa460e156506fd975cb
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 -->