auto import from //branches/cupcake/...@137873
diff --git a/tools/droiddoc/templates/assets/android-developer-docs.js b/tools/droiddoc/templates/assets/android-developer-docs.js
index a84d5a6..2a8c3bf 100644
--- a/tools/droiddoc/templates/assets/android-developer-docs.js
+++ b/tools/droiddoc/templates/assets/android-developer-docs.js
@@ -9,7 +9,7 @@
 var NAV_PREF_PANELS = "panels";
 var nav_pref;
 var toRoot;
-
+var isMobile = false; // true if mobile, so we can adjust some layout
 
 function addLoadEvent(newfun) {
   var current = window.onload;
@@ -23,8 +23,25 @@
   }
 }
 
+var agent = navigator['userAgent'];
+if ((agent.indexOf("Mobile") != -1) || 
+    (agent.indexOf("BlackBerry") != -1) || 
+    (agent.indexOf("Mini") != -1)) {
+  isMobile = true;
+  addLoadEvent(mobileSetup);
+}
+
 window.onresize = resizeAll;
 
+function mobileSetup() {
+  $("body").css({'overflow':'auto'});
+  $("html").css({'overflow':'auto'});
+  $("#body-content").css({'position':'relative', 'top':'0'});
+  $("#doc-content").css({'overflow':'visible', 'border-left':'3px solid #DDD'});
+  $("#side-nav").css({'padding':'0'});
+  $("#nav-tree").css({'overflow-y': 'auto'});
+}
+
 function setToRoot(root) {
   toRoot = root;
   // note: toRoot also used by carousel.js
@@ -83,9 +100,6 @@
 } 
 
 function init() {
-  $("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizeHeight(); } });
-  $(".side-nav-resizable").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
-
   $("#side-nav").css({position:"absolute",left:0});
   content = $("#doc-content");
   resizePackagesNav = $("#resize-packages-nav");
@@ -98,17 +112,22 @@
   } else if (location.href.indexOf("/guide/") != -1) {
     var cookiePath = "guide_";
   }
-  var cookieWidth = getCookie(cookiePath+'width');
-  var cookieHeight = getCookie(cookiePath+'height');
-  if (cookieWidth) {
-    restoreWidth(cookieWidth);
-  } else if ($(".side-nav-resizable").length) {
-    resizeWidth();
-  }
-  if (cookieHeight) {
-    restoreHeight(cookieHeight);
-  } else {
-    resizeHeight();
+
+  if (!isMobile) {
+    $("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizeHeight(); } });
+    $(".side-nav-resizable").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
+    var cookieWidth = getCookie(cookiePath+'width');
+    var cookieHeight = getCookie(cookiePath+'height');
+    if (cookieWidth) {
+      restoreWidth(cookieWidth);
+    } else if ($(".side-nav-resizable").length) {
+      resizeWidth();
+    }
+    if (cookieHeight) {
+      restoreHeight(cookieHeight);
+    } else {
+      resizeHeight();
+    }
   }
 
   if (devdocNav.length) { // only dev guide and sdk 
@@ -175,9 +194,11 @@
 }
 
 function resizeAll() {
-  resizeHeight();
-  if ($(".side-nav-resizable").length) {
-    resizeWidth();
+  if (!isMobile) {
+    resizeHeight();
+    if ($(".side-nav-resizable").length) {
+      resizeWidth();
+    }
   }
 }
 
diff --git a/tools/droiddoc/templates/macros.cs b/tools/droiddoc/templates/macros.cs
index fe89045..aec9c22 100644
--- a/tools/droiddoc/templates/macros.cs
+++ b/tools/droiddoc/templates/macros.cs
@@ -283,16 +283,20 @@
       </div><!-- end swapper -->
     </div> <!-- end side-nav -->
     <script>
-      $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
-      chooseDefaultNav();
-      if ($("#nav-tree").is(':visible')) init_navtree("nav-tree", "<?cs var:toroot ?>", NAVTREE_DATA);
-      else {
-        addLoadEvent(function() {
-          scrollIntoView("packages-nav");
-          scrollIntoView("classes-nav");
-        });
+      if (!isMobile) {
+        $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) init_navtree("nav-tree", "<?cs var:toroot ?>", NAVTREE_DATA);
+        else {
+          addLoadEvent(function() {
+            scrollIntoView("packages-nav");
+            scrollIntoView("classes-nav");
+          });
+        }
+        $("#swapper").css({borderBottom:"2px solid #aaa"});
+      } else {
+        swapNav(); // tree view should be used on mobile
       }
-      $("#swapper").css({borderBottom:"2px solid #aaa"});
     </script><?cs 
 /def ?>