Cleaning up source.android.com files.

This change fixes some formatting artifacts that resulted from the export from
Sites, and also updates links to no longer point to Sites and use the standard
{@docRoot} idiom. Also contains a few content updates, and introduces a page
about branch management.
diff --git a/pdk/docs/about/philosophy.jd b/pdk/docs/about/philosophy.jd
index a1a75cc..64d0423 100644
--- a/pdk/docs/about/philosophy.jd
+++ b/pdk/docs/about/philosophy.jd
@@ -1,7 +1,6 @@
 page.title=Philosophy and Goals
 doc.type=about
 @jd:body
-<div id="mainBodyFixed">
 <p>Android is an open-source software stack for mobile phones and similar
 devices. The Android Open Source Project is tasked with maintaining current
 and developing new versions of the Android software. We believe that users
@@ -77,4 +76,3 @@
 focus. The "next release" of Android is driven by the product needs for the next
 generation of mobile devices; the resulting excellent product is then released
 to open source and becomes the new current version of the platform.</p>
-</div>
diff --git a/pdk/docs/community/groups-charter.jd b/pdk/docs/community/groups-charter.jd
index 69381d9..6d5b501 100644
--- a/pdk/docs/community/groups-charter.jd
+++ b/pdk/docs/community/groups-charter.jd
@@ -1,24 +1,6 @@
 page.title=Android Discussion Groups Charter
 doc.type=community
 @jd:body
-<h3><b>Android mailing lists charter</b>
-</h3>
-<div><div><div><div><div><p><b>Contents</b>
-</p>
-<ol><li><a href="#TOC-Audience"><b>1</b>
-Audience</a>
-</li>
-<li><a href="#TOC-Mailing-list-rules"><b>2</b>
-Mailing list rules</a>
-</li>
-<li><a href="#TOC-Contacting-the-moderators"><b>3</b>
-Contacting the moderators</a>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
 <h2>
 Audience
 </h2>
@@ -47,4 +29,3 @@
 </p>
 <p>But if you see an outrageous violation, want to report spam, feel very strongly about something, or even if you just want to chat, then contact the mailing list's owners. It's what we're here for!
 </p>
-</div>
diff --git a/pdk/docs/community/index.jd b/pdk/docs/community/index.jd
index d00838f..5d219c8 100644
--- a/pdk/docs/community/index.jd
+++ b/pdk/docs/community/index.jd
@@ -34,21 +34,23 @@
   read <a href="http://www.catb.org/%7Eesr/faqs/smart-questions.html">How To
   Ask Questions The Smart Way</a>.</li>
 </ol>
+
 <h2>Open Source Project discussions</h2>
 <ul>
+<li><b>android-building</b><br/>
+Subscribe to this list for discussion and help on building the Android source
+code, and on the build system. If you've just checked out the source code and
+have questions about how to turn it into binaries, start here.<br/><br/>
+Subscribe using Google Groups: <a
+href="http://groups.google.com/group/android-building">android-building</a><br/>
+Subscribe via email: <a href="mailto:android-building+subscribe@googlegroups.com">android-building+subscribe@googlegroups.com</a>
+</li>
+
 <li><b>android-platform</b><br/>
 This list is for developers who want to contribute code to the Android
 user-space projects, such as the core system libraries, the Android
-services, the public APIs, or the built-in applications. Before posting,
-please be sure you've downloaded the source code, compiled it, read through
-it, and are at the point where you're going to be making changes of your own
-to contribute into the Android source code. You can use this list to
-coordinate your efforts with those of other contributors, and
-discuss architecture, design and implementation. Please use android-kernel for
-discussions about contributing to the kernel, android-porting if you're
-porting Android to your own hardware or making changes that you're not going
-to contribute back, android-developers if you're writing applications with the
-SDK, or android-discuss for everything else.<br/><br/>
+services, the public APIs, or the built-in applications. Note: contributors
+to the Android kernel should go to the android-kernel list, below.<br/><br/>
 Subscribe using Google Groups: <a
 href="http://groups.google.com/group/android-platform">android-platform</a><br/>
 Subscribe via email: <a href="mailto:android-platform+subscribe@googlegroups.com">android-platform+subscribe@googlegroups.com</a>
@@ -77,16 +79,6 @@
 href="http://groups.google.com/group/android-kernel">android-kernel</a><br/>
 Subscribe via email: <a href="mailto:android-kernel+subscribe@googlegroups.com">android-kernel+subscribe@googlegroups.com</a>
 </li>
-
-<li><b>Repo and Gerrit discussion</b><br/>
-This list is for discussions on everything related to the process used to
-manage the Android source code with repo and gerrit: downloading the source
-code, submitting changes for review, commenting on code being reviewed,
-submitting changes for the world to enjoy.<br/><br/>
-Subscribe using Google Groups: <a
-href="http://groups.google.com/group/repo-discuss">repo-discuss</a><br/>
-Subscribe via email: <a href="mailto:repo-discuss+subscribe@googlegroups.com">repo-discuss+subscribe@googlegroups.com</a>
-</li>
 </ul>
 
 <h2>Using email with Google Groups</h2>
diff --git a/pdk/docs/compatibility/contact-us.jd b/pdk/docs/compatibility/contact-us.jd
index 92062ba..432dc22 100644
--- a/pdk/docs/compatibility/contact-us.jd
+++ b/pdk/docs/compatibility/contact-us.jd
@@ -1,11 +1,10 @@
-page.title=Android Compatibility - Contact Us
+page.title=Contact Us
 doc.type=compatibility
 @jd:body
-<h3><b>Mailing list</b>
-</h3>
+<h3><b>Mailing list</b></h3>
 <div><div>Welcome to the Android compatibility mailing list!<br>
 To get the most out of the mailing list discussions, please do the following before you post:
-<ol><li><b>Read the<a href="http://sites.google.com/a/android.com/opensource/discuss/android-discussion-groups-charter">mailing list charter</a>
+<ol><li><b>Read the <a href="http://sites.google.com/a/android.com/opensource/discuss/android-discussion-groups-charter">mailing list charter</a>
 </b>
 that covers the community guidelines.<br><br></li>
 <li><b>Search the mailing list archives</b>
@@ -13,15 +12,15 @@
 <li><b>Be very clear</b>
 about your question in the subject -- it helps everyone, both those trying to answer your question as well as those who may be looking for information in the future.<br><br></li>
 <li><b>Give plenty of details</b>
-in your post to help others understand your problem. Code or log snippets, as well as pointers to screenshots, may also be helpful. For a great guide to phrasing your questions, read<a href="http://www.google.com/url?q=http%3A%2F%2Fwww.catb.org%2F%257Eesr%2Ffaqs%2Fsmart-questions.html&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzd169OWM-dgsNW_9rDKrOgOJqgpEA">How To Ask Questions The Smart Way</a>
+in your post to help others understand your problem. Code or log snippets, as well as pointers to screenshots, may also be helpful. For a great guide to phrasing your questions, read <a href="http://www.google.com/url?q=http%3A%2F%2Fwww.catb.org%2F%257Eesr%2Ffaqs%2Fsmart-questions.html&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzd169OWM-dgsNW_9rDKrOgOJqgpEA">How To Ask Questions The Smart Way</a>
 .
 </li>
 </ol>
 <br>There are two ways to join the Android compatibility mailing list:<br></div>
-<ul><li>Visit the<a href="http://groups.google.com/group/android-compatibility">android-compatibility sign-up page</a>
+<ul><li>Visit the <a href="http://groups.google.com/group/android-compatibility">android-compatibility sign-up page</a>
 on Google Groups, or
 </li>
-<li>Send email to<a href="mailto:android-compatibility-subscribe@googlegroups.com">android-compatibility-subscribe@googlegroups.com</a>
+<li>Send email to <a href="mailto:android-compatibility-subscribe@googlegroups.com">android-compatibility-subscribe@googlegroups.com</a>
 .
 </li>
 </ul>
diff --git a/pdk/docs/compatibility/cts-intro.jd b/pdk/docs/compatibility/cts-intro.jd
index b575b11..eee87d4 100644
--- a/pdk/docs/compatibility/cts-intro.jd
+++ b/pdk/docs/compatibility/cts-intro.jd
@@ -1,16 +1,6 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Compatibility Test Suite
 doc.type=compatibility
 @jd:body
-<h3><b>Compatibility test suite (CTS)</b>
-</h3>
-<b>Contents</b>
-<ol>
-<li><a href="#TOC-How-does-the-CTS-work-">How does the CTS work?</a></li>
-<li><a href="#TOC-Workflow">Workflow</a></li>
-<li><a href="#TOC-Types-of-test-cases">Types of test cases</a></li>
-<li><a href="#TOC-Areas-Covered">Areas Covered</a></li>
-</ol>
-
 <h3>How does the CTS work?</h3>
 <div><img src="{@docRoot}images/cts-0.png"></div>
 <div>The CTS is an automated testing harness that includes two major software components:</div>
@@ -31,7 +21,7 @@
     </ul>
 </li>
 <li>Once all the tests are executed, you can view the test results in your browser and use the results to adjust your design. You can continue to run the CTS throughout your development process.</li>
-<li>If you see test failures, follow the instructions on the<a href="http://sites.google.com/a/android.com/compatibility/compatibility-faq">Compatibility FAQ</a>
+<li>If you see test failures, follow the instructions on the <a href="http://sites.google.com/a/android.com/compatibility/compatibility-faq">Compatibility FAQ</a>
 page.</li>
 </ol>
 <div>When you are ready, you can submit the report generated by the CTS to cts@android.com. The report is a .zip archived file that contains XML results and supplemental information such as screen captures.</div>
@@ -50,15 +40,15 @@
 </ul>
 
 <h3>Areas Covered</h3>
-The unit test cases cover the following areas to ensure compatibility<br>
+The unit test cases cover the following areas to ensure compatibility <br>
 <table><tbody>
-<tr><td>Area</td><td>Description<br></td></tr>
+<tr><td>Area</td><td>Description <br></td></tr>
 <tr><td>Signature tests</td>
 <td>For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file.
 </td>
 </tr>
 <tr><td>Platform API Tests</td>
-<td>Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK<a href="http://code.google.com/android/reference/classes.html">Class Index</a>
+<td>Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK <a href="http://code.google.com/android/reference/classes.html">Class Index</a>
 to ensure API correctness:
 <ul>
 <li>correct class, attribute and method signatures</li>
@@ -68,7 +58,7 @@
 </td></tr>
 <tr><td>Dalvik VM Tests</td><td>The tests focus on testing the Dalvik VM</td></tr>
 <tr><td>Platform Data Model</td>
-<td>The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK<a href="http://code.google.com/android/reference/android/provider/package-summary.html">android.provider</a>
+<td>The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK <a href="http://code.google.com/android/reference/android/provider/package-summary.html">android.provider</a>
 package:
 <ul>
 <li>contacts</li>
@@ -78,13 +68,13 @@
 </ul>
 </td></tr>
 <tr><td>Platform Intents</td>
-<td>The CTS tests the core platform intents, as documented in the SDK<a href="http://code.google.com/android/reference/available-intents.html">Available Intents</a>.</td>
+<td>The CTS tests the core platform intents, as documented in the SDK <a href="http://code.google.com/android/reference/available-intents.html">Available Intents</a>.</td>
 </tr>
 <tr><td>Platform Permissions</td>
-<td>The CTS tests the core platform permissions, as documented in the SDK<a href="http://code.google.com/android/reference/android/Manifest.permission.html">Available Permissions</a>.</td>
+<td>The CTS tests the core platform permissions, as documented in the SDK <a href="http://code.google.com/android/reference/android/Manifest.permission.html">Available Permissions</a>.</td>
 </tr>
-<tr><td>Platform Resources<br></td>
-<td>The CTS tests for correct handling of the core platform resource types, as documented in the SDK<a href="http://code.google.com/android/reference/available-resources.html">Available Resource Types</a>
+<tr><td>Platform Resources <br></td>
+<td>The CTS tests for correct handling of the core platform resource types, as documented in the SDK <a href="http://code.google.com/android/reference/available-resources.html">Available Resource Types</a>
 . This includes tests for:
 <ul>
 <li>simple values</li>
diff --git a/pdk/docs/compatibility/faq.jd b/pdk/docs/compatibility/faq.jd
index 71a193d..1eafeea 100644
--- a/pdk/docs/compatibility/faq.jd
+++ b/pdk/docs/compatibility/faq.jd
@@ -1,41 +1,17 @@
-page.title=Android Compatibility - Frequently Asked Questions
+page.title=Frequently Asked Questions
 doc.type=compatibility
 @jd:body
 
-<h3><b>Compatibility FAQ</b></h3>
-<div><div><div><div><div><div><p><b>Contents</b>
-</p>
-<ol><li><a href="#TOC-The-CTS-report-shows-test-failures-"><b>1</b>
-The CTS report shows test failures -- what should I do now?</a>
-</li>
-<li><a href="#TOC-Android-1.5-CTS-r1-known-issues"><b>2</b>
-Android 1.5 CTS r1 known issues</a>
-</li>
-<li><a href="#TOC-Can-I-remove-the-final-modifier-fro"><b>3</b>
-Can I remove the 'final' modifier from classes in the Android public APIs and still be an Android-compatible device?</a>
-</li>
-<li><a href="#TOC-I-see-a-failure-in-my-report-with-t"><b>4</b>
-I see a failure in my report with the comment "A test that was a known failure actually passed. Please check." -- what does this mean?</a>
-</li>
-<li><a href="#TOC-Why-are-compass-and-accelerometer-r"><b>5</b>
-Why are compass and accelerometer required for Android compatibility?</a>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
-</div>
 <h3>
 The CTS report shows test failures -- what should I do now?
 </h3>
 <div><div><b>Step 1: Get the latest CTS version.</b>
-Make sure you are running the latest version of CTS -- check if your version is the same as the one posted on the<a href="http://sites.google.com/a/android.com/compatibility/download-cts">Downloads</a>
+Make sure you are running the latest version of CTS -- check if your version is the same as the one posted on the <a href="http://sites.google.com/a/android.com/compatibility/download-cts">Downloads</a>
 page. If not, make sure you update to the latest version and re-run CTS. As we find issues in CTS, we push out new versions with fixes to the tests and/or frame-work. Using the latest version minimizes the chances of you facing any CTS specific issues.
 </div>
 <div><br></div>
 <div><b>Step 2: Investigate the CTS source code.</b>
-Make sure you have grabbed the CTS sources provided on the<a href="http://sites.google.com/a/android.com/compatibility/download-cts">Download</a>
+Make sure you have grabbed the CTS sources provided on the <a href="http://sites.google.com/a/android.com/compatibility/download-cts">Download</a>
 page. Then unzip the CTS report zip$CTS_ROOT/repository/results/start time.zipand opentestResult.xmlin your favorite browser. Find the exception next to the failing test and check the corresponding source file for possible failure causes.</div>
 <div><br></div>
 <div><b>Step 3: Fix the error in your source and re-run CTS.</b>
@@ -54,7 +30,7 @@
 <div><br></div>
 <div><b>The following tests have known issues with non en_US locales:</b>
 </div>
-<div>tests.api.java.io.PrintStreamTest#test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object<br>tests.api.java.io.PrintStreamTest#test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object<br>tests.api.java.io.PrintWriterTest#test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object<br>tests.api.java.io.PrintWriterTest#test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object<br>tests.api.java.util.CalendarTest#test_hashCode<br>tests.api.java.util.CalendarTest#test_getFirstDayOfWeek<br>tests.api.java.util.CalendarTest#test_getInstanceLjava_util_Locale<br>tests.api.java.util.CalendarTest#test_getInstanceLjava_util_TimeZoneLjava_util_Locale<br>tests.api.java.util.CalendarTest#test_getMinimalDaysInFirstWeek<br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_ByteShortIntegerLongConversionD<br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_DateTimeConversion<br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$LBigInteger<br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_BigIntegerPaddingConversion<br>tests.api.java.util.FormatterTest#test_formatLjava_util_LocaleLjava_lang_StringLjava_lang_Object<br>tests.api.java.util.GregorianCalendarTest#test_ConstructorLjava_util_Locale<br>tests.api.java.util.LocaleTest#test_getDisplayCountryLjava_util_Locale<br>tests.api.java.util.LocaleTest#test_getDisplayLanguageLjava_util_Locale<br>tests.api.java.util.LocaleTest#test_getDisplayNameLjava_util_Locale<br>tests.api.java.util.ScannerTest#test_nextDouble<br>tests.api.java.util.ScannerTest#test_nextFloat<br>tests.api.java.util.ScannerTest#test_nextInt<br>tests.api.java.util.ScannerTest#test_nextIntI<br>tests.api.java.util.ScannerTest#test_nextLong<br>tests.api.java.util.ScannerTest#test_nextShortI<br>tests.api.java.util.ScannerTest#test_nextShort<br>tests.api.java.util.ScannerTest#test_nextLongI<br>tests.api.java.util.ScannerTest#test_hasNextIntI<br>tests.api.java.util.ScannerTest#test_hasNextInt<br>tests.api.java.util.ScannerTest#test_hasNextFloat<br>tests.api.java.util.ScannerTest#test_hasNextShortI<br>tests.api.java.util.ScannerTest#test_hasNextShort<br>tests.api.java.util.ScannerTest#test_hasNextLongI<br>tests.api.java.util.ScannerTest#test_hasNextLong<br>tests.api.java.util.ScannerTest#test_hasNextDouble<br>tests.api.java.util.ScannerTest#test_hasNextBigDecimal<br>tests.api.java.util.ScannerTest#test_nextBigDecimal<br>tests.api.java.util.TimeZoneTest#test_getDisplayNameLjava_util_Locale<br>tests.api.java.util.TimeZoneTest#test_getDisplayNameZILjava_util_Locale<br>org.apache.harmony.text.tests.java.text.DateFormatTest#test_getAvailableLocales<br>org.apache.harmony.text.tests.java.text.DecimalFormatSymbolsTest#test_getCurrency<br>org.apache.harmony.text.tests.java.text.DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getInstanceLjava_util_Locale<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_parseObjectLjava_lang_StringLjava_text_ParsePosition<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getIntegerInstanceLjava_util_Locale<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_formatLdouble<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_formatLlong<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getCurrencyInstanceLjava_util_Locale<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getNumberInstanceLjava_util_Locale<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getPercentInstanceLjava_util_Locale<br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_setGroupingUsed<br><br></div>
+<div>tests.api.java.io.PrintStreamTest#test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object <br>tests.api.java.io.PrintStreamTest#test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object <br>tests.api.java.io.PrintWriterTest#test_formatLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object <br>tests.api.java.io.PrintWriterTest#test_printfLjava_util_Locale_Ljava_lang_String_$Ljava_lang_Object <br>tests.api.java.util.CalendarTest#test_hashCode <br>tests.api.java.util.CalendarTest#test_getFirstDayOfWeek <br>tests.api.java.util.CalendarTest#test_getInstanceLjava_util_Locale <br>tests.api.java.util.CalendarTest#test_getInstanceLjava_util_TimeZoneLjava_util_Locale <br>tests.api.java.util.CalendarTest#test_getMinimalDaysInFirstWeek <br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_ByteShortIntegerLongConversionD <br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_DateTimeConversion <br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$LBigInteger <br>tests.api.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_BigIntegerPaddingConversion <br>tests.api.java.util.FormatterTest#test_formatLjava_util_LocaleLjava_lang_StringLjava_lang_Object <br>tests.api.java.util.GregorianCalendarTest#test_ConstructorLjava_util_Locale <br>tests.api.java.util.LocaleTest#test_getDisplayCountryLjava_util_Locale <br>tests.api.java.util.LocaleTest#test_getDisplayLanguageLjava_util_Locale <br>tests.api.java.util.LocaleTest#test_getDisplayNameLjava_util_Locale <br>tests.api.java.util.ScannerTest#test_nextDouble <br>tests.api.java.util.ScannerTest#test_nextFloat <br>tests.api.java.util.ScannerTest#test_nextInt <br>tests.api.java.util.ScannerTest#test_nextIntI <br>tests.api.java.util.ScannerTest#test_nextLong <br>tests.api.java.util.ScannerTest#test_nextShortI <br>tests.api.java.util.ScannerTest#test_nextShort <br>tests.api.java.util.ScannerTest#test_nextLongI <br>tests.api.java.util.ScannerTest#test_hasNextIntI <br>tests.api.java.util.ScannerTest#test_hasNextInt <br>tests.api.java.util.ScannerTest#test_hasNextFloat <br>tests.api.java.util.ScannerTest#test_hasNextShortI <br>tests.api.java.util.ScannerTest#test_hasNextShort <br>tests.api.java.util.ScannerTest#test_hasNextLongI <br>tests.api.java.util.ScannerTest#test_hasNextLong <br>tests.api.java.util.ScannerTest#test_hasNextDouble <br>tests.api.java.util.ScannerTest#test_hasNextBigDecimal <br>tests.api.java.util.ScannerTest#test_nextBigDecimal <br>tests.api.java.util.TimeZoneTest#test_getDisplayNameLjava_util_Locale <br>tests.api.java.util.TimeZoneTest#test_getDisplayNameZILjava_util_Locale <br>org.apache.harmony.text.tests.java.text.DateFormatTest#test_getAvailableLocales <br>org.apache.harmony.text.tests.java.text.DecimalFormatSymbolsTest#test_getCurrency <br>org.apache.harmony.text.tests.java.text.DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getInstanceLjava_util_Locale <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_parseObjectLjava_lang_StringLjava_text_ParsePosition <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getIntegerInstanceLjava_util_Locale <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_formatLdouble <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_formatLlong <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getCurrencyInstanceLjava_util_Locale <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getNumberInstanceLjava_util_Locale <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_getPercentInstanceLjava_util_Locale <br>org.apache.harmony.text.tests.java.text.NumberFormatTest#test_setGroupingUsed <br><br></div>
 <div><br></div>
 <h3>
 Can I remove the 'final' modifier from classes in the Android public APIs and still be an Android-compatible device?
@@ -107,18 +83,18 @@
 <h3>
 Why are compass and accelerometer required for Android compatibility?
 </h3>
-<div>Whenever possible, we try to open up hardware options by making the Android software smarter.For example, in Android 1.5 we added an Input Method Framework and soft keyboard so that devices didn't need physical text input devices.The Android<i>Donut</i>
+<div>Whenever possible, we try to open up hardware options by making the Android software smarter.For example, in Android 1.5 we added an Input Method Framework and soft keyboard so that devices didn't need physical text input devices.The Android <i>Donut</i>
 release will the ability to scale application windows to different densities and resolutions so that devices aren't restricted to 160-180dpi HVGA displays.<br><br>Unfortunately, software can only do so much, and a compass and accelerometer are things Android cannot replace with software.These two input devices are now commonly used by applications.For example, many of the most popular applications in Android Market:<br><br>-<a href="http://www.android.com/market/featured.html#app=skymap"><i>Google Sky Map</i>
 </a>
-uses compass and accelerometer<br>-<a href="http://www.android.com/market/free.html#app=labyrinth"><i>Labyrinth</i>
+uses compass and accelerometer <br>-<a href="http://www.android.com/market/free.html#app=labyrinth"><i>Labyrinth</i>
 </a>
-uses accelerometer<br>-<a href="http://www.android.com/market/free.html#app=bonsaiblast"><i>Bonzai Blast</i>
+uses accelerometer <br>-<a href="http://www.android.com/market/free.html#app=bonsaiblast"><i>Bonzai Blast</i>
 </a>
-uses accelerometer<br>-<a href="http://www.android.com/market/featured.html#app=wikitude"><i>Wikitude</i>
+uses accelerometer <br>-<a href="http://www.android.com/market/featured.html#app=wikitude"><i>Wikitude</i>
 </a>
-uses compass and accelerometer<br>-<a href="http://www.android.com/market/featured.html#app=zagatnru"><i>Zagat</i>
+uses compass and accelerometer <br>-<a href="http://www.android.com/market/featured.html#app=zagatnru"><i>Zagat</i>
 </a>
-uses compass<br><br>As Market has no way of knowing whether an application uses these controls, we would not be able to filter these out of Android Market for devices which don't have the required hardware.This would create a bad user experience and could hurt the Android ecosystem if developers can no longer rely on these features in handsets, or receive bad reviews from consumers who have devices which can't support the features.<br></div>
+uses compass <br><br>As Market has no way of knowing whether an application uses these controls, we would not be able to filter these out of Android Market for devices which don't have the required hardware.This would create a bad user experience and could hurt the Android ecosystem if developers can no longer rely on these features in handsets, or receive bad reviews from consumers who have devices which can't support the features.<br></div>
 <div><br></div>
 </div>
 </div>
diff --git a/pdk/docs/compatibility/index.jd b/pdk/docs/compatibility/index.jd
index 9f62872..0c39a98 100644
--- a/pdk/docs/compatibility/index.jd
+++ b/pdk/docs/compatibility/index.jd
@@ -2,10 +2,16 @@
 doc.type=compatibility
 @jd:body
 <p>Android is an open source product, and anyone can use the source code to build
-devices. Incautious implementations, however, can easily introduce bugs that
-cause third-party applications to break. The purpose of the Android
-Compatibility Program is to help Android device implementations remain
-compatible with all apps.</p>
+devices. The purpose of the Android compatibility program is to help Android
+device implementations remain compatible with all apps.</p>
+<p>A device is considered compatible if existing and new third-party
+applications run correctly on it. Poor device implementations that change APIs
+or alter behaviors will break these apps and so are not compatible. The
+Android compatibility program's aim is to ensure that these APIs are
+consistently implemented across devices.</p>
+<p>The latest version of the Android source code and compatibility program is
+1.6, which roughly corresponded to the Donut branch.  The compatibility
+program for Android 2.x (corresponding to Eclair) is coming soon.</p>
 <h2>Why build compatible Android devices?</h2>
 <h3>Users want a customizable device.</h3>
 <p>A mobile phone is a highly personal, always-on, always-present gateway to
@@ -41,7 +47,8 @@
   This document enumerates the software and the hardware features of
   a compatible Android device.</p></li>
   <li><b>Pass the Compatibility Test Suite (CTS)</b><p>You can use the CTS
-  as an ongoing aid to compatibility during the development process.</p></li>
+  (included in the Android source code) as an ongoing aid to compatibility
+  during the development process.</p></li>
   <li><b>Submit CTS report</b><p>[Optional] You can also submit your CTS report,
   so that it can be validated and recorded.</p><p><i>Note:
   the submission system is currently under construciton, and is not currently
diff --git a/pdk/docs/downloads/index.jd b/pdk/docs/downloads/index.jd
index f196808..b6f5a2f 100644
--- a/pdk/docs/downloads/index.jd
+++ b/pdk/docs/downloads/index.jd
@@ -2,7 +2,6 @@
 doc.type=downloads
 doc.hidenav=true
 @jd:body
-<div id="mainBodyFixed">
 <p>This page provides access to various downloads. Note that if you're looking
 for the Android SDK (for application developers), you should visit <a
 href="http://developer.android.com/sdk/index.html">developer.android.com</a>.</p>
@@ -43,4 +42,3 @@
 there is no compatibility program for Android 2.0, since it was superceded by
 Android 2.1 after only a few weeks.
 </p>
-</div>
diff --git a/pdk/docs/images/code-lines.png b/pdk/docs/images/code-lines.png
new file mode 100644
index 0000000..acfb77b
--- /dev/null
+++ b/pdk/docs/images/code-lines.png
Binary files differ
diff --git a/pdk/docs/porting/bluetooth.jd b/pdk/docs/porting/bluetooth.jd
index e974982..ceb8683 100755
--- a/pdk/docs/porting/bluetooth.jd
+++ b/pdk/docs/porting/bluetooth.jd
@@ -170,7 +170,7 @@
 
 <p><strong>Development Notes</strong></p>
 <ul>
-  <li><strong>HID Support<br />
+  <li><strong>HID Support <br />
   </strong>Cupcake features some early work&#151;Bluez has an HID plugin, <code>external/bluez/utils/input/Android.mk</code>, which gets compiled. <br />
     <br />
 You can interact directly with this plugin using <code>dbus-send</code></span> and <code>dbus-monitor</code>. While not officially supported, you should be able to connect and use a HID keyboard and mouse using the Bluez HID plugin API. Next steps include plumbing the plugin API in the Android Java framework and offering better support for HID input methods (new keymaps and mouse support).<br />
diff --git a/pdk/docs/porting/bluetooth/bluetooth_process.jd b/pdk/docs/porting/bluetooth/bluetooth_process.jd
index ea46f23..00ec0da 100755
--- a/pdk/docs/porting/bluetooth/bluetooth_process.jd
+++ b/pdk/docs/porting/bluetooth/bluetooth_process.jd
@@ -1,6 +1,6 @@
 page.title=Bluetooth Process Diagram
 pdk.version=1.0
-doc.type=guide
+doc.type=porting
 @jd:body
 
 <p>The diagram below offers a process-oriented architectural overview of Android's Bluetooth stack. Click <a href="../bluetooth.html">Bluetooth</a> to return to the Bluetooth overview page.</p>
diff --git a/pdk/docs/porting/bring_up.jd b/pdk/docs/porting/bring_up.jd
index 022c185..1d04b86 100755
--- a/pdk/docs/porting/bring_up.jd
+++ b/pdk/docs/porting/bring_up.jd
@@ -264,7 +264,7 @@
     </tr>
   </table>
   <p>    Properties</p>
-    Init updates some system properties to provide some insight into<br />
+    Init updates some system properties to provide some insight into <br />
     what it's doing:</p>
   <table>
     <tr>
diff --git a/pdk/docs/porting/build_system.jd b/pdk/docs/porting/build_system.jd
index e5811bd..686fba0 100755
--- a/pdk/docs/porting/build_system.jd
+++ b/pdk/docs/porting/build_system.jd
@@ -211,7 +211,7 @@
 <table border=1> 
 <tr> 
     <td> 
-        <code>eng<code> 
+        <code>eng <code> 
     </td> 
     <td> 
         This is the default flavor. A plain <code>make</code> is the
@@ -230,7 +230,7 @@
 </tr> 
 <tr> 
     <td> 
-        <code>user<code> 
+        <code>user <code> 
     </td> 
     <td> 
         <code>make user</code>
@@ -248,7 +248,7 @@
 </tr> 
 <tr> 
     <td> 
-        <code>userdebug<code> 
+        <code>userdebug <code> 
     </td> 
     <td> 
         <code>make userdebug</code>
diff --git a/pdk/docs/porting/index.jd b/pdk/docs/porting/index.jd
index 9d23fbe..76609d2 100644
--- a/pdk/docs/porting/index.jd
+++ b/pdk/docs/porting/index.jd
@@ -21,7 +21,7 @@
 <p>If you are new to Android, start with the platform documentation on the following sites:
 <ul>
 <li><a href="http://developer.android.com">Android Developers site</a>:  This site offers high-level platform documentation and architecture concepts.</li>
-<li><a href="http://source.android.com">Android Open Source Project site</a>:  This site provides instructions on how to get the source code, establish a development environment, and perform a simple build.</li>
+<li><a href="{@docRoot}">Android Open Source Project site</a>:  This site provides instructions on how to get the source code, establish a development environment, and perform a simple build.</li>
 </ul>
 
 <p>When you are ready to start customizing the platform or porting to your target hardware, start in this guide with the <a href="build_system.html">Build System overview</a>.</p>
diff --git a/pdk/docs/porting/power_management.jd b/pdk/docs/porting/power_management.jd
index 542459d..28f9519 100755
--- a/pdk/docs/porting/power_management.jd
+++ b/pdk/docs/porting/power_management.jd
@@ -103,7 +103,7 @@
         <th scope="col">Description</th>
     </tr>
     <tr>
-      <td>ACQUIRE_CAUSES_WAKEUP<br/></td>
+      <td>ACQUIRE_CAUSES_WAKEUP <br/></td>
         <td>Normally wake locks don't actually wake the device, they just cause it to remain on once it's already on. Think of the video player app as the normal behavior. Notifications that pop up and want the device to be on are the exception; use this flag to be like them.</td>
     </tr>
     <tr>
diff --git a/pdk/docs/source/building-dream.jd b/pdk/docs/source/building-dream.jd
index 71b4f58..f5472ce 100644
--- a/pdk/docs/source/building-dream.jd
+++ b/pdk/docs/source/building-dream.jd
@@ -1,9 +1,12 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Building for ADP1
 doc.type=source
 @jd:body
-<h3><b>Building For Dream</b>
-</h3>
-<div>The basic manifest for cupcake (and above) defines which projects are needed to do a generic build for the emulator or for unlocked Dream devices (e.g. the Android Dev Phone 1). You need to have an appropriate device running a matching official image.<br><br>To build donut or master for dream (your device needs to be an ADP1 running an official 1.6 system):<br><ol><li>Follow the<a href="http://source.android.com/download">normal steps</a>
+<div>The basic manifest for cupcake (and above) defines which projects are
+needed to do a generic build for the emulator or for unlocked Dream devices
+(e.g. the Android Dev Phone 1). You need to have an appropriate device running
+a matching official image.<br><br>To build donut or master for dream (your
+device needs to be an ADP1 running an official 1.6 system):<br><ol><li>Follow
+the <a href="{@docRoot}source/download.html">normal steps</a>
 to setup repo and check out the sources.
 </li>
 <li>At the root of your source tree, run ". build/envsetup.sh" like you normally would for an emulator build.
@@ -17,7 +20,7 @@
 </li>
 <li>from this point, the fastboot tool (which is put automatically in your path) can be used to flash a device: boot the device into the bootloader by holding the back key while pressing the power key, and run "fastboot -w flashall".<br></li>
 </ol>
-To build cupcake for dream (your device needs to be an ADP1 running an official 1.5 system):<br><ol><li>Follow the<a href="http://source.android.com/download">normal steps</a>
+To build cupcake for dream (your device needs to be an ADP1 running an official 1.5 system):<br><ol><li>Follow the <a href="{@docRoot}source/download.html">normal steps</a>
 to setup repo and check out the sources.
 </li>
 <li>At the root of your source tree, run ". build/envsetup.sh" like you normally would for an emulator build.
diff --git a/pdk/docs/source/cla-corporate.jd b/pdk/docs/source/cla-corporate.jd
index 5ddfe6f..0f9452b 100644
--- a/pdk/docs/source/cla-corporate.jd
+++ b/pdk/docs/source/cla-corporate.jd
@@ -1,13 +1,11 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Corporate Contributor License Agreement
 doc.type=source
 @jd:body
-<h3><b>Corporate Contributor License Grant - Android Open Source Project</b>
-</h3>
 <div><p>In order to clarify the intellectual property license granted with Contributions from any person or entity, the Android Open Source Project (the "Project") must have a Contributor License Grant ("Grant") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Project and the Android Open Source Project Leads (the "Project Leads"); it does not change your rights to use your own Contributions for any other purpose.
 </p>
 <p>This version of the Grant allows an entity (the "Corporation") to submit Contributions to the Project Leads, to authorize Contributions submitted by its designated employees to the Project Leads, and to grant copyright and patent licenses thereto. If you have not already done so, please complete and send an original signed Grant to
 </p>
-<blockquote>Google Inc.<br>Attn: Open Source Program Office<br>1600 Amphitheatre Pkwy<br>Building 43<br>Mountain View, CA 94043<br>U.S.A.<br></blockquote>
+<blockquote>Google Inc.<br>Attn: Open Source Program Office <br>1600 Amphitheatre Pkwy <br>Building 43<br>Mountain View, CA 94043<br>U.S.A.<br></blockquote>
 <p>Scanned agreements may also be emailed in PDF form to cla-submissions@google.com
 </p>
 <p>If necessary, you may send it by facsimile to (650) 887-1625. Please read this document carefully before signing and keep a copy for your records.
diff --git a/pdk/docs/source/cla-individual.jd b/pdk/docs/source/cla-individual.jd
index 1433318..8890be8 100644
--- a/pdk/docs/source/cla-individual.jd
+++ b/pdk/docs/source/cla-individual.jd
@@ -1,16 +1,14 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Contributor License Agreement for Individuals
 doc.type=source
 @jd:body
-<h3><b>Individual Contributor License Grant - Android Open Source Project</b>
-</h3>
-<div><p><i>Please visit the<a href="https://review.source.android.com/#settings,new-agreement">code review tool</a>
+<div><p><i>Please visit the <a href="https://review.source.android.com/#settings,new-agreement">code review tool</a>
 to execute the grant online.This page provides the text of the Individual Contributor License Grant for your quick review.</i>
 <br></p>
 <p><br></p>
 <p>In order to clarify the intellectual property license granted with Contributions from any person or entity, the Android Open Source Project (the "Project") must have a Contributor License Grant ("Grant") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Project and the Android Open Source Project Leads (the "Project Leads"); it does not change your rights to use your own Contributions for any other purpose. If you have not already done so, please complete and send an original signed Grant to
 </p>
-<blockquote>Google Inc.<br>Attn: Open Source Program Office<br>1600 Amphitheatre Pkwy<br>Building 43<br>Mountain View, CA 94043<br>U.S.A.<br></blockquote>
-<p>Scanned agreements may also be emailed in PDF form to cla-submissions@google.com, sent by facsimile to (650) 887-1625, or<a href="https://review.source.android.com/#settings,new-agreement">signed electronically</a>
+<blockquote>Google Inc.<br>Attn: Open Source Program Office <br>1600 Amphitheatre Pkwy <br>Building 43<br>Mountain View, CA 94043<br>U.S.A.<br></blockquote>
+<p>Scanned agreements may also be emailed in PDF form to cla-submissions@google.com, sent by facsimile to (650) 887-1625, or <a href="https://review.source.android.com/#settings,new-agreement">signed electronically</a>
 .
 </p>
 <p>Please read this document carefully before signing and keep a copy for your records.
diff --git a/pdk/docs/source/code-lines.jd b/pdk/docs/source/code-lines.jd
new file mode 100644
index 0000000..61b400d
--- /dev/null
+++ b/pdk/docs/source/code-lines.jd
@@ -0,0 +1,77 @@
+page.title=Android Code-Lines
+doc.type=source
+@jd:body
+<p>The Android Open Source Project maintains a complete software stack intended
+to be ported by OEMs and other device implementors to run on actual hardware.
+Accordingly, we maintain a number of "code lines" to clearly separate the
+current stable version of Android from unstable experimental work.</p>
+<p>The chart below depicts at a conceptual level how AOSP manages code and
+releases. We're referring to these as "code lines" instead of "branches"
+simply because at any given moment there may be more than one branch extant
+for a given "code line".  For instance, when a release is cut, sometimes that
+will become a new branch in git, and sometimes not, based on the needs of the
+moment.</p>
+<img src="{@docRoot}images/code-lines.png"/>
+<h3>Notes and Explanations</h3>
+<ul>
+<li>A <i>release</i> corresponds to a formal version of the Android platform, such
+as 1.5, 2.0, and so on. Generally speaking, a release of the platform
+corresponds to a version of the <code>SdkVersion</code> field used in
+AndroidManifest.xml files, and defined in <code>frameworks/base/api</code> in
+the source tree.</li>
+<li>An <i>upstream</i> project is an open-source project from which the Android
+stack is pulling code. These include obvious projects such as the Linux kernel
+and WebKit, but over time we are migrating some of the semi-autonomous
+Android projects (such as Dalvik, the Android SDK tools, Bionic, and so on) to
+work as "upstream" projects. These will be developed entirely in the public
+tree, and snapshots will be periodically pulled into releases.</li>
+<li>The diagram refers to "Eclair" and "Flan"; however, they are simply
+placeholders, and the diagram actually reflects the overall release and
+branching strategy.</li>
+<li>At all times, the Release code-line (which may actually consist of
+more than one actual branch in git) is considered the sole canonical source
+code for a given Android platform. OEMs and other groups building devices
+should pull only from a Release branch.</li>
+<li>We will be setting up an "Experimental" code-line to capture changes from
+the community, so that they can be iterated on, with an eye toward stability.</li>
+<li>Changes that prove stable will eventually be pulled into a Release
+branch. Note that this will only apply to bug fixes, app improvements, and
+other things that do not affect the APIs of the platform.</li>
+<li>Changes will be pulled into Release branches from upstream projects
+(include the Android "upstream" projects) as necessary.</li>
+<li>The "n+1"th version (that is, next major version of the framework and
+platform APIs) will be developed by Google internally. (See below for
+details.)</li>
+<li>Changes will be pulled from upstream, Release, and Experimental branches
+into Google's private branch as necessary.</li>
+<li>When the platform APIs for the next version have stabilized and been fully
+tested, Google will cut a release of the next platform version. (This
+specifically refers to a new <code>SdkVersion</code>.) This will also
+correspond to the internal code-line being made a public Release branch, and the
+new current platform code-line.</li>
+<li>When a new platform version is cut, a corresponding Experimental
+code-line.</li>
+</ul>
+<h3>About Private Code-Lines</h3>
+<p>The source management strategy above includes a code-line that Google will
+keep private. The reason for this is to focus attention on the current public
+version of Android.</p>
+<p>OEMs and other device builders naturally want to ship devices with the
+latest version of Android. Similarly, application developers don't want to
+deal with more extant platform versions than strictly necessary.  Meanwhile,
+Google retains responsibility for the strategic direction of Android as a
+platform and a product. Our approach is based on focusing on a small number of
+flagship devices to drive features, and secure protections of Android-related
+intellectual property through patents and the like.</p>
+<p>As a result, Google frequently has possession of confidential
+information of third parties, and we must refrain from revealing patentable
+features until we've secured the appropriate protections. Meanwhile, there are
+real risks to the platform arising from having too many platform versions
+extant at once. For these reasons, we have structured the open-source project
+-- including third-party contributions -- to focus on the currently-public
+stable version of Android. "Deep development" on the next version of the
+platform will happen in private, until it's ready to become an official
+release.</p>
+<p>We recognize that many contributors will disagree with this approach. We
+respect that others may have a different point of view; however, this is the
+approach that we feel is best, and the one we've chosen to implement.</p>
diff --git a/pdk/docs/source/code-style.jd b/pdk/docs/source/code-style.jd
index 540ac99..3122ea8 100644
--- a/pdk/docs/source/code-style.jd
+++ b/pdk/docs/source/code-style.jd
@@ -1,8 +1,6 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Code Style Guidelines for Contributors
 doc.type=source
 @jd:body
-<h3><b>Code Style Guide</b>
-</h3>
 <div>
 <h1>Android Code Style Rules</h1>
 <p>The rules below are not guidelines or recommendations, but strict rules.<b>You may not disregard the rules we list below</b>
@@ -29,12 +27,12 @@
 </ol>
 <h1><a>Java Library Rules</a>
 </h1>
-<p>There are conventions for using Android's Java libraries and tools. In some cases, the convention has changed in important ways and older code might use a deprecated pattern or library. When working with such code, it's okay to continue the existing style (see<a href="#consistency">Consistency</a>
+<p>There are conventions for using Android's Java libraries and tools. In some cases, the convention has changed in important ways and older code might use a deprecated pattern or library. When working with such code, it's okay to continue the existing style (see <a href="#consistency">Consistency</a>
 ). When creating new components never use deprecated libraries.
 </p>
 <h1><a>Java Style Rules</a>
 </h1>
-<p>Programs are much easier to maintain when all files have a consistent style. We follow the standard Java coding style, as defined by Sun in their<a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Code Conventions for the Java Programming Language</a>
+<p>Programs are much easier to maintain when all files have a consistent style. We follow the standard Java coding style, as defined by Sun in their <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Code Conventions for the Java Programming Language</a>
 , with a few exceptions and additions. This style guide is comprehensive and detailed and is in common usage in the Java community.
 </p>
 <p>In addition, we enforce the following style rules:
@@ -108,7 +106,7 @@
 <pre>void setServerPort(String value) throws ConfigurationException {<br>try {<br>serverPort = Integer.parseInt(value);<br>} catch (NumberFormatException e) {<br>throw new ConfigurationException("Port " + value + " is not valid.");<br>}<br><br></pre>
 </li>
 <li>Handle the error gracefully and substitute an appropriate value in the catch {} block.
-<pre>/** Set port. If value is not a valid number, 80 is substituted. */<br>void setServerPort(String value) {<br>try {<br>serverPort = Integer.parseInt(value);<br>} catch (NumberFormatException e) {<br>serverPort = 80;  // default port for server<br>}<br></pre>
+<pre>/** Set port. If value is not a valid number, 80 is substituted. */<br>void setServerPort(String value) {<br>try {<br>serverPort = Integer.parseInt(value);<br>} catch (NumberFormatException e) {<br>serverPort = 80;  // default port for server <br>}<br></pre>
 </li>
 <li>Catch the Exception and throw a new RuntimeException. This is dangerous: only do it if you are positive that if this error occurs, the appropriate thing to do is crash.
 <pre>/** Set port. If value is not a valid number, die. */<br>void setServerPort(String value) {<br>try {<br>serverPort = Integer.parseInt(value);<br>} catch (NumberFormatException e) {<br>throw new RuntimeException("port " + value " is invalid, ", e);<br>}<br></pre>
@@ -120,7 +118,7 @@
 <h2><a>Exceptions: do not catch generic Exception</a>
 </h2>
 Sometimes it is tempting to be lazy when catching exceptions and do something like this:
-<pre>try {<br>someComplicatedIOFunction();        // may throw IOException<br>someComplicatedParsingFunction();   // may throw ParsingException<br>someComplicatedSecurityFunction();  // may throw SecurityException<br>// phew, made it all the way<br>} catch (Exception e) {               // I'll just catch all exceptions<br>handleError();                      // with one generic handler!<br>}<br><br></pre>
+<pre>try {<br>someComplicatedIOFunction();        // may throw IOException <br>someComplicatedParsingFunction();   // may throw ParsingException <br>someComplicatedSecurityFunction();  // may throw SecurityException <br>// phew, made it all the way <br>} catch (Exception e) {               // I'll just catch all exceptions <br>handleError();                      // with one generic handler!<br>}<br><br></pre>
 You should not do this. In almost all cases it is inappropriate to catch generic Exception or Throwable, preferably not Throwable, because it includes Error exceptions as well. It is very dangerous. It means that Exceptions you never expected (including RuntimeExceptions like ClassCastException) end up getting caught in application-level error handling. It obscures the failure handling properties of your code. It means if someone adds a new type of Exception in the code you're calling, the compiler won't help you realize you need to handle that error differently. And in most cases you shouldn't be handling different types of exception the same way, anyway.
 <p>There are rare exceptions to this rule: certain test code and top-level code where you want to catch all kinds of errors (to prevent them from showing up in a UI, or to keep a batch job running). In that case you may catch generic Exception (or Throwable) and handle the error appropriately. You should think very carefully before doing this, though, and put in comments explaining why it is safe in this place.
 </p>
@@ -176,17 +174,17 @@
 </h2>
 <p>Every file should have a copyright statement at the top. Then a package statement and import statements should follow, each block separated by a blank line. And then there is the class or interface declaration. In the Javadoc comments, describe what the class or interface does.
 </p>
-<pre>/*<br>* Copyright (C) 2007 The Android Open Source Project<br>*<br>* Licensed under the Apache License, Version 2.0 (the "License");<br>* you may not use this file except in compliance with the License.<br>* You may obtain a copy of the License at<br>*<br>*      http://www.apache.org/licenses/LICENSE-2.0<br>*<br>* Unless required by applicable law or agreed to in writing, software<br>* distributed under the License is distributed on an "AS IS" BASIS,<br>* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>* See the License for the specific language governing permissions and<br>* limitations under the License.<br>*/<br><br>package com.android.internal.foo;<br><br>import android.os.Blah;<br>import android.view.Yada;<br><br>import java.sql.ResultSet;<br>import java.sql.SQLException;<br><br>/**<br>* Does X and Y and provides an abstraction for Z.<br>*/<br>public class Foo {<br>...<br>}<br></pre>
-<p>Every class and nontrivial public method you write<b>must</b>
+<pre>/*<br>* Copyright (C) 2007 The Android Open Source Project <br>*<br>* Licensed under the Apache License, Version 2.0 (the "License");<br>* you may not use this file except in compliance with the License.<br>* You may obtain a copy of the License at <br>*<br>*      http://www.apache.org/licenses/LICENSE-2.0<br>*<br>* Unless required by applicable law or agreed to in writing, software <br>* distributed under the License is distributed on an "AS IS" BASIS,<br>* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>* See the License for the specific language governing permissions and <br>* limitations under the License.<br>*/<br><br>package com.android.internal.foo;<br><br>import android.os.Blah;<br>import android.view.Yada;<br><br>import java.sql.ResultSet;<br>import java.sql.SQLException;<br><br>/**<br>* Does X and Y and provides an abstraction for Z.<br>*/<br>public class Foo {<br>...<br>}<br></pre>
+<p>Every class and nontrivial public method you write <b>must</b>
 contain a Javadoc comment with at least one sentence describing what the class or method does. This sentence should start with a 3rd person descriptive verb. Examples:
 </p>
-<pre>/** Returns the correctly rounded positive square root of a double value. */<br>static double sqrt(double a) {<br>}<br><br>/**<br>* Constructs a new String by converting the specified array of<br>* bytes using the platform's default character encoding.<br>*/<br>public String(byte[] bytes) {<br>}<br></pre>
+<pre>/** Returns the correctly rounded positive square root of a double value. */<br>static double sqrt(double a) {<br>}<br><br>/**<br>* Constructs a new String by converting the specified array of <br>* bytes using the platform's default character encoding.<br>*/<br>public String(byte[] bytes) {<br>}<br></pre>
 <p>You do not need to write Javadoc for trivial get and set methods such as setFoo() if all your Javadoc would say is "sets Foo". If the method does something more complex (such as enforcing a constraint or having an important side effect), then you must document it. And if it's not obvious what the property "Foo" means, you should document it.
 </p>
 <p>Every method you write, whether public or otherwise, would benefit from Javadoc. Public methods are part of an API and therefore require Javadoc.
 </p>
-Android does not currently enforce a specific style for writing Javadoc comments, but you<b>should</b>
-follow the<a href="http://java.sun.com/j2se/javadoc/writingdoccomments/">Sun Javadoc conventions</a>
+Android does not currently enforce a specific style for writing Javadoc comments, but you <b>should</b>
+follow the <a href="http://java.sun.com/j2se/javadoc/writingdoccomments/">Sun Javadoc conventions</a>
 .
 <h2><a>Short methods</a>
 </h2>
@@ -199,10 +197,10 @@
 </p>
 <p>One exception to this rule concerns try-catch statements. If a variable is initialized with the return value of a method that throws a checked exception, it must be initialized inside a try block. If the value must be used outside of the try block, then it must be declared before the try block, where it cannot yet be sensibly initialized:
 </p>
-<pre>// Instantiate class cl, which represents some sort of Set<br>Set s = null;<br>try {<br>s = (Set) cl.newInstance();<br>} catch(IllegalAccessException e) {<br>throw new IllegalArgumentException(cl + " not accessible");<br>} catch(InstantiationException e) {<br>throw new IllegalArgumentException(cl + " not instantiable");<br>}<br><br>// Exercise the set<br>s.addAll(Arrays.asList(args));<br></pre>
+<pre>// Instantiate class cl, which represents some sort of Set <br>Set s = null;<br>try {<br>s = (Set) cl.newInstance();<br>} catch(IllegalAccessException e) {<br>throw new IllegalArgumentException(cl + " not accessible");<br>} catch(InstantiationException e) {<br>throw new IllegalArgumentException(cl + " not instantiable");<br>}<br><br>// Exercise the set <br>s.addAll(Arrays.asList(args));<br></pre>
 <p>But even this case can be avoided by encapsulating the try-catch block in a method:
 </p>
-<pre>Set createSet(Class cl) {<br>// Instantiate class cl, which represents some sort of Set<br>try {<br>return (Set) cl.newInstance();<br>} catch(IllegalAccessException e) {<br>throw new IllegalArgumentException(cl + " not accessible");<br>} catch(InstantiationException e) {<br>throw new IllegalArgumentException(cl + " not instantiable");<br>}<br>}<br>...<br>// Exercise the set<br>Set s = createSet(cl);<br>s.addAll(Arrays.asList(args));<br></pre>
+<pre>Set createSet(Class cl) {<br>// Instantiate class cl, which represents some sort of Set <br>try {<br>return (Set) cl.newInstance();<br>} catch(IllegalAccessException e) {<br>throw new IllegalArgumentException(cl + " not accessible");<br>} catch(InstantiationException e) {<br>throw new IllegalArgumentException(cl + " not instantiable");<br>}<br>}<br>...<br>// Exercise the set <br>Set s = createSet(cl);<br>s.addAll(Arrays.asList(args));<br></pre>
 Loop variables should be declared in the for statement itself unless there is a compelling reason to do otherwise:
 <pre>for (int i = 0; i n; i++) {<br>doSomething(i);<br>}<br><br>for (Iterator i = c.iterator(); i.hasNext(); ) {<br>doSomethingElse(i.next());<br>}<br><br><br></pre>
 <h2><a>Imports</a>
@@ -232,9 +230,9 @@
 </p>
 <p>We use 8 space indents for line wraps, including function calls and assignments. For example, this is correct:
 </p>
-<pre>Instrument i<br>= someLongExpression(that, wouldNotFit, on, one, line);</pre>
+<pre>Instrument i <br>= someLongExpression(that, wouldNotFit, on, one, line);</pre>
 and this is not correct:
-<pre>Instrument i<br>= someLongExpression(that, wouldNotFit, on, one, line);</pre>
+<pre>Instrument i <br>= someLongExpression(that, wouldNotFit, on, one, line);</pre>
 <h2><a>Field Names</a>
 </h2>
 <ul><li>Non-public, non-static field names start with m.
@@ -256,10 +254,10 @@
 <pre>class MyClass {<br>int func() {<br>if (something) {<br>// ...<br>} else if (somethingElse) {<br>// ...<br>} else {<br>// ...<br>}<br>}<br>}<br></pre>
 <p>We require braces around the statements for a conditional. Except, if the entire conditional (the condition and the body) fit on one line, you may (but are not obligated to) put it all on one line. That is, this is legal:
 </p>
-<pre>if (condition) {<br>body; // ok<br>}<br>if (condition) body; // ok</pre>
+<pre>if (condition) {<br>body; // ok <br>}<br>if (condition) body; // ok</pre>
 <p>but this is still illegal:
 </p>
-<pre>if (condition)<br>body; // bad<br></pre>
+<pre>if (condition)<br>body; // bad <br></pre>
 <h2><a>Line length</a>
 </h2>
 <p>Each line of text in your code should be at most 100 characters long.
@@ -277,18 +275,18 @@
 </p>
 <p>Android -standard practices for the three predefined annotations in Java 1.5's are:
 </p>
-@DeprecatedThe @Deprecated annotation must be used whenever the use of the annotated element is discouraged. If you use the @Deprecated annotation, you must also have a @deprecated Javadoc tag and it should name an alternate implementation. In addition, remember that a @Deprecated method is<b>still</b>
+@DeprecatedThe @Deprecated annotation must be used whenever the use of the annotated element is discouraged. If you use the @Deprecated annotation, you must also have a @deprecated Javadoc tag and it should name an alternate implementation. In addition, remember that a @Deprecated method is <b>still</b>
 supposed to work.
 <p>If you see old code that has a @deprecated Javadoc tag, please add the @Deprecated annotation.
 </p>
 @OverrideThe @Override annotation must be used whenever a method overrides the declaration or implementation from a super-class.
 <p>For example, if you use the {@inheritdocs} Javadoc tag, and derive from a class (not an interface), you must also annotate that the method @Overrides the parent class's method.
 </p>
-@SuppressWarningsThe @SuppressWarnings annotation should only be used under circumstances where it is impossible to eliminate a warning. If a warning passes this "impossible to eliminate" test, the@SuppressWarnings annotation<b>must</b>
+@SuppressWarningsThe @SuppressWarnings annotation should only be used under circumstances where it is impossible to eliminate a warning. If a warning passes this "impossible to eliminate" test, the@SuppressWarnings annotation <b>must</b>
 be used, so as to ensure that all warnings reflect actual problems in the code.
 <p>When a @SuppressWarnings annotation is necessary, it must be prefixed with a TODO comment that explains the "impossible to eliminate" condition. This will normally identify an offending class that has an awkward interface. For example:
 </p>
-<pre>// TODO: The third-party class com.third.useful.Utility.rotate() needs generics<br>@SuppressWarnings({"generic-cast"})<br>ListStringblix = Utility.rotate(blax);<br></pre>
+<pre>// TODO: The third-party class com.third.useful.Utility.rotate() needs generics <br>@SuppressWarnings({"generic-cast"})<br>ListStringblix = Utility.rotate(blax);<br></pre>
 When a @SuppressWarnings annotation is required, the code should be refactored to isolate the software elements where the annotation applies.
 <h2><a>Acronyms in names</a>
 </h2>
@@ -336,8 +334,8 @@
 
 <p>Both the JDK and the Android code bases are very inconsistent with regards to acronyms, therefore, it is virtually impossible to be consistent with the code around you. Bite the bullet, and treat acronyms as words.
 </p>
-<p>For further justifications of this style rule, see<i>Effective Java</i>
-Item 38 and<i>Java Puzzlers</i>
+<p>For further justifications of this style rule, see <i>Effective Java</i>
+Item 38 and <i>Java Puzzlers</i>
 Number 68.
 </p>
 <h2><a>TODO style</a>
diff --git a/pdk/docs/source/documentation.jd b/pdk/docs/source/documentation.jd
index 8be5701..4eae071 100644
--- a/pdk/docs/source/documentation.jd
+++ b/pdk/docs/source/documentation.jd
@@ -1,14 +1,12 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Documentation Resources
 doc.type=source
 @jd:body
-<h3><b>Documentation</b>
-</h3>
-<div><p>

+<div><p>
               As this page grows, it will include resources for wireless operators and handset manufacturers as well as for platform developers.<br></p>
 <h3> 
-Resources for platform developers

+Resources for platform developers
             </h3>
-

+
             Google I/O videos:<br><ul><li><a href="http://sites.google.com/site/io/an-introduction-to-android">Introduction to Android</a>
 <img src="{@docRoot}images/documentation-0.png">
 <br></li>
@@ -22,21 +20,21 @@
 <img src="{@docRoot}images/documentation-0.png">
 </li>
 </ul>
-

+
             Getting started with the Android source code:<br><ul><li><a href="http://source.android.com/download">Get source</a>
 </li>
 <li><a href="http://source.android.com/submit-patches/code-style-guide">Code Style Guide</a>
 <br></li>
 </ul>
-

+
             Repo and Git resources:<br><ul><li><a href="http://source.android.com/download/using-repo#TOC-Git-and-Repo-cheatsheet">Git and Repo cheat sheet</a>
 </li>
-<li><a href="http://source.android.com/download/using-repo">Using Repo and Git<br></a>
+<li><a href="http://source.android.com/download/using-repo">Using Repo and Git <br></a>
 </li>
-<li>

-                The<a href="http://book.git-scm.com/">Git Community Book</a>
+<li>
+                The <a href="http://book.git-scm.com/">Git Community Book</a>
 <img src="{@docRoot}images/documentation-0.png">
-maintained by Scott Chacon<br></li>
+maintained by Scott Chacon <br></li>
 <li><a href="http://git.or.cz/gitwiki/FrontPage">GitWiki</a>
 <img src="{@docRoot}images/documentation-0.png">
 </li>
@@ -45,12 +43,12 @@
 </li>
 <li><a href="http://www.gitcasts.com/">GitCasts</a>
 <img src="{@docRoot}images/documentation-0.png">
-(Git how-to videos)

+(Git how-to videos)
               </li>
 </ul>
-

+
             Documentation on specific tasks:<br><ul><li><a href="http://source.android.com/documentation/building-for-dream">Building for Dream</a>
-(Android Developer Phone 1)

+(Android Developer Phone 1)
               </li>
 </ul>
 </div>
diff --git a/pdk/docs/source/download.jd b/pdk/docs/source/download.jd
index 9f67512..065a708 100644
--- a/pdk/docs/source/download.jd
+++ b/pdk/docs/source/download.jd
@@ -1,83 +1,16 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Get Android Source Code
 doc.type=source
 @jd:body
-<h3><span><b>Get source</b>
-</span>
-</h3>
-<div><div><div><div><div><div><div><div><p><b>Contents</b>
-</p>
-<ol><li><a href="#TOC-What-s-in-the-source-"><b>1</b>
-What's in the source?</a>
-</li>
-<li><a href="#TOC-Setting-up-your-machine"><b>2</b>
-Setting up your machine</a>
-<ol><li><a href="#TOC-Linux"><b>2.1</b>
-Linux</a>
-<ol><li><a href="#TOC-Ubuntu-Linux-32-bit-x86-"><b>2.1.1</b>
-Ubuntu Linux (32-bit x86)</a>
-</li>
-<li><a href="#TOC-Ubuntu-Linux-64-bit-x86-"><b>2.1.2</b>
-Ubuntu Linux (64-bit x86)</a>
-</li>
-<li><a href="#TOC-Running-Linux-in-a-virtual-machine"><b>2.1.3</b>
-Running Linux in a virtual machine</a>
-</li>
-<li><a href="#TOC-Other-Linux"><b>2.1.4</b>
-Other Linux</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Mac-OS"><b>2.2</b>
-Mac OS</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Installing-Repo"><b>3</b>
-Installing Repo</a>
-</li>
-<li><a href="#TOC-Initializing-a-Repo-client"><b>4</b>
-Initializing a Repo client</a>
-</li>
-<li><a href="#TOC-Getting-the-files"><b>5</b>
-Getting the files</a>
-</li>
-<li><a href="#TOC-Verifying-Git-Tags"><b>6</b>
-Verifying Git Tags</a>
-</li>
-<li><a href="#TOC-Building-the-code"><b>7</b>
-Building the code</a>
-</li>
-<li><a href="#TOC-Using-an-IDE"><b>8</b>
-Using an IDE</a>
-</li>
-<li><a href="#TOC-Troubleshooting"><b>9</b>
-Troubleshooting</a>
-</li>
-<li><a href="#TOC-What-s-next-"><b>10</b>
-What's next?</a>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div><table><tbody><tr><td>For information about current problems and fixes, see <a href="http://source.android.com/known-issues">Known issues</a>
-.</td>
-</tr>
-</tbody>
-</table>
-</div>
 <div><br>This document describes how to set up your local work environment, how to use Repo to get the Android files, and how to build the files on your machine.<br><br>Related reading:<br></div>
-<ul><li>For an overview of the entire code-review and code-update process, see <a href="http://source.android.com/submit-patches/workflow">Workflow</a>
+<ul><li>For an overview of the entire code-review and code-update process, see
+<a href="{@docRoot}source/life-of-a-patch.html">Life of a Patch</a>
 .</li>
-<li>For reference details about Repo, see <a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+<li>For reference details about Repo, see <a href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 .<br></li>
 </ul>
 <h2>
 What's in the source?</h2>
-<div>For a description of all the projects that make up the Android source code, see <a href="http://source.android.com/projects">Project layout</a>
-. To see snapshots and histories of the files available in the public Android repositories, visit the <a href="http://android.git.kernel.org/">GitWeb</a>
+<div>To see snapshots and histories of the files available in the public Android repositories, visit the <a href="http://android.git.kernel.org/">GitWeb</a>
 web interface.</div>
 <div></div>
 <div>The source is approximentely 2.1GB in size.You will need 6GB free to complete the build.<br><br></div>
@@ -241,7 +174,9 @@
 <div><br></div>
 <h2>
 Installing Repo <br></h2>
-<div><p>Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see <a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+<div><p>Repo is a tool that makes it easier to work with Git in the context of
+Android. For more information about Repo, see <a
+href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 .<br></p>
 To install, initialize, and configure Repo, follow these steps:<br><br></div>
 <ol><li><span>Make sure you have a~/bindirectory in your home directory, and check to be sure that this bin directory is in your path:</span>
@@ -304,10 +239,10 @@
 <div><span><span>To pull down files to your working directory from the repositories as specified in the default manifest, run</span>
 <br><br>$ repo sync <i><br></i>
 <br><span>For more aboutrepo syncand other Repo commands, see</span>
-<a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+<a href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 <span>.</span>
-<br><br><span>The Android source files will be located in your working directory under their <a href="http://source.android.com/projects">project</a>
-names.</span>
+<br><br><span>The Android source files will be located in your working
+directory under their project names.</span>
 </span>
 <br></div>
 <span><h2>
@@ -335,7 +270,7 @@
 <p>$ export ANDROID_JAVA_HOME=$JAVA_HOME</p>
 <h2>
 Using an IDE</h2>
-<ul><li><a href="http://source.android.com/using-eclipse">Using Eclipse</a>
+<ul><li><a href="{@docRoot}source/using-eclipse.html">Using Eclipse</a>
 for Android platform development <br></li>
 </ul>
 <h2>
@@ -357,9 +292,10 @@
 </span>
 <span>To learn about reporting an issue and searching previously reported issues,</span>
 <span>see</span>
-<a href="http://source.android.com/report-bugs">Report bugs</a>
+<a href="{@docRoot}source/report-bugs.html">Report bugs</a>
 <span>.</span>
-<span>For information about editing the files and uploading changes to the code-review server, see <a href="http://source.android.com/submit-patches">Contribute</a>
+<span>For information about editing the files and uploading changes to the
+code-review server, see <a href="{@docRoot}source/submit-patches.html">Contribute</a>
 .</span>
 </div>
 </div>
diff --git a/pdk/docs/source/git-repo.jd b/pdk/docs/source/git-repo.jd
index cc99626..97bd2ea 100644
--- a/pdk/docs/source/git-repo.jd
+++ b/pdk/docs/source/git-repo.jd
@@ -1,104 +1,11 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Using Repo and Git
 doc.type=source
 @jd:body
-<h3><b>Using Repo and Git</b>
-</h3>
-<div><div><div><div><div><div><p><b>Contents</b>
-</p>
-<ol><li><a href="#TOC-About-Git"><b>1</b>
-About Git</a>
-<ol><li><a href="#TOC-Why-Git-"><b>1.1</b>
-Why Git?</a>
-</li>
-<li><a href="#TOC-Already-a-Git-user-"><b>1.2</b>
-Already a Git user?</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Task-reference"><b>2</b>
-Task reference</a>
-<ol><li><a href="#TOC-Installing-Repo"><b>2.1</b>
-Installing Repo</a>
-</li>
-<li><a href="#TOC-Synchronizing-your-client"><b>2.2</b>
-Synchronizing your client</a>
-</li>
-<li><a href="#TOC-Why-use-topic-branches-"><b>2.3</b>
-Why use topic branches?</a>
-</li>
-<li><a href="#TOC-Creating-topic-branches"><b>2.4</b>
-Creating topic branches</a>
-</li>
-<li><a href="#TOC-Using-topic-branches"><b>2.5</b>
-Using topic branches</a>
-</li>
-<li><a href="#TOC-Viewing-client-status"><b>2.6</b>
-Viewing client status</a>
-</li>
-<li><a href="#TOC-Recovering-sync-conflicts"><b>2.7</b>
-Recovering sync conflicts</a>
-</li>
-<li><a href="#TOC-Cleaning-up-your-client-files"><b>2.8</b>
-Cleaning up your client files</a>
-</li>
-<li><a href="#TOC-Deleting-a-client"><b>2.9</b>
-Deleting a client</a>
-</li>
-<li><a href="#TOC-Scripting-common-tasks"><b>2.10</b>
-Scripting common tasks</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Repo-command-reference"><b>3</b>
-Repo command reference</a>
-<ol><li><a href="#TOC-init"><b>3.1</b>
-init</a>
-</li>
-<li><a href="#TOC-sync"><b>3.2</b>
-sync</a>
-</li>
-<li><a href="#TOC-upload"><b>3.3</b>
-upload</a>
-</li>
-<li><a href="#TOC-diff"><b>3.4</b>
-diff</a>
-</li>
-<li><a href="#TOC-download"><b>3.5</b>
-download</a>
-</li>
-<li><a href="#TOC-forall"><b>3.6</b>
-forall</a>
-</li>
-<li><a href="#TOC-help"><b>3.7</b>
-help</a>
-</li>
-<li><a href="#TOC-prune"><b>3.8</b>
-prune</a>
-</li>
-<li><a href="#TOC-start"><b>3.9</b>
-start</a>
-</li>
-<li><a href="#TOC-status"><b>3.10</b>
-status</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Git-and-Repo-cheatsheet"><b>4</b>
-Git and Repo cheatsheet</a>
-</li>
-<li><a href="#TOC-Terminology"><b>5</b>
-Terminology</a>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
 <p>To work with the Android code, you will need to use both Git and Repo.<br></p>
 <ul><li><i>Git</i>
 is an open-source version-control system designed to handle very large projects that are distributed over multiple repositories. In the context of Android, we use Git for local operations such as local branching, commits, diffs, and edits.<br><br></li>
 <li><i>Repo</i>
-is a tool that we built on top of Git. Repo helps us manage the many Git repositories, does the uploads to our<a href="http://review.source.android.com/">revision control system</a>
+is a tool that we built on top of Git. Repo helps us manage the many Git repositories, does the uploads to our <a href="http://review.source.android.com/">revision control system</a>
 , and automates parts of the Android development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android. The repocommand is an executable Python script that you can put anywhere in your path.<i><br><br></i>
 In working with the Android source files, you will use Repo for across-network operations. For example, with a single Repo command you can download files from multiple repositories into your local working directory.
 </li>
@@ -112,59 +19,59 @@
 One of the challenges in setting up the Android project was figuring out how to best support the outside community--from the hobbiest community to large OEMs building mass-market consumer devices. We wanted components to be replaceable, and we wanted interesting components to be able to grow a life of their own outside of Android. We first chose a distributed revision control system, then further narrowed it down to Git.<br><h3>
 Already a Git user?
 </h3>
-In most situations, you can use Git instead of Repo, or mix Repo and Git commands to form complex commands. Using Repo for basic across-network operations will make your work much simpler, however. For more information about Git, see the list of resources on our<a href="http://sites.google.com/a/android.com/opensource/documentation">Documentation</a>
+In most situations, you can use Git instead of Repo, or mix Repo and Git commands to form complex commands. Using Repo for basic across-network operations will make your work much simpler, however. For more information about Git, see the list of resources on our <a href="http://sites.google.com/a/android.com/opensource/documentation">Documentation</a>
 page.<br></div>
 <div><div><h2>
-Task reference<br></h2>
-The task list below shows a summary of how to do common Repo and Git tasks. For complete quick-start information and examples, see<a href="http://sites.google.com/a/android.com/opensource/download">Get source</a>
+Task reference <br></h2>
+The task list below shows a summary of how to do common Repo and Git tasks. For complete quick-start information and examples, see <a href="http://sites.google.com/a/android.com/opensource/download">Get source</a>
 .
 <h3>
-Installing Repo<br></h3>
-$ curl http://android.git.kernel.org/repo ~/bin/repo<div>$ chmod a+x ~/bin/repo</div>
-$ mkdir<i>working-directory-name</i>
-<br>$ cd<i>working-directory-name<br></i>
-$ repo init-u git://android.git.kernel.org/platform/manifest.git<br><br><h3>
+Installing Repo <br></h3>
+$ curl http://android.git.kernel.org/repo ~/bin/repo <div>$ chmod a+x ~/bin/repo</div>
+$ mkdir <i>working-directory-name</i>
+<br>$ cd <i>working-directory-name <br></i>
+$ repo init-u git://android.git.kernel.org/platform/manifest.git <br><br><h3>
 Synchronizing your client
 </h3>
-To synchronize the files for all available<a href="http://sites.google.com/a/android.com/opensource/projects">projects</a>
-:<br>$ repo sync<br><br>To synchronize the files for selected projects:<br>$ repo sync<i>project1 project2 ...</i>
+To synchronize the files for all available <a href="http://sites.google.com/a/android.com/opensource/projects">projects</a>
+:<br>$ repo sync <br><br>To synchronize the files for selected projects:<br>$ repo sync <i>project1 project2 ...</i>
 <i><br></i>
 <br><h3>
 Why use topic branches?
 </h3>
-Start a topic branch in your local work environment whenever you begin a change, for example when you begin work on a bug or new feature.<br><br>A topic branch is not a copy of the original files; it is a pointer to a particular commit. This makes creating local branches and switching among them a light-weight operation. By using branches, you canisolateone aspect of your work from the others. For an interesting article about using topic branches, see<a href="http://www.kernel.org/pub/software/scm/git/docs/howto/separating-topic-branches.txt">Separating topic branches</a>
+Start a topic branch in your local work environment whenever you begin a change, for example when you begin work on a bug or new feature.<br><br>A topic branch is not a copy of the original files; it is a pointer to a particular commit. This makes creating local branches and switching among them a light-weight operation. By using branches, you canisolateone aspect of your work from the others. For an interesting article about using topic branches, see <a href="http://www.kernel.org/pub/software/scm/git/docs/howto/separating-topic-branches.txt">Separating topic branches</a>
 .
 <div><img src="{@docRoot}images/git-repo-0.png">
 </div>
 <br><br><h3>
 Creating topic branches
 </h3>
-To start a topic branch using Repo:<br>$ repo start<i>branchname</i>
-<br><br>To verify that your new branch was created:<br>$ repo status<br><br><h3>
+To start a topic branch using Repo:<br>$ repo start <i>branchname</i>
+<br><br>To verify that your new branch was created:<br>$ repo status <br><br><h3>
 Using topic branches
 </h3>
-To assign the branch to a particular project:<br>$ repo start<i>branch</i>
+To assign the branch to a particular project:<br>$ repo start <i>branch</i>
 <i>name project</i>
-<br><br>To switch back and forth among branches that you have created in your local work environment:<br>$ git checkout<i>branchname</i>
-<br><br>To see a list of existing branches:<br>$ git branch<br>or...<br>$ repo branches<br><br>The name of the current branch will be preceded by an asterisk.<br><br></div>
+<br><br>To switch back and forth among branches that you have created in your local work environment:<br>$ git checkout <i>branchname</i>
+<br><br>To see a list of existing branches:<br>$ git branch <br>or...<br>$ repo branches <br><br>The name of the current branch will be preceded by an asterisk.<br><br></div>
 <div><i><b>Note:</b>
 <br></i>
 A bug might be causing repo sync to reset the local topic branch. If git branch shows * (no branch) after you run repo sync, then run git checkoutagain.<br></div>
 <div><br><h3>
 Viewing client status
 </h3>
-To list the state of your files:<br>$ repo status<br><br>To see uncommitted edits:<br>$ repo diff<br><br>Therepo diffcommand shows every local edit that you have made that would<i>not</i>
+To list the state of your files:<br>$ repo status <br><br>To see uncommitted edits:<br>$ repo diff <br><br>Therepo diffcommand shows every local edit that you have made that would <i>not</i>
 go into the commit, if you were to commit right now.<br><br>To see every edit that would go into the commit if you were to commit right now, you need a Git command, git diff. Before running it, be sure you are down in the project directory:<br>$ cd ~/<i>workingdirectory</i>
 /<i>project</i>
-<br>$ git diff --cached<br><br><h3>
+<br>$ git diff --cached <br><br><h3>
 Recovering sync conflicts
 </h3>
 If a repo sync shows sync conflicts:<br><ol><li>View the files that are unmerged (status code = U).
 </li>
 <li>Edit the conflict regions as necessary.
 </li>
-<li>Change into the relevant project directory, run git add and git commit for the files in question, and then "rebase" the changes. For example:<br>$ cd bionic<br>$ git add bionic/*<br>$ git commit<br>$ git rebase --continue<br><br></li>
-<li>When the rebase is complete start the entire sync again:<br>$ repo syncbionic<i>proj2</i>
+<li>Change into the relevant project directory, run git add and git commit for the files in question, and then "rebase" the changes. For example:<br>$ cd bionic <br>$ git add bionic/*<br>$ git commit <br>$ git rebase --continue <br><br></li>
+<li>When the rebase is complete start the entire sync again:<br>$ repo syncbionic <i>proj2</i>
 <i>proj3</i>
 <i>...</i>
 
@@ -172,13 +79,13 @@
 <br></li>
 </ol>
 <h3>
-Cleaning up your client files<br></h3>
-To update your local working directory after changes are merged in Gerrit:<br>$repo sync<br><br>To safely remove stale topic branches:<br>$ repo prune<br><br><h3>
+Cleaning up your client files <br></h3>
+To update your local working directory after changes are merged in Gerrit:<br>$repo sync <br><br>To safely remove stale topic branches:<br>$ repo prune <br><br><h3>
 Deleting a client
 </h3>
-Deleting a client will<b>permanently delete</b>
-any changes you have not yet uploaded for review.Becauseall state information is stored in your client, you only need to delete the directory from your filesystem:<br><br>$ cd<i>~</i>
-<br>$ rm -rf<i>working-directory-name</i>
+Deleting a client will <b>permanently delete</b>
+any changes you have not yet uploaded for review.Becauseall state information is stored in your client, you only need to delete the directory from your filesystem:<br><br>$ cd <i>~</i>
+<br>$ rm -rf <i>working-directory-name</i>
 <br><br><h3>
 Scripting common tasks
 </h3>
@@ -196,14 +103,14 @@
 ]<br><br>The -c argument is evaluated through /bin/sh and any arguments after it are passed through as shell positional parameters.<br><br><h2>
 Repo command reference
 </h2>
-Repo usage takes the following form:<br>repo<i>command options</i>
-<br><br>Optional elements are shown in brackets[ ]. Once Repo is installed, you can get information about any command by running<br>repo help<i>command</i>
+Repo usage takes the following form:<br>repo <i>command options</i>
+<br><br>Optional elements are shown in brackets[ ]. Once Repo is installed, you can get information about any command by running <br>repo help <i>command</i>
 <br><br><h3>
 init
 </h3>
-repo init -u<i>url</i>
+repo init -u <i>url</i>
 [<i>options</i>
-]<br><br><div>Installs Repo in the current directory. This creates a .repo/ directory that contains Git repositories for the Repo source code and the standard Android manifest files. The .repo/ directory also containsmanifest.xml, which is a symlink to the selected manifest in the .repo/manifests/ directory.<br><br>The -u argument specifies a URL from which to retrieve a manifest repository. For example:<br>$ repo init -u git://android.git.kernel.org/platform/manifest.git<br><br>To select a manifest file within the repository, use the -m option. (If no manifest name is selected, the default is default.xml.)For example:<br>$ repo init -ugit://android.git.kernel.org/platform/manifest.git-m dalkvik-plus.xml<br><br>To specify a revision, that is, a particular manifest-branch, use the -b option. For example:<br>$ repo init -ugit://android.git.kernel.org/platform/manifest.git-b release-1.0<br><br>To see other repo init options, run<br>$ repo help init<br><br><b>Note:</b>
+]<br><br><div>Installs Repo in the current directory. This creates a .repo/ directory that contains Git repositories for the Repo source code and the standard Android manifest files. The .repo/ directory also containsmanifest.xml, which is a symlink to the selected manifest in the .repo/manifests/ directory.<br><br>The -u argument specifies a URL from which to retrieve a manifest repository. For example:<br>$ repo init -u git://android.git.kernel.org/platform/manifest.git <br><br>To select a manifest file within the repository, use the -m option. (If no manifest name is selected, the default is default.xml.)For example:<br>$ repo init -ugit://android.git.kernel.org/platform/manifest.git-m dalkvik-plus.xml <br><br>To specify a revision, that is, a particular manifest-branch, use the -b option. For example:<br>$ repo init -ugit://android.git.kernel.org/platform/manifest.git-b release-1.0<br><br>To see other repo init options, run <br>$ repo help init <br><br><b>Note:</b>
 For all remaining Repo commands, the current working directory must either be the parent directory of .repo/ or a subdirectory of the parent directory.<br><br></div>
 <h3>
 sync
@@ -220,8 +127,8 @@
 <div>When you run repo sync, this is what happens:<br></div>
 <ol><li>If the project has never been synchronized, then repo sync is equivalent to git clone. All branches in the remote repository are copied to the local project directory.
 </li>
-<li>If the project has already been synchronized once, then repo sync is equivalent to:<br>git remote update<br>git rebase origin/<i>branch</i>
-<br>where<i>branch</i>
+<li>If the project has already been synchronized once, then repo sync is equivalent to:<br>git remote update <br>git rebase origin/<i>branch</i>
+<br>where <i>branch</i>
 is the currently checked-out branch in the local project directory. If the local branch is not tracking a branch in the remote repository, then no synchronization will occur for the project.<br><br>If the git rebase operation results in merge conflicts, you will need to use the normal Git commands (for example, git rebase --continue) to resolve the conflicts.<br></li>
 </ol>
 <div>The repo sync command also updates the private repositories in the .repo/ directory.<br></div>
@@ -229,7 +136,7 @@
 upload
 </h3>
 repo upload [<i>project-list</i>
-]<br><br><div>For the specified projects, Repo compares the local branches to the remote branches updated during the last repo sync. Repo will prompt you to select one or more of the branches that have not yet been uploaded for review.<br><br>After you select one or more branches, all commits on the selected branches are transmitted to Gerrit over an SSH connection.You will need to configure an SSH key to enable upload authorization.Visit<a href="http://review.source.android.com/Gerrit#settings,ssh-keys">SSH Keys</a>
+]<br><br><div>For the specified projects, Repo compares the local branches to the remote branches updated during the last repo sync. Repo will prompt you to select one or more of the branches that have not yet been uploaded for review.<br><br>After you select one or more branches, all commits on the selected branches are transmitted to Gerrit over an SSH connection.You will need to configure an SSH key to enable upload authorization.Visit <a href="http://review.source.android.com/Gerrit#settings,ssh-keys">SSH Keys</a>
 within the user settings panel to register your public keys with Gerrit.To enable password-less uploads, consider using ssh-agent on your client system.<br><br>When Gerrit receives the object data over its SSH server, it will turn each commit into a change so that reviewers can comment on each commit individually.<br><br>To combine several "checkpoint" commits together into a single commit, use git rebase -i before you run repo upload.<br><br>You can specify project-list as a list of names or a list of paths to local source directories for the projects:<br>repo upload [<i>proj1</i>
 <i>proj2</i>
 <i>...</i>
@@ -238,13 +145,13 @@
 ]<br><br>If you run repo upload without any arguments, it will search all the projects for changes to upload.<br><br>To make edits to changes after they have been uploaded, you should use a tool likegit rebase -ior git commit --amend to update your local commits.<br><br>After your edits are complete:<br></div>
 <div><ol><li>Make sure the updated branch is the currently checked out branch.
 </li>
-<li>Use repo upload --replace<i>proj1</i>
+<li>Use repo upload --replace <i>proj1</i>
 to open the change matching editor.
 </li>
 <li>For each commit in the series, enter the Gerrit change Id inside the brackets:<br></li>
 </ol>
 </div>
-<div># Replacing from branch foo<br>[ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...<br>[ 2829 ] ec18b4ba Update proto client to support patch set replacments<br>[ 3022 ] c99883fe Teach 'repo upload --replace' how to add replacement patch se...<br># Insert change numbers in the brackets to add a new patch set.<br># To create a new change record, leave the brackets empty.<br><br>After the upload is complete the changes will have an additional Patch Set (e.g. Patch Set 2, Patch Set 3, ...).<br></div>
+<div># Replacing from branch foo <br>[ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...<br>[ 2829 ] ec18b4ba Update proto client to support patch set replacments <br>[ 3022 ] c99883fe Teach 'repo upload --replace' how to add replacement patch se...<br># Insert change numbers in the brackets to add a new patch set.<br># To create a new change record, leave the brackets empty.<br><br>After the upload is complete the changes will have an additional Patch Set (e.g. Patch Set 2, Patch Set 3, ...).<br></div>
 <br><h3>
 diff
 </h3>
@@ -256,28 +163,28 @@
 <i>projN</i>
 ]<br><br>Options:<br>-h, --helpmeans show this help message and exit.<br></div>
 <br><h3>
-download<br></h3>
-repo download<i>target</i>
+download <br></h3>
+repo download <i>target</i>
 <i>change</i>
-<br><br><div>Downloads the specified change into the specified local directory. (Added to Repo as of version 1.0.4.)<br><br>For example, to download<a href="http://review.source.android.com/1241">change 1241</a>
+<br><br><div>Downloads the specified change into the specified local directory. (Added to Repo as of version 1.0.4.)<br><br>For example, to download <a href="http://review.source.android.com/1241">change 1241</a>
 into your platform/frameworks/base directory:<br>$ repo download platform/frameworks/base 1241<br><br>A"repo sync"should effectively remove any commits retrieved via "repo download".Or, you can check out the remote branch; e.g., "git checkout m/master".<br><br><b>Note:</b>
-As of Jan. 26, 2009, there is a mirroring lag of approximately 5 minutes between when a change is visible on the web in<a href="http://review.source.android.com/">Gerrit</a>
+As of Jan. 26, 2009, there is a mirroring lag of approximately 5 minutes between when a change is visible on the web in <a href="http://review.source.android.com/">Gerrit</a>
 and when repo download will be able to find it, because changes are actually downloaded off the git://android.git.kernel.org/ mirror farm. There will always be a slight mirroring lag as Gerrit pushes newly uploaded changes out to the mirror farm.
 </div>
 <br><h3>
 forall
 </h3>
 repo forall [<i>project-list</i>
-] -c<i>command</i>
+] -c <i>command</i>
 [<i>arg.</i>
-..]<br><br><div>Runs a shell command in each project.<br><br>You can specify project-list as a list of names or a list of paths to local source directories for the projects<br></div>
+..]<br><br><div>Runs a shell command in each project.<br><br>You can specify project-list as a list of names or a list of paths to local source directories for the projects <br></div>
 <br><h3>
 help
 </h3>
 repo help [<i>command</i>
 ]<br><br><div>Displays detailed help about a command.<br></div>
 <br><h3>
-prune<br></h3>
+prune <br></h3>
 repo prune [<i>project-list</i>
 ]<br><br><div>Prunes (deletes) topics that are already merged.<br><br>You can specify project-list as a list of names or a list of paths to local source directories for the projects:<br>repo prune [<i>proj1</i>
 <i>proj2</i>
@@ -288,10 +195,10 @@
 <br><h3>
 start
 </h3>
-repo start<i>newbranchname</i>
+repo start <i>newbranchname</i>
 [<i>project-list</i>
-]<br><br><div>Starts a new branch for development.<br><br>The<i>newbranchname</i>
-argument should provide a short description of the change you are trying to make to the projects.If you don't know, consider using the name default.<br><br>The<i>project-list</i>
+]<br><br><div>Starts a new branch for development.<br><br>The <i>newbranchname</i>
+argument should provide a short description of the change you are trying to make to the projects.If you don't know, consider using the name default.<br><br>The <i>project-list</i>
 specifies which projects will participate in this topic branch. You can specify project-list as a list of names or a list of paths to local working directories for the projects:<br>repo start default [<i>proj1</i>
 <i>proj2</i>
 <i>...</i>
@@ -307,7 +214,7 @@
 <i>...</i>
 
 <i>projN</i>
-]<br><br>To see the status for only the current branch, run<br>repo status .<br><br>The status information will be listed by project. For each file in the project, a two-letter code is used:<br></div>
+]<br><br>To see the status for only the current branch, run <br>repo status .<br><br>The status information will be listed by project. For each file in the project, a two-letter code is used:<br></div>
 <div><ul><li>In the left-most column, an uppercase letter indicates what is happening in the index (the staged files) when compared to the last committed state.<br><br></li>
 <li>In the next column, a lowercase letter indicates what is happening in the working directory when compared to the index (what is staged).
 </li>
@@ -321,11 +228,11 @@
 </td>
 <td>The file is added (brand new). Can only appear in the first column.<br></td>
 </tr>
-<tr><td>M or m<br></td>
+<tr><td>M or m <br></td>
 <td>The file already exists but has been modified in some way.
 </td>
 </tr>
-<tr><td>D or d<br></td>
+<tr><td>D or d <br></td>
 <td>The file has been deleted.<br></td>
 </tr>
 <tr><td>R
@@ -349,12 +256,12 @@
 </tr>
 <tr><td>-
 </td>
-<td>The file state is unmodified. A hyphen in<i>both</i>
+<td>The file state is unmodified. A hyphen in <i>both</i>
 columns means this is a new file, unknown to Git. After you run git add on this file, repo status will show A-, indicating the file has been added.<br></td>
 </tr>
 </tbody>
 </table>
-<br>For example, if you edit the file main.py within the appeng project without staging the changes, then repo status might show<br><br>project appeng/<br>-mmain.py<br><br>If you go on to stage the changes to main.py by running git add, then repo status might show<br><br>project appeng/<br>M- main.py<br><br>If you then make further edits to the already-staged main.py and make edits to another file within the project, app.yaml, then repo status might show<br><br>project appeng/<br>-mapp.yaml<br>Mm main.py<br><br></div>
+<br>For example, if you edit the file main.py within the appeng project without staging the changes, then repo status might show <br><br>project appeng/<br>-mmain.py <br><br>If you go on to stage the changes to main.py by running git add, then repo status might show <br><br>project appeng/<br>M- main.py <br><br>If you then make further edits to the already-staged main.py and make edits to another file within the project, app.yaml, then repo status might show <br><br>project appeng/<br>-mapp.yaml <br>Mm main.py <br><br></div>
 <h2>
 Git and Repo cheatsheet
 </h2>
@@ -367,7 +274,7 @@
 </h2>
 <i>Staged</i>
 <i>changes</i>
-<br>Changes marked by git add for inclusion in the next commit's snapshot.<br><br><i>Commit<br></i>
+<br>Changes marked by git add for inclusion in the next commit's snapshot.<br><br><i>Commit <br></i>
 At intervals, you use git commit to save a snapshot of the staged files and a log message that describes the change.<br><br><i>Manifest</i>
 <br>A manifest file that contains a list of repositories and a mapping of where the files from these repositories will be located within your working directory. When you synchronize your files, the files contained in the repositories that are listed in the manifest will be pulled into your working directory.</div>
 </div>
diff --git a/pdk/docs/source/index.jd b/pdk/docs/source/index.jd
index 6c27bdb..4960e30 100644
--- a/pdk/docs/source/index.jd
+++ b/pdk/docs/source/index.jd
@@ -19,8 +19,10 @@
 <p>We created Android so that all developers can distribute their applications
 to users on an open platform. One of the best ways you can help Android is to
 write cool apps that users love!</p>
-<p>To get started, visit our sister site, <a
-href="http://developer.android.com/">developer.android.com</a>.</p>
+<p>To get started, visit <a
+href="http://developer.android.com/">developer.android.com</a>. This site
+provides the information and tools you need to write applications for
+compatible Android devices, using the SDK.</p>
 
 <h2>Contribute to the Code</h2>
 <p>Code is King. We'd love to review any changes you submit, so please check
diff --git a/pdk/docs/source/licenses.jd b/pdk/docs/source/licenses.jd
index f1f646b..0d2cf2e 100644
--- a/pdk/docs/source/licenses.jd
+++ b/pdk/docs/source/licenses.jd
@@ -10,7 +10,7 @@
 <p>The preferred license for the Android Open Source Project is <a
 href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. Apache 2.0
 is a commercial and open source friendly open source license. The majority of
-the Android platform is licensed under the<a
+the Android platform is licensed under the <a
 href="http://www.apache.org/licenses/">Apache 2.0 license</a>. While the
 project will strive to adhere to the preferred license, there may be
 exceptions which will be handled on a case-by-case basis. For example, the
@@ -24,7 +24,7 @@
 Source Project will be required to complete, sign, and submit an <a
 href="{@docRoot}source/cla-individual.html">Individual
 Contributor License Grant</a>. The grant can be executed online through the <a
-href="http://review.source.android.com/Gerrit#settings,agreements">code review
+href="https://review.source.android.com/#settings,agreements">code review
 tool</a>. The agreement clearly defines the terms under which intellectual
 property has been contributed to the Android Open Source Project.This license
 is for your protection as a contributor as well as the protection of the
diff --git a/pdk/docs/source/life-of-a-patch.jd b/pdk/docs/source/life-of-a-patch.jd
index e7ae936..458afa5 100644
--- a/pdk/docs/source/life-of-a-patch.jd
+++ b/pdk/docs/source/life-of-a-patch.jd
@@ -1,5 +1,11 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Life of a Patch
 doc.type=source
 @jd:body
-<h2>Workflow</h2>
+<p>The Android Open Source Project (AOSP) uses a web-based code review tool
+known as "gerrit". The image below is a flowchart that details what happens to
+a patch, once it's been written. Though it may appear complex, the majority of
+the steps below are performed in the web application.</p>
+<p>For full instructions on how to get set up to use gerrit and git, please
+see <a href="{@docRoot}source/submit-patches.html">the Submitting Patches
+page</a>.</p>
 <img src="{@docRoot}images/workflow-0.png"/>
diff --git a/pdk/docs/source/overview-1.0.jd b/pdk/docs/source/overview-1.0.jd
index cc923c6..e1b5cd6 100644
--- a/pdk/docs/source/overview-1.0.jd
+++ b/pdk/docs/source/overview-1.0.jd
@@ -1,17 +1,16 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Android 1.0 Features
 doc.type=source
 @jd:body
-<h3><b>Release features - Android 1.0</b>
-</h3>
-<div><div><div><div>This page provides a high-level overview of Android 1.0 features. For a list of all the projects that make up the Android 1.0 source code, see<a href="http://source.android.com/projects">Project layout</a>
-. To see the code itself, you can either use the<a href="http://git.source.android.com/">GitWeb</a>
-interface to view snapshots of the files, or you can<a href="http://source.android.com/download">download</a>
+<div><div><div><div>This page provides a high-level overview of Android 1.0
+features. To see the code itself, you can either use the <a href="http://android.git.kernel.org/">GitWeb</a>
+interface to view snapshots of the files, or you can <a
+href="{@docRoot}source/download.html">download</a>
 the source code onto your local machine.<br><br><b>Applications</b>
 <br><br>The Android platform comes with a variety of applications written using the Java programming language:<br><ul><li><i>Home</i>
 displays applications, widgets, and shortcuts. It also supports customizable wall paper.
 </li>
 <li><i>Phone</i>
-supports regular telephony functions as well as call controls, conference calls, supplementary services, and easy integration with<i>Contacts</i>
+supports regular telephony functions as well as call controls, conference calls, supplementary services, and easy integration with <i>Contacts</i>
 .<br></li>
 <li><i>Web Browser</i>
 is a fully featured WebKit-based browser that supports HTML and XHTML.
@@ -27,7 +26,7 @@
 </ul>
 <b>Application framework</b>
 <br><br></div>
-<div>The Android Application Framework has been designed to provide a rich set of APIs for third-party application developers. For more information, visit the<a href="http://developer.android.com/guide/index.html">Android SDK developer guide</a>
+<div>The Android Application Framework has been designed to provide a rich set of APIs for third-party application developers. For more information, visit the <a href="http://developer.android.com/guide/index.html">Android SDK developer guide</a>
 .<b><br></b>
 </div>
 <div></div>
@@ -47,7 +46,7 @@
 </li>
 <li>Efficient linkage to low-level native code.
 </li>
-<li>A familiar and rich set of core library functionality. For a complete list of supported libraries, see<a href="http://developer.android.com/reference/packages.html">http://developer.android.com/reference/packages.html</a>
+<li>A familiar and rich set of core library functionality. For a complete list of supported libraries, see <a href="http://developer.android.com/reference/packages.html">http://developer.android.com/reference/packages.html</a>
 .
 </li>
 <li>Enhanced JDWP support, enabling easier debugging of multiple processes simultaneously.
@@ -55,7 +54,7 @@
 <li>JNI support.
 </li>
 </ul>
-<b>Native libraries<br></b>
+<b>Native libraries <br></b>
 <br>The Android platform makes use of many native libraries, including:<br><ul><li><i>Bionic</i>
 , a custom libc implementation optimized for embedded systems.
 </li>
@@ -72,9 +71,9 @@
 <ul><li>Based on Linux 2.6.25 for ARM.<br></li>
 <li>Platform currently expects ARM V5T or better architecture. Support for earlier architectures could be added, but CPUs without an MMU would be difficult to support.
 </li>
-<li>A set of kernel enhancements are provided to support Android. The patches include alarm, ashmem, binder, power management, low memory killer, kernel degugger, and logger<b>.<br></b>
+<li>A set of kernel enhancements are provided to support Android. The patches include alarm, ashmem, binder, power management, low memory killer, kernel degugger, and logger <b>.<br></b>
 </li>
-<li>While the platform is designed to be chipset agnostic, and will run on virtually any ARM-based Linux kernel environment, version 1.0 of the platform has been tested and verified on the MSM 7K chipsets<b>.</b>
+<li>While the platform is designed to be chipset agnostic, and will run on virtually any ARM-based Linux kernel environment, version 1.0 of the platform has been tested and verified on the MSM 7K chipsets <b>.</b>
 Over time we expect to see support for other major chipsets.
 Kernel patches for MSM based chipsets are also available.
 </li>
@@ -92,7 +91,7 @@
 <li>Logging and crash logs supported for debugging.
 </li>
 </ul>
-<b>Supported hardware<br></b>
+<b>Supported hardware <br></b>
 <ul><li>The platform will run on almost on any ARM based Linux kernel environment.
 </li>
 <li>The platform requires a minimum of 128 MB of RAM and 256 MB ofFlash memory. AnOEM may want to support more Flash memory to make it possible to download more third-party applications to user devices.<br></li>
@@ -110,8 +109,8 @@
 </li>
 </ul>
 <b>Supported display</b>
-<br><ul><li>HVGA resolution<br></li>
-<li>16 bit color depth<br></li>
+<br><ul><li>HVGA resolution <br></li>
+<li>16 bit color depth <br></li>
 <li>Landscape and portrait orientation, including dynamic runtime switching
 </li>
 <li>Finger-based touchscreen navigation
@@ -141,12 +140,12 @@
 <li>Vibration
 </li>
 </ul>
-<b>Supported radio and telephony features<br></b>
+<b>Supported radio and telephony features <br></b>
 <ul><li>GPRS, EDGE, UMTS, HSDPA
 </li>
-<li>International roaming, SMS, MMS<br></li>
-<li>Emergency call support<br></li>
-<li>Supplementary Services for Telephony, for example call waiting and conference calling<br></li>
+<li>International roaming, SMS, MMS <br></li>
+<li>Emergency call support <br></li>
+<li>Supplementary Services for Telephony, for example call waiting and conference calling <br></li>
 <li>Unstructured Supplementary Service Data (USSD)
 </li>
 <li>Reference Radio Interface Layer (RIL)
diff --git a/pdk/docs/source/overview-1.5.jd b/pdk/docs/source/overview-1.5.jd
index 3212f3b..dd74874 100644
--- a/pdk/docs/source/overview-1.5.jd
+++ b/pdk/docs/source/overview-1.5.jd
@@ -1,12 +1,14 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Android 1.5 Features
 doc.type=source
 @jd:body
 <h3><b>Release features - Android 1.5</b>
 </h3>
 <div><div><div><div><b>Previous release highlights</b>
-:<a href="http://source.android.com/release-features---android-1-0">Android 1.0</a>
-<br><br>This page provides a high-level overview of the new features added to Android 1.5. To see the code itself, you can either use the<a href="http://git.source.android.com/">GitWeb</a>
-interface to view snapshots of the files, or you can<a href="http://source.android.com/download">download</a>
+:<a href="{@docRoot}source/overview-1.0.html">Android 1.0</a>
+<br><br>This page provides a high-level overview of the new features added to
+Android 1.5. To see the code itself, you can either use the<a href="http://android.git.kernel.org/">GitWeb</a>
+interface to view snapshots of the files, or you can<a
+href="{@docRoot}source/download.html">download</a>
 the source code onto your local machine. You can use<i>repo init -u</i>
 git://android.git.kernel.org/platform/manifest.git<i>-b android-1.5</i>
 to download the source code for Android 1.5.<br><br><b>User interface refinements:</b>
diff --git a/pdk/docs/source/overview.jd b/pdk/docs/source/overview.jd
index 0948ef2..9874b4b 100644
--- a/pdk/docs/source/overview.jd
+++ b/pdk/docs/source/overview.jd
@@ -3,9 +3,9 @@
 @jd:body
 <p>This page provides a high-level overview of the new features added to
 Android 1.6. To see the code itself, you can either use the <a
-href="http://git.source.android.com/">GitWeb</a>
+href="http://android.git.kernel.org/">GitWeb</a>
 interface to view snapshots of the files, or you can <a
-href="http://source.android.com/download/idex.html">download</a>
+href="{@docRoot}source/download.html">download</a>
 the source code onto your local machine. You can use <code>repo init -u
 git://android.git.kernel.org/platform/manifest.git -b android-1.6</code>
 to download the source code for Android 1.6.</p>
diff --git a/pdk/docs/source/roles.jd b/pdk/docs/source/roles.jd
index 9c64c71..2b4a721 100644
--- a/pdk/docs/source/roles.jd
+++ b/pdk/docs/source/roles.jd
@@ -13,14 +13,6 @@
 the tools. To get started with the Android code, see <a
 href="{@docRoot}source/index.html">Get Involved</a>.</p>
 
-<h2>AOSP Member</h2>
-<p>"AOSP Member" is a somewhat loose term, but generally refers to
-those organizations who are key contributors to Android, and who are managing
-the product requirements process and core engineering.  You can think of this
-group as the Android "core team" responsible for Android's overall success in
-the marketplace. One of the most prominent AOSP members is Google.</p>
-<p/>
-
 <h2>Contributor</h2>
 <p>A "Contributor" is anyone making contributions to the AOSP source code,
 including both employees or other affiliates of an AOSP Member, as well as
diff --git a/pdk/docs/source/source_toc.cs b/pdk/docs/source/source_toc.cs
index 007ea64..1531aff 100644
--- a/pdk/docs/source/source_toc.cs
+++ b/pdk/docs/source/source_toc.cs
@@ -25,6 +25,7 @@
     <li><a href="<?cs var:toroot ?>source/life-of-a-patch.html">Life of a Patch</a></li>
     <li><a href="<?cs var:toroot ?>source/submit-patches.html">Submitting Patches</a></li>
     <li><a href="<?cs var:toroot ?>source/report-bugs.html">Reporting Bugs</a></li>
+    <li><a href="<?cs var:toroot ?>source/code-lines.html">Branches &amp; Releases</a></li>
   </ul>
 </ul>
 
diff --git a/pdk/docs/source/submit-patches.jd b/pdk/docs/source/submit-patches.jd
index afa6bf2..880a682 100644
--- a/pdk/docs/source/submit-patches.jd
+++ b/pdk/docs/source/submit-patches.jd
@@ -1,109 +1,32 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Android Contributors' Workflow
 doc.type=source
 @jd:body
-<h3><span><b>Contribute</b>
-</span>
-</h3>
-<div><a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
-<div><div><div><div><div><div><p><b>Contents</b>
-</p>
-<ol><li><a href="#TOC-Prerequisites"><b>1</b>
-Prerequisites</a>
-</li>
-<li><a href="#TOC-Working-with-the-code"><b>2</b>
-Working with the code</a>
-<ol><li><a href="#TOC-Starting-a-topic-branch"><b>2.1</b>
-Starting a topic branch</a>
-</li>
-<li><a href="#TOC-Editing-the-files"><b>2.2</b>
-Editing the files</a>
-</li>
-<li><a href="#TOC-Staging-changes"><b>2.3</b>
-Staging changes</a>
-</li>
-<li><a href="#TOC-Using-repo-status"><b>2.4</b>
-Using repo status</a>
-</li>
-<li><a href="#TOC-Using-git-diff"><b>2.5</b>
-Using git diff</a>
-</li>
-<li><a href="#TOC-Committing-changes"><b>2.6</b>
-Committing changes</a>
-</li>
-<li><a href="#TOC-Committing-changes-during-code-revi"><b>2.7</b>
-Committing changes during code review</a>
-</li>
-<li><a href="#TOC-Editing-uploaded-changes"><b>2.8</b>
-Editing uploaded changes</a>
-</li>
-<li><a href="#TOC-Uploading-changes-to-Gerrit"><b>2.9</b>
-Uploading changes to Gerrit</a>
-</li>
-<li><a href="#TOC-Summary-example"><b>2.10</b>
-Summary example</a>
-</li>
-<li><a href="#TOC-Downloading-changes-from-Gerrit"><b>2.11</b>
-Downloading changes from Gerrit</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Using-the-Gerrit-code-review-tool"><b>3</b>
-Using the Gerrit code-review tool</a>
-<ol><li><a href="#TOC-Viewing-the-status-of-uploaded-chan"><b>3.1</b>
-Viewing the status of uploaded changes</a>
-</li>
-<li><a href="#TOC-Reviewing-a-change"><b>3.2</b>
-Reviewing a change</a>
-</li>
-<li><a href="#TOC-Verifying-a-change"><b>3.3</b>
-Verifying a change</a>
-</li>
-<li><a href="#TOC-Viewing-diffs-and-comments"><b>3.4</b>
-Viewing diffs and comments</a>
-</li>
-<li><a href="#TOC-Adding-comments"><b>3.5</b>
-Adding comments</a>
-</li>
-<li><a href="#TOC-After-a-submission-is-approved"><b>3.6</b>
-After a submission is approved</a>
-</li>
-<li><a href="#TOC-How-do-I-become-a-Verifier-or-Appro"><b>3.7</b>
-How do I become a Verifier or Approver?</a>
-</li>
-</ol>
-</li>
-<li><a href="#TOC-Using-GitWeb-to-track-patch-histori"><b>4</b>
-Using GitWeb to track patch histories</a>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
-<table><tbody><tr><td>For information about current problems and fixes, see<a href="http://source.android.com/known-issues">Known issues</a>
-.</td>
-</tr>
-</tbody>
-</table>
 <br>This page describes how to record changes to the Android files on your local client, upload those changes to the code-review server, and use Gerrit to track changes.<br><h2>
 Prerequisites</h2>
-Before you follow the instructions on this page, you will need to set up your local working environment and get the Android source files. For instructions, see<a href="http://source.android.com/download">Get source</a>
-.<br><br>Other recommended reading:<br><ul><li>For an overview of the code contribution and review process, see<a href="http://source.android.com/submit-patches/workflow">Workflow</a>
+Before you follow the instructions on this page, you will need to set up your
+local working environment and get the Android source files. For instructions,
+see <a href="{@docRoot}source/download.html">Get source</a>
+.<br><br>Other recommended reading:<br><ul><li>For an overview of the code
+contribution and review process, see <a
+href="{@docRoot}source/submit-patches.html">Workflow</a>
 .</li>
-<li>For details about Repo, see<a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+<li>For details about Repo, see <a href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 .<br></li>
-<li>For information about the different roles you can play within the Android Open Source community, see<a href="http://source.android.com/project">Project roles</a>
+<li>For information about the different roles you can play within the Android
+Open Source community, see <a href="{@docRoot}source/roles.html">Project roles</a>
 .</li>
-<li>If you plan to contribute code to the Android platform, be sure to read about<a href="http://source.android.com/license">contributor licenses</a>
-.</li>
+<li>If you plan to contribute code to the Android platform, be sure to read
+the <a href="{@docRoot}source/licenses.html">AOSP's licensing information</a>.</li>
 </ul>
 <h2>
 Working with the code</h2>
-First, download the source into your working directory, as described in<a href="http://source.android.com/download">Get source</a>
-.<br><br>To work on a particular change to the code, follow these steps:<br>
+First, download the source into your working directory, as described in <a
+href="{@docRoot}source/download.html">Get source</a>
+. For information about how to choose which branch to use, see <a
+href="{@docRoot}source/code-lines.html">Android Code-Lines</a>.<br><br>To work on a particular change to the code, follow these steps:<br>
 <div><img src="{@docRoot}images/submit-patches-0.png">
 </div>
-<ol><li>Use repo start<i>branchname</i>
+<ol><li>Use repo start <i>branchname</i>
 to start a new topic branch.</li>
 <li>Edit the files.<br></li>
 <li><span>Use git add to stage changes.</span>
@@ -117,34 +40,32 @@
 </ol>
 You can track your uploaded changes using the Gerrit code-review tool. When it's time to work on the code again, run repo sync, then go back to step 1 above and start another topic branch.<br><br>The steps will not always come in the order shown--for example, you might run git diff at several points in the process.<br><br><h3>
 Starting a topic branch</h3>
-Start a topic branch called default in your local work environment:<br><br>$ repo start default<br><br>For more about topic branches, see<a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+Start a topic branch called default in your local work environment:<br><br>$ repo start default <br><br>For more about topic branches, see <a href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 .<br><h3>
 Editing the files</h3>
 You do not need to check files out before working on them. Edit the files using vim, emacs, or any other editor.<br><br><h3>
 Staging changes</h3>
 To indicate that every new and modified file in your working directory should be "staged" for inclusion in the next commit, run git add without any arguments. You can also specify files or filetypes. For example, the following command would stage all the new and modified files under the bionic directory and its subdirectories:<br><br>$ git add bionic/*<br><br>Run git help add to see more ways to use git add.<br><br><b>When is git add optional?<br></b>
 <br>If you add new files, you must stage them using git add before you run git commit. However, if you are only modifying or deleting files, you can skip git add if you use the -a option with git commit. For more details, see the "Committing changes" section further down.<br><br><h3>
-Using repo status<br></h3>
-To see the status of the current branch, run<br><br>$ repo status .<br><br>For information about how to interpret the results of repo status, see<a href="http://source.android.com/download/using-repo#TOC-status">Using Repo and Git</a>
+Using repo status <br></h3>
+To see the status of the current branch, run <br><br>$ repo status .<br><br>For information about how to interpret the results of repo status, see <a href="{@docRoot}source/git-repo.html#TOC-status">Using Repo and Git</a>
 .<br><br><h3>
 Using git diff</h3>
-To see uncommitted changes, cd into the project directory and run<br><br>$ git
-diff<br><br>Without any arguments, git diff will show you the differences
+To see uncommitted changes, cd into the project directory and run <br><br>$ git
+diff <br><br>Without any arguments, git diff will show you the differences
 between the files in your working directory and the committed
 files.<br><div><br><div><img src="{@docRoot}images/submit-patches-1.png">
 </div>
 <br></div>
 <div>If you add the --cached option, git diff will show you the differences between the files in your working directory and the staged files.<br><br></div>
-<div><a href="http://source.android.com/submit-patches/git-diff.gif?attredirects=0"><br></a>
-</div>
-To see every edit that would go into the commit if you were to commit right now, make sure you are in the project directory and then run<br><br>$ git diff --cached<br><br><h3>
+To see every edit that would go into the commit if you were to commit right now, make sure you are in the project directory and then run <br><br>$ git diff --cached <br><br><h3>
 Committing changes</h3>
 At intervals while you are working, commit your edits by using git commit from within the project directory:<br><span>$ cd ~/mydroid/<i>project-name</i>
 </span>
 <span><br>$ git commit</span>
-<br><br>Every file that you staged using git add will be included in this commit.<br><br>If you have not added any new files that you want to commit, you can skip git add and simply run<br><br>$ git commit -a<br><br>The -a option will stage all the files you have modified or deleted and include them in this commit. (If you have added new files and want them included in the commit, you will need to use git add before you run git commit.)<br><br>If commit<span></span>
+<br><br>Every file that you staged using git add will be included in this commit.<br><br>If you have not added any new files that you want to commit, you can skip git add and simply run <br><br>$ git commit -a <br><br>The -a option will stage all the files you have modified or deleted and include them in this commit. (If you have added new files and want them included in the commit, you will need to use git add before you run git commit.)<br><br>If commit <span></span>
 does not find changes to be committed, it will report "nothing to commit (working directory clean)". If commit finds changes to be committed, a file will open in which you can create a log message:<br><br><div><i>Your comments about this commit go here....</i>
-<br># Please enter the commit message for your changes. Lines starting<br># with '#' will be ignored, and an empty message aborts the commit.<br># On branch master<br># Changes to be committed:<br>#(use "git reset HEADfile..." to unstage)<br>#<br>#new file:.repo/projects/gerrit-manifests.git/FETCH_HEAD<br>#new file:.repo/projects/gerrit-manifests.git/HEAD<br>#new file:.repo/projects/gerrit-manifests.git/config<br>.<br>.<br>.<br></div>
+<br># Please enter the commit message for your changes. Lines starting <br># with '#' will be ignored, and an empty message aborts the commit.<br># On branch master <br># Changes to be committed:<br>#(use "git reset HEADfile..." to unstage)<br>#<br>#new file:.repo/projects/gerrit-manifests.git/FETCH_HEAD <br>#new file:.repo/projects/gerrit-manifests.git/HEAD <br>#new file:.repo/projects/gerrit-manifests.git/config <br>.<br>.<br>.<br></div>
 <br>If you do not add a log message, the commit will be aborted. Add a message and save the file.<br><br><h3>
 Committing changes during code review</h3>
 If you previously uploaded a change to Gerrit and the Approver has asked for changes, follow these steps:<br><ol><li>Edit the files to make the changes the Approver has requested.</li>
@@ -155,22 +76,22 @@
 <h3>
 Editing uploaded changes</h3>
 To update an existing change with a new patch set:<br><ol><li>Make sure the updated branch is the currently checked out branch.</li>
-<li>Use repo upload --replace<i>proj1</i>
+<li>Use repo upload --replace <i>proj1</i>
 to open the change matching editor.</li>
 <li>For each commit in the series, enter the Gerrit change Id inside the brackets.</li>
 </ol>
-For more details, see<a href="http://source.android.com/download/using-repo#TOC-upload">Using Repo and Git</a>
+For more details, see <a href="{@docRoot}source/git-repo.html#TOC-upload">Using Repo and Git</a>
 .<br><h3>
 Uploading changes to Gerrit</h3>
-To upload your committed changes to the review server:<br><ol><li>Complete the appropriate<a href="https://review.source.android.com/#settings,new-agreement">Contributor Agreement</a>
+To upload your committed changes to the review server:<br><ol><li>Complete the appropriate <a href="https://review.source.android.com/#settings,new-agreement">Contributor Agreement</a>
 in Gerrit, granting the Android Open Source Project permission to distribute your changes to others.</li>
-<li>Select an<a href="https://review.source.android.com/#settings,ssh-keys">SSH Username</a>
-and upload your<a href="https://review.source.android.com/#settings,ssh-keys">public SSH key</a>
+<li>Select an <a href="https://review.source.android.com/#settings,ssh-keys">SSH Username</a>
+and upload your <a href="https://review.source.android.com/#settings,ssh-keys">public SSH key</a>
 , so that Gerrit can identify you when you upload changes.Please note that due to a bug in repo, repo upload requires your SSH Username be the local part of your email address (the text on the left of the @ sign).<br><br>These first two steps are only necessary prior to your first change.Gerrit will remember your agreement and SSH key for subsequent changes.<br><br></li>
 <li>Update to the latest revisions:<span><br></span>
 <span>$</span>
 <span>repo sync</span>
-<br><br>For information about how to handle sync conflicts and how Repo synchronization works, see<a href="http://source.android.com/download/using-repo#TOC-sync">Using Repo and Git</a>
+<br><br>For information about how to handle sync conflicts and how Repo synchronization works, see <a href="{@docRoot}source/git-repo.html#TOC-sync">Using Repo and Git</a>
 .<br><br></li>
 <li>Run repo upload to examine the list of all available changes and select which topic branches will be uploaded to the review server:<br><span>$</span>
 <span>repo upload</span>
@@ -179,28 +100,27 @@
 After a change is uploaded successfully:<br><ul><li>Repo will give you a URL where you can view your submission.</li>
 <li>The code-review system will automatically notify the project owner about your submission.</li>
 </ul>
-For information about specifying particular projects with repo sync and repo upload, see<a href="http://source.android.com/download/using-repo">Using Repo and Git</a>
+For information about specifying particular projects with repo sync and repo upload, see <a href="{@docRoot}source/git-repo.html">Using Repo and Git</a>
 .<br><br><h3>
-Summary example<br></h3>
-Here is a simple example that shows how you might work with the bionic/Android.mk file:<br><br>$ cd ~/mydroid/bionic<br>$ repo start default<br>$ vi Android.mk<br><i>...edit and save the file...</i>
-<br>$ git commit -a<br>$ repo sync<br>$ repo upload<br><i>...close the editable window that opens...</i>
+Summary example <br></h3>
+Here is a simple example that shows how you might work with the bionic/Android.mk file:<br><br>$ cd ~/mydroid/bionic <br>$ repo start default <br>$ vi Android.mk <br><i>...edit and save the file...</i>
+<br>$ git commit -a <br>$ repo sync <br>$ repo upload <br><i>...close the editable window that opens...</i>
 <br><i>...visit the provided URL to open Gerrit and track your change...</i>
 <br><br><h3>
 Downloading changes from Gerrit</h3>
-To download a specific change from Gerrit, run<br><br>$ repo download<i>target change</i>
-<br><br>where target is the local directory into which the change should be downloaded andchange is the change number as listed in<a href="https://review.source.android.com/">Gerrit</a>
-. For more information, see<a href="http://source.android.com/download/using-repo#TOC-download">Using Repo and Git</a>
+To download a specific change from Gerrit, run <br><br>$ repo download <i>target change</i>
+<br><br>where target is the local directory into which the change should be downloaded andchange is the change number as listed in <a href="https://review.source.android.com/">Gerrit</a>
+. For more information, see <a href="{@docRoot}source/git-repo.html#TOC-download">Using Repo and Git</a>
 .<br><br><h2>
-Using the Gerrit code-review tool<br></h2>
-You can open Gerrit by visiting whatever URL is returned to you from the repo upload command, or by visiting<a href="https://review.source.android.com/">https://review.source.android.com</a>
+Using the Gerrit code-review tool <br></h2>
+You can open Gerrit by visiting whatever URL is returned to you from the repo upload command, or by visiting <a href="https://review.source.android.com/">https://review.source.android.com</a>
 /.<br><br><h3>
-Viewing the status of uploaded changes<br></h3>
-To check the status of a change that you uploaded, open<a href="https://review.source.android.com/mine">Gerrit</a>
+Viewing the status of uploaded changes <br></h3>
+To check the status of a change that you uploaded, open <a href="https://review.source.android.com/mine">Gerrit</a>
 , sign in, and click MyChanges.<br><b><br></b>
 <h3>
-Reviewing a change<br></h3>
-If you are assigned to be the Approver for a change, you need to determine the following:<br><ul><li>Does this change fit within this project's stated purpose? (See<a href="http://source.android.com/projects">Project layout</a>
-.)<br></li>
+Reviewing a change <br></h3>
+If you are assigned to be the Approver for a change, you need to determine the following:<br><ul><li>Does this change fit within this project's stated purpose?<br></li>
 <li>Is this change valid within the project's existing architecture?</li>
 <li>Does this change introduce design flaws that will cause problems in the future?</li>
 <li>Does this change following the best practices that have been established for this project?</li>
@@ -208,7 +128,7 @@
 <li>Does this change introduce any security or instability risks?</li>
 </ul>
 If you approve of the change, you will then mark it with LGTM ("Looks Good to Me") within Gerrit.<br><br><h3>
-Verifying a change<br></h3>
+Verifying a change <br></h3>
 If you are assigned to be the Verifier for a change, you need to do the following:<br><ul><li>Patch the change into your local client using one of the Download commands.</li>
 <li>Build and test the change.</li>
 <li>Within Gerrit use Publish Comments to mark the commit as "Verified", or "Fails" (and add a message explaining what problems were identified).<br></li>
@@ -222,10 +142,12 @@
 After a submission is approved</h3>
 After a submission makes it through the review and verification process, Gerrit automatically merges the change into the public repository. The change will now be visible in gitweb, and others users will be able to run repo sync to pull the update into their local client.<br><br><h3>
 How do I become a Verifier or Approver?</h3>
-In short, contribute high-quality code to one or more of the Android projects. For details about the different roles in the Android Open Source community and who plays them, see<a href="http://source.android.com/project">Project roles</a>
+In short, contribute high-quality code to one or more of the Android projects.
+For details about the different roles in the Android Open Source community and
+who plays them, see <a href="{@docRoot}source/roles.html">Project roles</a>
 .<br><br><h2>
 Using GitWeb to track patch histories</h2>
-To view snapshots of the files that are in the public Android repositories and view file histories, use the<a href="http://android.git.kernel.org/">Android instance of GitWeb</a>
+To view snapshots of the files that are in the public Android repositories and view file histories, use the <a href="http://android.git.kernel.org/">Android instance of GitWeb</a>
 .<br></div>
 </div>
 </div>
diff --git a/pdk/docs/source/using-eclipse.jd b/pdk/docs/source/using-eclipse.jd
index 961da74..1750a20 100644
--- a/pdk/docs/source/using-eclipse.jd
+++ b/pdk/docs/source/using-eclipse.jd
@@ -1,8 +1,6 @@
-page.title=Android Compatibility - Compatibility Test Suite
+page.title=Using Eclipse
 doc.type=source
 @jd:body
-<h3><b>Using Eclipse</b>
-</h3>
 <div><h2><a>About this Document</a>
 </h2>
 <p>This document will help you set up the Eclipse IDE for Android platform development.
@@ -16,13 +14,13 @@
 </h4>
 <p>First, it's important to make sure the regular Android development system is set up.
 </p>
-<pre>cd /path/to/android/root<br>make     # and wait a while, if you haven't done this<br></pre>
+<pre>cd /path/to/android/root <br>make     # and wait a while, if you haven't done this <br></pre>
 <p><b>Important</b>
 : You will still be using "make" to build the files you will actually run (in the emulator or on a device). You will be using Eclipse to edit files and verify that they compile, but when you want to run something you will need to make sure files are saved in Eclipse and run "make" in a shell. The Eclipse build is just for error checking.
 </p>
 <p>Eclipse needs a list of directories to search for Java files. This is called the "Java Build Path" and can be set with the .classpath file. We have a sample version to start you off.
 </p>
-<pre>cd /path/to/android/root<br>cp development/ide/eclipse/.classpath .<br>chmod u+w .classpath  # Make the copy writable<br></pre>
+<pre>cd /path/to/android/root <br>cp development/ide/eclipse/.classpath .<br>chmod u+w .classpath  # Make the copy writable <br></pre>
 <p>Now edit that copy of .classpath, if necessary.
 </p>
 <h5>
@@ -33,15 +31,15 @@
 <p>Memory-related defaults (as of Eclipse 3.4)
 </p>
 
-<pre>-Xms40m<br>-Xmx256m<br>-XX:MaxPermSize=256m<br></pre>
+<pre>-Xms40m <br>-Xmx256m <br>-XX:MaxPermSize=256m <br></pre>
 <p>Recommended settings for Android development
 </p>
-<pre>-Xms128m<br>-Xmx512m<br>-XX:MaxPermSize=256m<br></pre>
+<pre>-Xms128m <br>-Xmx512m <br>-XX:MaxPermSize=256m <br></pre>
 <p>These settings set Eclipse's minimum Java heap size to 128MB, set the maximum Java heap size to 512MB, and keep the maximum permanent generation size at the default of 256MB.
 </p>
 <p>Now start Eclipse:
 </p>
-<pre>eclipse  # or you can click some clicky thing instead, if you prefer<br></pre>
+<pre>eclipse  # or you can click some clicky thing instead, if you prefer <br></pre>
 <p>Now create a project for Android development:
 </p>
 <ol><li>If Eclipse asks you for a workspace location, choose the default.
@@ -111,7 +109,7 @@
 </li>
 <li>Choose the "Source" tab.
 </li>
-<li>Expand the single<i>toolname</i>
+<li>Expand the single <i>toolname</i>
 /src entry.
 </li>
 <li>Double click the "Excluded: (none)" item.
@@ -120,14 +118,14 @@
 </li>
 <li>Close the dialog.
 </li>
-<li>Back in the "Source" tab, click "Add Folder...", and add<i>toolname</i>
+<li>Back in the "Source" tab, click "Add Folder...", and add <i>toolname</i>
 /src/resources.
 </li>
 <li>Click OK.
 </li>
 </ol>
 <h4>
-Eclipse setup to work on DDMS<br></h4>
+Eclipse setup to work on DDMS <br></h4>
 <p>For DDMS, you will need to make a project for
 </p>
 <ol><li>development/tools/ddms/libs/ddmlib
@@ -156,10 +154,10 @@
 </h2>
 <p>You can also use eclipse to debug the emulator and step through code. First, start the emulator running:
 </p>
-<pre>cd /path/to/android/root<br>. build/envsetup.sh<br>lunch 1   # to build the emulator<br>make      # if you didn't already do this<br>emulator  # you should see a GUI picture of a phone<br></pre>
+<pre>cd /path/to/android/root <br>. build/envsetup.sh <br>lunch 1   # to build the emulator <br>make      # if you didn't already do this <br>emulator  # you should see a GUI picture of a phone <br></pre>
 <p>In another shell, start DDMS (the Dalvik debug manager):
 </p>
-<pre>cd /path/to/android/root<br>ddms      # you should get a splufty debugging console<br></pre>
+<pre>cd /path/to/android/root <br>ddms      # you should get a splufty debugging console <br></pre>
 <p>Now, in eclipse, you can attach to the emulator:
 </p>
 <ol><li>Run Open Debug Dialog...
@@ -184,7 +182,7 @@
 <p>Replace Ctrl with the Apple key on Mac.
 </p>
 
-<pre>Ctrl-Shift-o = Organize imports<br>Ctrl-Shift-t = load class by name<br>Ctrl-Shift-r = load non-class resource by name<br>Ctrl-1 = quick fix<br>Ctrl-e = Recently viewed files<br>Ctrl-space = auto complete<br>Shift-Alt-r = refactor:rename<br>Shift-Alt-v = refactor:move<br></pre>
+<pre>Ctrl-Shift-o = Organize imports <br>Ctrl-Shift-t = load class by name <br>Ctrl-Shift-r = load non-class resource by name <br>Ctrl-1 = quick fix <br>Ctrl-e = Recently viewed files <br>Ctrl-space = auto complete <br>Shift-Alt-r = refactor:rename <br>Shift-Alt-v = refactor:move <br></pre>
 
 <h2><a>Useful Plugins</a>
 </h2>