diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk
index b45729d..96ce0c1 100644
--- a/core/tasks/cts.mk
+++ b/core/tasks/cts.mk
@@ -68,6 +68,7 @@
 	CtsAppTestCases \
 	CtsContentTestCases \
 	CtsDatabaseTestCases \
+        CtsGestureTestCases \
 	CtsGraphicsTestCases \
 	CtsHardwareTestCases \
 	CtsLocationTestCases \
diff --git a/target/product/core.mk b/target/product/core.mk
index 204345e..347b127 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -24,6 +24,5 @@
     VpnServices \
     UserDictionaryProvider \
     PackageInstaller \
-    WebSearchProvider \
     Bugreport
 
diff --git a/target/product/min_dev.mk b/target/product/min_dev.mk
index 005af70..7d0fbe6 100644
--- a/target/product/min_dev.mk
+++ b/target/product/min_dev.mk
@@ -12,7 +12,6 @@
     MediaProvider \
     SettingsProvider \
     PackageInstaller \
-    WebSearchProvider \
     Bugreport \
     Launcher \
     Settings \
diff --git a/tools/droiddoc/templates-sdk/sdkpage.cs b/tools/droiddoc/templates-sdk/sdkpage.cs
index fdc1df5..328d894 100644
--- a/tools/droiddoc/templates-sdk/sdkpage.cs
+++ b/tools/droiddoc/templates-sdk/sdkpage.cs
@@ -110,16 +110,18 @@
   Android 1.6 and we are pleased to announce the availability of an early look
   SDK to give you a head-start on developing applications for it. </p>
 
-  <p>The Android 1.6 platform includes a variety of improvements and new
-  features for users and developers. Additionally, the SDK itself introduces
-  several new capabilities that enable you to develop applications more
-  efficiently. See the <a href="features.html">Android 1.6 Highlights</a> 
-  document for a list of highlights.</p>
-  <?cs /if ?>
+  <p>The Android <?cs var:sdk.preview.version ?> platform includes a variety of
+improvements and new features for users and developers. Additionally, the SDK
+itself introduces several new capabilities that enable you to develop
+applications more efficiently. See the <a href="features.html">Android <?cs
+var:sdk.preview.version ?> Platform Highlights</a> document for a list of 
+highlights.</p>
+<?cs /if ?>
 
 <p>Before downloading, please read the <a href="requirements.html">
-System Requirements</a> document. As you start the download, you will also need to review and agree to 
-the Terms and Conditions that govern the use of the Android SDK. </p>
+System Requirements</a> document. As you start the download, you will also need 
+to review and agree to the Terms and Conditions that govern the use of the 
+Android SDK. </p>
   
   <table class="download">
     <tr>
@@ -170,14 +172,17 @@
 
 <?cs if:android.whichdoc != "online" && sdk.preview ?>
   <p>Welcome developers! The next release of the Android platform will be
-  Android 1.6 and we are pleased to announce the availability of an early look SDK
-  to give you a head-start on developing applications for it. </p>
+Android <?cs var:sdk.preview.version ?> and we are pleased to announce the
+availability of an early look SDK to give you a head-start on developing
+applications for it. </p>
 
-  <p>The Android 1.6 platform includes a variety of improvements and new features
-  for users and developers. Additionally, the SDK itself introduces several new
-  capabilities that enable you to develop applications more efficiently.
-  See the <a href="http://developer.android.com/sdk/preview/features.html">
-  Android 1.6 Highlights</a> document for a list of highlights.</p>
+  <p>The Android <?cs var:sdk.preview.version ?> platform includes a variety of
+improvements and new features for users and developers. Additionally, the SDK
+itself introduces several new capabilities that enable you to develop
+applications more efficiently. See the <a
+href="http://developer.android.com/sdk/preview/features.html">Android 
+<?cs var:sdk.preview.version ?> Highlights</a> document for a list of
+highlights.</p>
 <?cs /if ?>
 
       <?cs call:tag_list(root.descr) ?>
diff --git a/tools/droiddoc/templates/assets/android-developer-core.css b/tools/droiddoc/templates/assets/android-developer-core.css
index a0f1adb..acb873d 100644
--- a/tools/droiddoc/templates/assets/android-developer-core.css
+++ b/tools/droiddoc/templates/assets/android-developer-core.css
@@ -133,13 +133,17 @@
 }
 
 li ul,
-li ol {
+li ol,
+dd ul,
+dd ol {
   margin:0;
   padding: 0 0 0 2em;
 }
 
-dl li {
-  padding:.5em 0 0 0;
+li li,
+dd li {
+  margin:0;
+  padding:.5em 0 0;
 }
 
 dl dl,
diff --git a/tools/droiddoc/templates/assets/images/home/donut-android.png b/tools/droiddoc/templates/assets/images/home/donut-android.png
old mode 100644
new mode 100755
index 85bc952..6aba06b
--- a/tools/droiddoc/templates/assets/images/home/donut-android.png
+++ b/tools/droiddoc/templates/assets/images/home/donut-android.png
Binary files differ
