Merge "Improve gdbclient pid handling"
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index e7edbf3..853f9a0 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -128,6 +128,7 @@
 LOCAL_SOURCE_FILES_ALL_GENERATED:= # '',true
 # Don't delete the META_INF dir when merging static Java libraries.
 LOCAL_DONT_DELETE_JAR_META_INF:=
+LOCAL_ADDITIONAL_CERTIFICATES:=
 
 # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
 # iterate over thousands of entries every time.
diff --git a/core/combo/HOST_darwin-x86.mk b/core/combo/HOST_darwin-x86.mk
index 5b9f8f3..7361ce9 100644
--- a/core/combo/HOST_darwin-x86.mk
+++ b/core/combo/HOST_darwin-x86.mk
@@ -36,52 +36,69 @@
 
 build_mac_version := $(shell sw_vers -productVersion)
 
-ifneq ($(strip $(BUILD_MAC_SDK_EXPERIMENTAL)),)
-# SDK 10.7 and higher is not fully compatible with Android.
-mac_sdk_versions_supported :=  10.7 10.8
+mac_sdk_versions_supported :=  10.6 10.7 10.8
+ifneq ($(strip $(MAC_SDK_VERSION)),)
+mac_sdk_version := $(MAC_SDK_VERSION)
+ifeq ($(filter $(mac_sdk_version),$(mac_sdk_versions_supported)),)
+$(warning ****************************************************************)
+$(warning * MAC_SDK_VERSION $(MAC_SDK_VERSION) isn't one of the supported $(mac_sdk_versions_supported))
+$(warning ****************************************************************)
+$(error Stop.)
+endif
 else
-mac_sdk_versions_supported :=  10.6
-endif # BUILD_MAC_SDK_EXPERIMENTAL
-mac_sdk_versions_installed := $(shell xcodebuild -showsdks |grep macosx | sort | sed -e "s/.*macosx//g")
+mac_sdk_versions_installed := $(shell xcodebuild -showsdks | grep macosx | sort | sed -e "s/.*macosx//g")
 mac_sdk_version := $(firstword $(filter $(mac_sdk_versions_installed), $(mac_sdk_versions_supported)))
 ifeq ($(mac_sdk_version),)
 mac_sdk_version := $(firstword $(mac_sdk_versions_supported))
 endif
+endif
 
 mac_sdk_path := $(shell xcode-select -print-path)
-ifeq ($(findstring /Applications,$(mac_sdk_path)),)
-# Legacy Xcode
-mac_sdk_root := /Developer/SDKs/MacOSX$(mac_sdk_version).sdk
-else
-#  Xcode 4.4(App Store) or higher
-# /Applications/Xcode*.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk
+# try /Applications/Xcode*.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk
+#  or /Volume/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk
 mac_sdk_root := $(mac_sdk_path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(mac_sdk_version).sdk
+ifeq ($(wildcard $(mac_sdk_root)),)
+# try legacy /Developer/SDKs/MacOSX10.?.sdk
+mac_sdk_root := /Developer/SDKs/MacOSX$(mac_sdk_version).sdk
 endif
-
 ifeq ($(wildcard $(mac_sdk_root)),)
 $(warning *****************************************************)
-$(warning * Cannot find SDK $(mac_sdk_version) at $(mac_sdk_root))
-ifeq ($(strip $(BUILD_MAC_SDK_EXPERIMENTAL)),)
-$(warning * If you wish to build using higher version of SDK, )
-$(warning * try setting BUILD_MAC_SDK_EXPERIMENTAL=1 before )
-$(warning * rerunning this command )
-endif
+$(warning * Can not find SDK $(mac_sdk_version) at $(mac_sdk_root))
 $(warning *****************************************************)
 $(error Stop.)
 endif
 
+ifeq ($(mac_sdk_version),10.6)
+  gcc_darwin_version := 10
+else
+  gcc_darwin_version := 11
+endif
+
+HOST_TOOLCHAIN_ROOT := prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
+HOST_TOOLCHAIN_PREFIX := $(HOST_TOOLCHAIN_ROOT)/bin/i686-apple-darwin$(gcc_darwin_version)
+# Don't do anything if the toolchain is not there
+ifneq (,$(strip $(wildcard $(HOST_TOOLCHAIN_PREFIX)-gcc)))
+HOST_CC  := $(HOST_TOOLCHAIN_PREFIX)-gcc
+HOST_CXX := $(HOST_TOOLCHAIN_PREFIX)-g++
+ifeq ($(mac_sdk_version),10.8)
+# Mac SDK 10.8 no longer has stdarg.h, etc
+host_toolchain_header := $(HOST_TOOLCHAIN_ROOT)/lib/gcc/i686-apple-darwin$(gcc_darwin_version)/4.2.1/include
+HOST_GLOBAL_CFLAGS += -isystem $(host_toolchain_header)
+endif
+else
+HOST_CC := gcc
+HOST_CXX := g++
+endif # $(HOST_TOOLCHAIN_PREFIX)-gcc exists
+HOST_AR := $(AR)
+HOST_STRIP := $(STRIP)
+HOST_STRIP_COMMAND = $(HOST_STRIP) --strip-debug $< -o $@
+
 HOST_GLOBAL_CFLAGS += -isysroot $(mac_sdk_root) -mmacosx-version-min=$(mac_sdk_version) -DMACOSX_DEPLOYMENT_TARGET=$(mac_sdk_version)
 HOST_GLOBAL_LDFLAGS += -isysroot $(mac_sdk_root) -Wl,-syslibroot,$(mac_sdk_root) -mmacosx-version-min=$(mac_sdk_version)
 
 HOST_GLOBAL_CFLAGS += -fPIC -funwind-tables
 HOST_NO_UNDEFINED_LDFLAGS := -Wl,-undefined,error
 
-HOST_CC := gcc
-HOST_CXX := g++
-HOST_AR := $(AR)
-HOST_STRIP := $(STRIP)
-HOST_STRIP_COMMAND = $(HOST_STRIP) --strip-debug $< -o $@
-
 HOST_SHLIB_SUFFIX := .dylib
 HOST_JNILIB_SUFFIX := .jnilib
 
diff --git a/core/combo/HOST_linux-x86.mk b/core/combo/HOST_linux-x86.mk
index 28c8f8c..3001f59 100644
--- a/core/combo/HOST_linux-x86.mk
+++ b/core/combo/HOST_linux-x86.mk
@@ -22,23 +22,15 @@
 stat --format "%s" "$(1)" | tr -d '\n'
 endef
 
-# Special case for the Linux SDK: We need to use a special cross-toolchain
-# that generates machine code that will run properly on Ubuntu 8.04 (Hardy)
-# By default, the code generated by the Lucid host toolchain will not run
-# on previous versions of the platform, due to GLibc ABI mistmatches
-# (Lucid is 2.11, Hardy is 2.7)
-#
-# Note that components that need to be built as 64-bit (e.g. clearsilver
-# which is loaded by the 64-bit JVM through JNI), will have to use
-# LOCAL_CC and LOCAL_CXX to override this.
-#
-HOST_SDK_TOOLCHAIN_PREFIX := prebuilts/tools/gcc-sdk
+# Previously the prebiult host toolchain is used only for the sdk build,
+# that's why we have "sdk" in the path name.
+HOST_TOOLCHAIN_PREFIX := prebuilts/tools/gcc-sdk
 # Don't do anything if the toolchain is not there
-ifneq (,$(strip $(wildcard $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc)))
-HOST_CC  := $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc
-HOST_CXX := $(HOST_SDK_TOOLCHAIN_PREFIX)/g++
-HOST_AR  := $(HOST_SDK_TOOLCHAIN_PREFIX)/ar
-endif # $(HOST_SDK_TOOLCHAIN_PREFIX)/gcc exists
+ifneq (,$(strip $(wildcard $(HOST_TOOLCHAIN_PREFIX)/gcc)))
+HOST_CC  := $(HOST_TOOLCHAIN_PREFIX)/gcc
+HOST_CXX := $(HOST_TOOLCHAIN_PREFIX)/g++
+HOST_AR  := $(HOST_TOOLCHAIN_PREFIX)/ar
+endif # $(HOST_TOOLCHAIN_PREFIX)/gcc exists
 
 ifneq ($(strip $(BUILD_HOST_64bit)),)
 # By default we build everything in 32-bit, because it gives us
diff --git a/core/definitions.mk b/core/definitions.mk
index 97a909b..8926b2b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1659,7 +1659,8 @@
 define sign-package
 $(hide) mv $@ $@.unsigned
 $(hide) java -jar $(SIGNAPK_JAR) \
-	$(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) $@.unsigned $@.signed
+    $(PRIVATE_CERTIFICATE) $(PRIVATE_PRIVATE_KEY) \
+    $(PRIVATE_ADDITIONAL_CERTIFICATES) $@.unsigned $@.signed
 $(hide) mv $@.signed $@
 endef
 
diff --git a/core/package.mk b/core/package.mk
index 358caee..3af1afb 100644
--- a/core/package.mk
+++ b/core/package.mk
@@ -376,6 +376,9 @@
 PACKAGES.$(LOCAL_PACKAGE_NAME).PRIVATE_KEY := $(private_key)
 PACKAGES.$(LOCAL_PACKAGE_NAME).CERTIFICATE := $(certificate)
 
+$(LOCAL_BUILT_MODULE): PRIVATE_ADDITIONAL_CERTIFICATES := $(foreach c,\
+    $(LOCAL_ADDITIONAL_CERTIFICATES), $(c).x509.pem $(c).pk8)
+
 # Define the rule to build the actual package.
 $(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN)
 ifdef LOCAL_DEX_PREOPT
diff --git a/tools/droiddoc/templates-sdk/assets/css/default.css b/tools/droiddoc/templates-sdk/assets/css/default.css
index f56fc98..89b6c88 100644
--- a/tools/droiddoc/templates-sdk/assets/css/default.css
+++ b/tools/droiddoc/templates-sdk/assets/css/default.css
@@ -129,11 +129,14 @@
 em {
   font-style: italic; }
 
-acronym {
+acronym,
+.tooltip-link {
   border-bottom: 1px dotted #555555;
   cursor: help; }
 
-acronym:hover {
+acronym:hover,
+.tooltip-link:hover {
+  color: #7aa1b0;
   border-bottom-color: #7aa1b0; }
 
 img.with-shadow,
@@ -483,6 +486,49 @@
     float:right;
     text-transform:uppercase;
   }
+  
+  
+  
+  /* inner-doc tabs w/ title */
+  
+div#title-tabs-wrapper {
+  border-bottom:1px solid #ccc;
+  margin:20px 0 30px;
+}
+h1.with-title-tabs {
+  display:inline-block;
+  margin:0 0 -1px 0;
+  padding:0 60px 0 0;
+  border-bottom:1px solid #F9F9F9;
+}
+ul#title-tabs {
+  list-style:none;
+  padding:0;
+  height:29px;
+  margin:0;
+  font-size:16px;
+  line-height:26px;
+  display:inline-block;
+  vertical-align:bottom;
+}
+ul#title-tabs li {
+  display:block;
+  float:left;
+  margin-right:40px;
+  border-bottom: 3px solid transparent;
+}
+ul#title-tabs li.selected {
+  border-bottom: 3px solid #93C;
+}
+ul#title-tabs li a {
+  color:#333;
+}
+ul#title-tabs li a:hover,
+ul#title-tabs li a:active {
+  color:#93C !important;
+}
+
+
 
 /* content body */
 @-webkit-keyframes glowheader {
@@ -938,9 +984,12 @@
 dd p {
   margin:10px 0 0;
 }
-ul p,
-ol p {
-  margin:5px 0 0;
+li p,
+li pre,
+li ul,
+li ol {
+  margin-top:5px;
+  margin-bottom:5px;
 }
 pre strong, pre b, a strong, a b, a code {
     color: inherit;
@@ -1418,18 +1467,14 @@
     color: #444;
 }
 a.button, a.button:visited, a.button-secondary, a.button-secondary:visited {
-    height: 28px;
-    line-height: 28px;
     margin-right: 16px;
-	font-weight: 400;
+	 font-weight: 400;
     min-width: 54px;
     outline: 0;
     padding: 8px 15px;
     text-align: center;
 }
 .button, .button-secondary {
-    height: 34px;
-    line-height: 34px;
     margin-right: 16px;
 	font-weight: 400;
     min-width: 54px;
@@ -1455,6 +1500,9 @@
     background-image: none;
     border-color: #30b7e6;
 }
+a.button.big.subtitle {
+  line-height:18px;
+}
 .button-secondary:hover, a.button-secondary:hover {
     border-color: #dbdbdb;
     background-color: #f3f3f3;
@@ -1469,7 +1517,7 @@
     color: #33B5E5 !important;
 }
 .button-secondary:active, a.button-secondary:active {
-    border-color: #dadada;
+   border-color: #dadada;
 	background: #ebebeb; /* Old browsers */
 	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
 	background:
@@ -1510,12 +1558,20 @@
   font-size:20px;
   display:inline-block;
 }
+.button.big span.small {
+  font-size:14px;
+}
+.button-caption {
+  margin-top:10px;
+  font-size:12px;
+  font-style:italic;
+}
 
 .button.disabled,
 .button.disabled:hover,
 .button.disabled:active {
   background:#ebebeb;
-  color:#999;
+  color:#999 !important;
   border-color:#999;
   cursor:default;
 }
@@ -1832,15 +1888,54 @@
     border-color: #eff2f9;
 }
 */
+
+/* SDK TOS styles */
+
+div.sdk-terms {
+  white-space: pre-wrap;
+  word-wrap: break-word;
+  font-family: inherit;
+  font-size: inherit;
+  padding: 10px;
+  height: 370px;
+  width: 738px;
+  border: 1px solid #444;
+  background: transparent;
+  overflow:auto;
+  margin:0 0 10px;
+}
+
+div.sdk-terms.fullsize {
+  padding: 0;
+  height: auto;
+  width: auto;
+  border:none;
+}
+
+div.sdk-terms h3,
+div.sdk-terms h2 {
+  margin:0;
+}
+
+div#sdk-terms-form {
+  padding:0 0 0 10px;
+}
+
+div#sdk-terms-form input#agree {
+  display:inline;
+  margin:4px 4px 4px 0;
+}
+
+
 /* --------------------------------------------------------------------------
 Code Style
 */
 pre {
-	margin:0 0 1em 0;
-	padding: 1em;
-	overflow: auto;
-	border: solid 1px #ddd;
-	background: #f7f7f7;	
+  margin:0 0 1em 0;
+  padding: 1em;
+  overflow: auto;
+  border: solid 1px #ddd;
+  background: #f7f7f7;	
 }
 .str { color: #080; }
 .kwd { color: #008; }
@@ -2332,6 +2427,29 @@
   line-height:30px;
 }
 
+.expandable {
+  height:34px;
+  padding-left:20px;
+  position:relative;
+}
+.expandable:before {
+  content: '';
+  background-image: url(../images/styles/disclosure_down.png);
+  background-repeat:no-repeat;
+  background-position: -12px -9px;
+  width: 20px;
+  height: 20px;
+  display: inline-block;
+  position: absolute;
+  top: 0;
+  left: 0; }
+}
+.expandable.expanded:before {
+  background-image: url(../images/styles/disclosure_up.png);
+}
+
+
+
 /* -----------------------------------------------
 Dialog box for popup messages 
 */
diff --git a/tools/droiddoc/templates-sdk/assets/js/docs.js b/tools/droiddoc/templates-sdk/assets/js/docs.js
index d18c490..3cdfe1e 100644
--- a/tools/droiddoc/templates-sdk/assets/js/docs.js
+++ b/tools/droiddoc/templates-sdk/assets/js/docs.js
@@ -28,7 +28,7 @@
   $('.scroll-pane').jScrollPane( {verticalGutter:0} );
   
   // add HRs below all H2s (except for a few other h2 variants)
-  $('h2').not('#qv h2').not('#tb h2').not('.sidebox h2').not('#devdoc-nav h2').css({marginBottom:0}).after('<hr/>');
+  $('h2').not('#qv h2').not('#tb h2').not('.sidebox h2').not('#devdoc-nav h2').not('h2.norule').css({marginBottom:0}).after('<hr/>');
   
   // set search's onkeyup handler here so we can show suggestions 
   // even while search results are visible
@@ -384,11 +384,11 @@
 
   // Set up tooltips
   var TOOLTIP_MARGIN = 10;
-  $('acronym').each(function() {
+  $('acronym,.tooltip-link').each(function() {
     var $target = $(this);
     var $tooltip = $('<div>')
         .addClass('tooltip-box')
-        .text($target.attr('title'))
+        .append($target.attr('title'))
         .hide()
         .appendTo('body');
     $target.removeAttr('title');
@@ -1052,6 +1052,22 @@
 }
 
 
+/* New version of expandable content */
+function toggleExpandable(link,id) {
+  if($(id).is(':visible')) {
+    $(id).slideUp();
+    $(link).removeClass('expanded');
+  } else {
+    $(id).slideDown();
+    $(link).addClass('expanded');
+  }
+}
+
+function hideExpandable(ids) {
+  $(ids).slideUp();
+  $(ids).prev('h4').find('a.expandable').removeClass('expanded');
+}
+
 
 
 
diff --git a/tools/droiddoc/templates-sdk/docpage.cs b/tools/droiddoc/templates-sdk/docpage.cs
index 63abceb..3f1cfcf 100644
--- a/tools/droiddoc/templates-sdk/docpage.cs
+++ b/tools/droiddoc/templates-sdk/docpage.cs
@@ -101,7 +101,17 @@
         <?cs /if ?>
       </div>
     <?cs else ?>
-      <h1 itemprop="name"><?cs var:page.title ?></h1>
+      <?cs if:tab1 ?><div id="title-tabs-wrapper"><?cs /if ?>
+        <h1 itemprop="name" <?cs if:tab1 ?>class="with-title-tabs"<?cs /if ?>><?cs var:page.title ?></h1><?cs
+          if:tab1 ?><ul id="title-tabs">
+              <li class="selected"><a href="<?cs var:tab1.link ?>"><?cs var:tab1 ?></a></li>
+              <?cs if:tab2 ?>
+              <li><a href="<?cs var:tab2.link ?>"><?cs var:tab2 ?></a></li><?cs /if ?>
+              <?cs if:tab3 ?>
+              <li><a href="<?cs var:tab3.link ?>"><?cs var:tab3 ?></a></li><?cs /if ?>
+            </ul>
+          <?cs /if ?>
+      <?cs if:tab1 ?></div><!-- end tab-wrapper --><?cs /if ?>
     <?cs /if ?>
   <?cs /if ?>
 <?cs /if ?><?cs # end if design ?>
diff --git a/tools/droiddoc/templates-sdk/sdkpage.cs b/tools/droiddoc/templates-sdk/sdkpage.cs
index 8de6668..41c9446 100644
--- a/tools/droiddoc/templates-sdk/sdkpage.cs
+++ b/tools/droiddoc/templates-sdk/sdkpage.cs
@@ -76,7 +76,6 @@
 #
 ?>
 
-
   <table class="download" id="download-table">
     <tr>
       <th>Platform</th>
@@ -87,7 +86,7 @@
   <tr>
     <td>Windows</td>
     <td>
-  <a onClick="_gaq.push(['_trackEvent', 'Tools', 'Download NDK', 'Link <' + <?cs var:ndk.win_download ?> + '>']);"
+  <a onClick="return onDownload(this)"
      href="http://dl.google.com/android/ndk/<?cs var:ndk.win_download ?>"><?cs var:ndk.win_download ?></a>
     </td>
     <td><?cs var:ndk.win_bytes ?> bytes</td>
@@ -96,7 +95,7 @@
   <tr class="alt-color">
     <td>Mac OS X (intel)</td>
     <td>
-  <a onClick="_gaq.push(['_trackEvent', 'Tools', 'Download NDK', 'Link <' + <?cs var:ndk.mac_download ?> + '>']);"
+  <a onClick="return onDownload(this)"
      href="http://dl.google.com/android/ndk/<?cs var:ndk.mac_download ?>"><?cs var:ndk.mac_download ?></a>
     </td>
     <td><?cs var:ndk.mac_bytes ?> bytes</td>
@@ -105,7 +104,7 @@
   <tr>
     <td>Linux 32/64-bit (x86)</td>
     <td>
-  <a onClick="_gaq.push(['_trackEvent', 'Tools', 'Download NDK', 'Link <' + <?cs var:ndk.linux_download ?> + '>']);"
+  <a onClick="return onDownload(this)"
      href="http://dl.google.com/android/ndk/<?cs var:ndk.linux_download ?>"><?cs var:ndk.linux_download ?></a>
     </td>
     <td><?cs var:ndk.linux_bytes ?> bytes</td>
@@ -116,6 +115,56 @@
   <?cs ########  HERE IS THE JD DOC CONTENT ######### ?>
   <?cs call:tag_list(root.descr) ?>
 
+
+  
+<script>
+  function onDownload(link) {
+
+    $("#downloadForRealz").html("Download " + $(link).text());
+    $("#downloadForRealz").attr('href',$(link).attr('href'));
+
+    $("#tos").fadeIn('slow');
+
+    location.hash = "download";
+    return false;
+  }
+
+
+  function onAgreeChecked() {
+    if ($("input#agree").is(":checked")) {
+      $("a#downloadForRealz").removeClass('disabled');
+    } else {
+      $("a#downloadForRealz").addClass('disabled');
+    }
+  }
+
+  function onDownloadNdkForRealz(link) {
+    if ($("input#agree").is(':checked')) {
+      $("#tos").fadeOut('slow');
+      
+      $('html, body').animate({
+          scrollTop: $("#Installing").offset().top
+        }, 800, function() {
+          $("#Installing").click();
+      });
+     
+      return true;
+    } else {
+      $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
+        function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
+      );
+      return false;
+    }
+  }
+
+  $(window).hashchange( function(){
+    if (location.hash == "") {
+      location.reload();
+    }
+  });
+
+</script>
+
   <?cs else ?>
 <?cs # end if NDK ... 
 #
@@ -138,8 +187,56 @@
 <?cs ########  HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?>
 <?cs call:tag_list(root.descr) ?>
 
-<div class="wrap">
-<div class="pax col-13 online" style="display:none">
+
+
+
+<h4><a href='' class="expandable"
+  onclick="toggleExpandable(this,'.pax');hideExpandable('.myide,.reqs');return false;"
+  >DOWNLOAD FOR OTHER PLATFORMS</a></h4>
+  
+  
+<div class="pax col-13 online" style="display:none;margin:0;">
+
+  
+<p class="table-caption"><strong>ADT Bundle</strong></p>
+  <table class="download">
+    <tr>
+      <th>Platform</th>
+      <th>Package</th>
+      <th>Size</th>
+      <th>MD5 Checksum</th>
+  </tr>
+  <tr>
+    <td>Windows</td>
+    <td>
+  <a onClick="return onDownload(this)" id="win-bundle"
+     href="http://dl.google.com/android/<?cs var:sdk.win_bundle_download ?>"><?cs var:sdk.win_bundle_download ?></a>
+    </td>
+    <td><?cs var:sdk.win_bundle_bytes ?> bytes</td>
+    <td><?cs var:sdk.win_bundle_checksum ?></td>
+  </tr>
+  <tr class="alt-color">
+    <td>Mac OS X (intel)</td>
+    <td>
+  <a onClick="return onDownload(this)" id="mac-bundle"
+     href="http://dl.google.com/android/<?cs var:sdk.mac_bundle_download ?>"><?cs var:sdk.mac_bundle_download ?></a>
+    </td>
+    <td><?cs var:sdk.mac_bundle_bytes ?> bytes</td>
+    <td><?cs var:sdk.mac_bundle_checksum ?></td>
+  </tr>
+  <tr>
+    <td>Linux 32/64-bit (x86)</td>
+    <td>
+  <a onClick="return onDownload(this)" id="linux-bundle"
+     href="http://dl.google.com/android/<?cs var:sdk.linux_bundle_download ?>"><?cs var:sdk.linux_bundle_download ?></a>
+    </td>
+    <td><?cs var:sdk.linux_bundle_bytes ?> bytes</td>
+    <td><?cs var:sdk.linux_bundle_checksum ?></td>
+  </tr>
+  </table>
+
+
+<p class="table-caption"><strong>SDK Tools Only</strong></p>
   <table class="download">
     <tr>
       <th>Platform</th>
@@ -150,7 +247,7 @@
   <tr>
     <td rowspan="2">Windows</td>
     <td>
-  <a onclick="onDownload(this,false)" href="http://dl.google.com/android/<?cs var:sdk.win_download
+  <a onclick="return onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download
 ?>"><?cs var:sdk.win_download ?></a>
     </td>
     <td><?cs var:sdk.win_bytes ?> bytes</td>
@@ -159,7 +256,7 @@
   <tr>
     <!-- blank TD from Windows rowspan -->
     <td>
-  <a onclick="onDownload(this,false)" id="win-sdk" href="http://dl.google.com/android/<?cs
+  <a onclick="return onDownload(this)" id="win-tools" href="http://dl.google.com/android/<?cs
 var:sdk.win_installer
 ?>"><?cs var:sdk.win_installer ?></a> (Recommended)
     </td>
@@ -169,7 +266,7 @@
   <tr class="alt-color">
     <td>Mac OS X (intel)</td>
     <td>
-  <a onclick="onDownload(this,false)" id="mac-sdk" href="http://dl.google.com/android/<?cs
+  <a onclick="return onDownload(this)" id="mac-tools" href="http://dl.google.com/android/<?cs
 var:sdk.mac_download
 ?>"><?cs var:sdk.mac_download ?></a>
     </td>
@@ -179,7 +276,7 @@
   <tr>
     <td>Linux (i386)</td>
     <td>
-  <a onclick="onDownload(this,false)" id="linux-sdk" href="http://dl.google.com/android/<?cs
+  <a onclick="return onDownload(this)" id="linux-tools" href="http://dl.google.com/android/<?cs
 var:sdk.linux_download
 ?>"><?cs var:sdk.linux_download ?></a>
     </td>
@@ -187,50 +284,113 @@
     <td><?cs var:sdk.linux_checksum ?></td>
   </tr>
   </table>
+
+</div><!-- end pax -->
+
+
+
+</div><!-- end col-13 for lower-half content -->
+  
+  
   
   
 <script>
-  function onDownload(link,fromButton) {
-    $("#filename").text($(link).html());
-    $("#next-steps").fadeIn('slow');
-    $("#intro").fadeOut('slow');
-    $('.pax').slideUp();
-    $('.reqs').slideUp();
-    // Deliver Analytics event
-    if (fromButton) {
-      _gaq.push(['_trackEvent', 'Tools', 'Download SDK', 'Button <' + text($(link).html()) + '>']);
-    } else {
-      _gaq.push(['_trackEvent', 'Tools', 'Download SDK', 'Link <' + text($(link).html()) + '>']);
-    }
+  if (location.hash == "#Requirements") {
+    $('.reqs').show();
+  } else if (location.hash == "#ExistingIDE") {
+	 $('.ide').show();
   }
-  
-  
+
   var os;
-  var $link;
+  var $bundlelink;
+  var $toolslink;
+
   if (navigator.appVersion.indexOf("Win")!=-1) {
     os = "Windows";
-    $link = $('#win-sdk');
+    $bundlelink = $('#win-bundle');
+    $toolslink = $('#win-tools');
   } else if (navigator.appVersion.indexOf("Mac")!=-1) {
     os = "Mac";
-    $link = $('#mac-sdk');
+    $bundlelink = $('#mac-bundle');
+    $toolslink = $('#mac-tools');
   } else if (navigator.appVersion.indexOf("Linux")!=-1) {
     os = "Linux";
-    $link = $('#linux-sdk');
+    $bundlelink = $('#linux-bundle');
+    $toolslink = $('#linux-tools');
   }
 
   if (os) {
     $('#not-supported').hide();
-    $('#download-button').show();
-    $('#download-button').text("Download the SDK for " + os);
-    $('#download-button').click(function() {onDownload($link.get());}).attr('href', $link.attr('href'),true);
+
+    /* set up primary adt download button */
+    $('#download-bundle-button').show();
+    $('#download-bundle-button').append("Download the SDK <br/><span class='small'>ADT Bundle for " + os + "</span>");
+    $('#download-bundle-button').click(function() {return onDownload(this,true);}).attr('href', $bundlelink.attr('href'));
+
+    /* set up sdk tools only button */
+    $('#download-tools-button').show();
+    $('#download-tools-button').append("Download the SDK Tools for " + os);
+    $('#download-tools-button').click(function() {return onDownload(this,true);}).attr('href', $toolslink.attr('href'));
   } else {
     $('.pax').show();
   }
 
+  function onDownload(link, button) {
+
+    if (button) {
+      $("#downloadForRealz").html($(link).text());
+    } else {
+      $("#downloadForRealz").html("Download " + $(link).text());
+      $("a#next-link").html("Setting Up an Existing IDE").attr('href',toRoot + 'sdk/installing/index.html');
+    }
+    $("#downloadForRealz").attr('href',$(link).attr('href'));
+
+    $("#tos").fadeIn('fast');
+    $("#landing").fadeOut('fast');
+
+    location.hash = "download";
+    return false;
+  }
+
+
+  function onAgreeChecked() {
+    if ($("input#agree").is(":checked")) {
+      $("a#downloadForRealz").removeClass('disabled');
+    } else {
+      $("a#downloadForRealz").addClass('disabled');
+    }
+  }
+
+  function onDownloadForRealz(link) {
+    if ($("input#agree").is(':checked')) {
+      $("div.sdk-terms").slideUp();
+      $("#sdk-terms-form,.sdk-terms-intro").fadeOut('slow');
+      $("#next-steps").fadeIn('slow');
+      $("h1#tos-header").text('Get Ready to Code!');
+      return true;
+    } else {
+      $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
+        function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
+      );
+      return false;
+    }
+  }
+
+  $(window).hashchange( function(){
+    if (location.hash == "") {
+      location.reload();
+    }
+  });
+
 </script>
 
-</div><!-- end pax -->
-</div><!-- end wrap -->
+
+
+</div><!-- end the wrapper used for relative/absolute positions  -->
+<?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
+
+
+
 
   <?cs else ?> <?cs # end if online ?>