AI 150370: Add localized content infrastructure in droiddoc templates, javascript, and css.  DocFile.java - instead of FileReader, use InputStreamReader with UTF-8 encoding. ClearPage.java - add UTF-8 output encoding to FileOutputStreamWriter. Note: this change also up-integrates gerrit 2146 (smain).
  BUG=1910893

Automated import of CL 150370
diff --git a/tools/droiddoc/templates/assets/android-developer-core.css b/tools/droiddoc/templates/assets/android-developer-core.css
index 8a1b9cd..dee006f 100644
--- a/tools/droiddoc/templates/assets/android-developer-core.css
+++ b/tools/droiddoc/templates/assets/android-developer-core.css
@@ -238,6 +238,10 @@
   top:7px;
 }
 
+#header li a span+span {
+  display:none;
+}
+
 /* TAB HIGHLIGHTING */
 .home #home-link a,
 .publish #publish-link a,
@@ -276,8 +280,12 @@
   color: #7FA9B5;
 }
 
+#headerLinks img {
+  vertical-align:middle;
+}
+
 #language {
-  margin:0 10px;
+  margin:0 10px 0 4px;
 }
 
 #search {
diff --git a/tools/droiddoc/templates/assets/android-developer-docs.css b/tools/droiddoc/templates/assets/android-developer-docs.css
index f4aa5ef..cf44b26 100644
--- a/tools/droiddoc/templates/assets/android-developer-docs.css
+++ b/tools/droiddoc/templates/assets/android-developer-docs.css
@@ -89,6 +89,10 @@
   zoom:1;
 }
 
+#side-nav li a span+span {
+  display:none;
+}
+
 #side-nav li a:hover {
   text-decoration:underline;
 }
@@ -1130,9 +1134,9 @@
     page-break-inside: avoid;
   }
 
-  #qv,
+/*  #qv,
   #qv-wrapper {
     display:none;
   }
-
+*/
 }
diff --git a/tools/droiddoc/templates/assets/android-developer-docs.js b/tools/droiddoc/templates/assets/android-developer-docs.js
index 160e492..964191b 100644
--- a/tools/droiddoc/templates/assets/android-developer-docs.js
+++ b/tools/droiddoc/templates/assets/android-developer-docs.js
@@ -31,15 +31,6 @@
   addLoadEvent(mobileSetup);
 }
 
-/* loads the lists.js file to the page. 
-Loading this in the head was slowing page load time */
-addLoadEvent( function() {
-  var lists = document.createElement("script");
-  lists.setAttribute("type","text/javascript");
-  lists.setAttribute("src", toRoot+"reference/lists.js");
-  $("head").append($(lists));
-} );
-
 window.onresize = resizeAll;
 
 function mobileSetup() {
@@ -214,6 +205,19 @@
   }
 }
 
+function getBaseUri(uri) {
+  intlUrl = uri.substring(0,6) == "/intl/";
+  if (intlUrl) {
+    base = uri.substring(uri.indexOf('intl/')+5,uri.length);
+    base = base.substring(base.indexOf('/')+1, base.length);
+      //alert("intl, returning base url: /" + base);
+    return ("/" + base);
+  } else {
+      //alert("not intl, returning uri as found.");
+    return uri;
+  }
+}
+
 function loadLast(cookiePath) {
   var location = window.location.href;
   if (location.indexOf("/"+cookiePath+"/") != -1) {
@@ -228,7 +232,7 @@
 }
 
 $(window).unload(function(){
-  var path = location.pathname;
+  var path = getBaseUri(location.pathname);
   if (path.indexOf("/reference/") != -1) {
     writeCookie("lastpage", path, "reference", null);
   } else if (path.indexOf("/guide/") != -1) {
@@ -236,8 +240,6 @@
   }
 });
 
-
-
 function toggle(obj, slide) {
   var ul = $("ul", obj);
   var li = ul.parent();
@@ -258,8 +260,6 @@
   }
 }
 
-
-
 function buildToggleLists() {
   $(".toggle-list").each(
     function(i) {
@@ -291,11 +291,11 @@
     nav_pref = NAV_PREF_PANELS;
   } else {
     nav_pref = NAV_PREF_TREE;
-    init_default_navtree(toRoot);
+    init_navtree("nav-tree", toRoot, NAVTREE_DATA);
   }
   var date = new Date();
   date.setTime(date.getTime()+(10*365*24*60*60*1000)); // keep this for 10 years
-  writeCookie("nav", nav_pref, null, date.toGMTString());
+  writeCookie("nav", nav_pref, "reference", date.toGMTString());
 
   $("#nav-panels").toggle();
   $("#panel-link").toggle();
@@ -396,12 +396,16 @@
   changeNavLang(lang);
 }
 
-function changeLangPref(lang) {
+function changeLangPref(lang, refresh) {
   var date = new Date();
-  date.setTime(date.getTime()+(50*365*24*60*60*1000)); // keep this for 50 years
-  writeCookie("pref_lang", lang, null, date);
-  
-  changeDocLang(lang);
+  expires = date.toGMTString(date.setTime(date.getTime()+(10*365*24*60*60*1000))); // keep this for 50 years
+  //alert("expires: " + expires)
+  writeCookie("pref_lang", lang, null, expires);
+  //changeDocLang(lang);
+  if (refresh) {
+    l = getBaseUri(location.pathname);
+    window.location = l;
+  }
 }
 
 function loadLangPref() {
@@ -414,4 +418,3 @@
 function getLangPref() {
   return $("#language").find(":selected").attr("value");
 }
-