Merge "docs: fix error in common tasks code snippet and add redirects to all faq docs from /guide to docs in /resources bug:3475300" into honeycomb
diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
index 3f78ce0..d23dfd3 100644
--- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
+++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
@@ -49,13 +49,8 @@
             suite.addTestSuite(WifiApStress.class);
             suite.addTestSuite(WifiStressTest.class);
         } else {
-            // create a new test suite
-            suite.setName("WifiOnlyStressTests");
-            String[] methodNames = {"testWifiScanning"};
-            Class<WifiStressTest> testClass = WifiStressTest.class;
-            for (String method: methodNames) {
-                suite.addTest(TestSuite.createTest(testClass, method));
-            }
+            // only the wifi stress tests
+            suite.addTestSuite(WifiStressTest.class);
         }
         return suite;
     }
@@ -68,11 +63,13 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        String valueStr = (String) icicle.get("softap_iterations");
-        if (valueStr != null) {
-            int iteration = Integer.parseInt(valueStr);
-            if (iteration > 0) {
-                mSoftapIterations = iteration;
+        if (!UtilHelper.isWifiOnly()) {
+            String valueStr = (String) icicle.get("softap_iterations");
+            if (valueStr != null) {
+                int iteration = Integer.parseInt(valueStr);
+                if (iteration > 0) {
+                    mSoftapIterations = iteration;
+                }
             }
         }
 
diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
index ae009ca..1cc5575 100644
--- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
+++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
@@ -18,6 +18,7 @@
 
 import com.android.connectivitymanagertest.ConnectivityManagerStressTestRunner;
 import com.android.connectivitymanagertest.ConnectivityManagerTestActivity;
+import com.android.connectivitymanagertest.UtilHelper;
 
 import android.content.Context;
 import android.net.ConnectivityManager;
@@ -261,16 +262,20 @@
             assertTrue("Wait for Wi-Fi to idle timeout",
                     mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.DISCONNECTED,
                     6 * ConnectivityManagerTestActivity.SHORT_TIMEOUT));
-            // use long timeout as the pppd startup may take several retries.
-            assertTrue("Wait for cellular connection timeout",
-                    mAct.waitForNetworkState(ConnectivityManager.TYPE_MOBILE, State.CONNECTED,
-                    ConnectivityManagerTestActivity.LONG_TIMEOUT));
+            if (!UtilHelper.isWifiOnly()) {
+                // use long timeout as the pppd startup may take several retries.
+                assertTrue("Wait for cellular connection timeout",
+                        mAct.waitForNetworkState(ConnectivityManager.TYPE_MOBILE, State.CONNECTED,
+                        ConnectivityManagerTestActivity.LONG_TIMEOUT));
+            }
             sleep(mWifiSleepTime + WIFI_IDLE_DELAY, "Interrupted while device is in sleep mode");
             // Verify the wi-fi is still off and data connection is on
             assertEquals("Wi-Fi is reconnected", State.DISCONNECTED,
                     mAct.mCM.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState());
-            assertEquals("Cellular connection is down", State.CONNECTED,
-                    mAct.mCM.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState());
+            if (!UtilHelper.isWifiOnly()) {
+                assertEquals("Cellular connection is down", State.CONNECTED,
+                        mAct.mCM.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState());
+            }
             // Turn screen on again
             mAct.turnScreenOn();
             assertTrue("Wait for Wi-Fi enable timeout after wake up",
diff --git a/docs/html/guide/developing/index.jd b/docs/html/guide/developing/index.jd
index 3a64dbc..4257bf0 100644
--- a/docs/html/guide/developing/index.jd
+++ b/docs/html/guide/developing/index.jd
@@ -23,7 +23,7 @@
       before continuing.</p>
     </li>
 
-    <li>Set up Android Virtual Devices or hardware devices</a>.
+    <li>Set up Android Virtual Devices or hardware devices.
 
       <p>You need to create Android Virtual Devices (AVD) or connect hardware devices on which
       you will install your applications.</p>
@@ -66,8 +66,8 @@
       run tests within an emulator or device.</p>
     </li>
   </ol>
-
-  <h2 id="EssentialTools">Essential command line tools</h2>
+ 
+<h2 id="EssentialTools">Essential command line tools</h2>
 
   <p>When developing in IDEs or editors other than Eclipse, be familiar with
   all of the tools below, because you will have to run them from the command line.</p>
@@ -112,6 +112,43 @@
   Eclipse, such as the <code>adb</code> shell commands. You might also need to call Keytool and Jarsigner to
   sign your applications, but you can set up Eclipse to do this automatically as well.</p>
   
-  <p>For more information on the tools provided with the Android SDK, see the
+<p>For more information on the tools provided with the Android SDK, see the
   <a href="{@docRoot}guide/developing/tools/index.html">Tools</a> section of the documentation.</p>
+  
+<h2 id="ThirdParty">Third-Party Development Tools</h2>
+<p>
+	The tools described in this section are not developed by the Android SDK team. The Android Dev Guide
+	    does not provide documentation for these tools. Please refer to the linked documents in each
+	    section for documentation.
+</p>  
+<h3 id="IntelliJ">Developing in IntelliJ IDEA</h3>
+<div style="float: right">
+<img alt="The IntelliJ graphical user interface" height="500px" src="{@docRoot}images/developing/intellijidea_android_ide.png"/>
+</div>
+<p>
+	IntelliJ IDEA is a powerful Java IDE from JetBrains that provides
+	full-cycle Android development support in both the free Community
+	Edition and the Ultimate edition.
+</p>
+<p>
+	The IDE ensures compatibility with the latest Android SDK and offers a
+	smart code editor with completion, quick navigation between code and
+	resources, a graphical debugger, unit testing support using Android
+	Testing Framework, and the ability to run applications in either the
+	emulator or a USB-connected device.
+</p>
+<p>
+	<strong>Links:</strong>
+</p>
+<ul>
+	<li>
+    	<a href="http://www.jetbrains.com/idea">IntelliJ IDEA official website</a>
+</li>
+	<li>
+    	<a href="http://www.jetbrains.com/idea/features/google_android.html">Android support in IntelliJ IDEA</a>
+</li>
+	<li>
+    	<a href="http://wiki.jetbrains.net/intellij/Android">IntelliJ IDEA Android Tutorials</a>
+	</li>
+</ul> 
 
diff --git a/docs/html/images/avd-manager.png b/docs/html/images/avd-manager.png
index 69ce972..c33d8a8 100644
--- a/docs/html/images/avd-manager.png
+++ b/docs/html/images/avd-manager.png
Binary files differ
diff --git a/docs/html/images/billing_package.png b/docs/html/images/billing_package.png
old mode 100755
new mode 100644
index ec04c2d..951e117
--- a/docs/html/images/billing_package.png
+++ b/docs/html/images/billing_package.png
Binary files differ
diff --git a/docs/html/images/developing/adt-props-isLib.png b/docs/html/images/developing/adt-props-isLib.png
index 18bdb33..49c9111 100644
--- a/docs/html/images/developing/adt-props-isLib.png
+++ b/docs/html/images/developing/adt-props-isLib.png
Binary files differ
diff --git a/docs/html/images/developing/adt-props-libRef.png b/docs/html/images/developing/adt-props-libRef.png
index e61df51..73bccbd 100644
--- a/docs/html/images/developing/adt-props-libRef.png
+++ b/docs/html/images/developing/adt-props-libRef.png
Binary files differ
diff --git a/docs/html/images/developing/intellijidea_android_ide.png b/docs/html/images/developing/intellijidea_android_ide.png
new file mode 100644
index 0000000..b73a4e9
--- /dev/null
+++ b/docs/html/images/developing/intellijidea_android_ide.png
Binary files differ
diff --git a/docs/html/images/licensing_add_library.png b/docs/html/images/licensing_add_library.png
index 90b4435..3bbe6d5 100644
--- a/docs/html/images/licensing_add_library.png
+++ b/docs/html/images/licensing_add_library.png
Binary files differ
diff --git a/docs/html/images/licensing_gapis_8.png b/docs/html/images/licensing_gapis_8.png
index 43ad262..480d989 100644
--- a/docs/html/images/licensing_gapis_8.png
+++ b/docs/html/images/licensing_gapis_8.png
Binary files differ
diff --git a/docs/html/images/licensing_package.png b/docs/html/images/licensing_package.png
index 5da5632..eb2c5cf 100644
--- a/docs/html/images/licensing_package.png
+++ b/docs/html/images/licensing_package.png
Binary files differ
diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd
index 3a7b39f..97717fe 100644
--- a/docs/html/sdk/eclipse-adt.jd
+++ b/docs/html/sdk/eclipse-adt.jd
@@ -594,13 +594,14 @@
 
 <p>ADT is a plugin for the Eclipse IDE. Before you can install or use ADT,
 you must have a compatible version of Eclipse installed on your development
-computer. </p>
+computer. Check the <a
+href="requirements.html">System Requirements</a> document for
+a list of Eclipse versions that are compatible with the Android SDK.</li></p>
 
 <ul>
 <li>If Eclipse is already installed on your computer, make sure that it is
-a version that is compatible with ADT and the Android SDK. Check the <a
-href="requirements.html">System Requirements</a> document for
-a list of Eclipse versions that are compatible with the Android SDK.</li>
+a version that is compatible with ADT and the Android SDK. 
+
 <li>If you need to install or update Eclipse, you can download it from this
 location:
 
@@ -608,7 +609,7 @@
 "http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a>
 </p>
 
-<p>For Eclipse 3.5 or newer, the "Eclipse Classic" version is recommended. Otherwise, a Java or RCP
+<p>The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP
 version of Eclipse is recommended.</p></li>
 </ul>
 
@@ -624,19 +625,15 @@
 
 <h3 id="downloading">Downloading the ADT Plugin</h3>
 
-<p>Use Update Manager feature of your Eclipse installation to install the latest
+<p>Use the Update Manager feature of your Eclipse installation to install the latest
 revision of ADT on your development computer.<p>
 
 <p>Assuming that you have a compatible version of the Eclipse IDE installed, as
 described in <a href="#preparing">Preparing for Installation</a>, above, follow
 these steps to download the ADT plugin and install it in your Eclipse
-environment. </p>
+environment.</p>
 
-<table style="font-size:100%">
-<tr><th>Eclipse 3.5 (Galileo) and 3.6 (Helios)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
-<tr>
-<td width="45%">
-<!-- 3.5+ steps -->
+
 <ol>
     <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Install New
 Software...</strong>.</li>
@@ -655,35 +652,6 @@
     <li>When the installation completes, restart Eclipse. </li>
 </ol>
 
-</td>
-<td width="50%">
-
-<!-- 3.4 steps -->
-<ol>
-    <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.
-In the dialog that appears, click the <strong>Available Software</strong> tab.</li>
-    <li>Click <strong>Add Site</strong>.</li>
-    <li>In the Add Site dialog that appears, enter this URL in the "Location" field:
-        <pre>https://dl-ssl.google.com/android/eclipse/</pre>
-        <p>Note: If you have trouble acquiring the plugin, you can try
-           using "http" in the URL, instead of "https" (https is preferred for
-           security reasons).</p>
-        <p>Click <strong>OK</strong>.</p>
-    </li>
-    <li>Back in the Available Software view, you should see the plugin listed by the URL,
-       with "Developer Tools" nested within it. Select the checkbox next to Developer Tools,
-        which will automatically select the nested tools. Then click
-        <strong>Install</strong></li>
-    <li>On the subsequent Install window, all of the included tools
-        should be checked. Click <strong>Next</strong>. </li>
-    <li>Read and accept the license agreements, then click <strong>Finish</strong>.</li>
-    <li>When the installation completes, restart Eclipse. </li>
-
-</ol>
-</td>
-</tr>
-</table>
-
 <h3 id="configuring">Configuring the ADT Plugin</h3>
 
 <p>Once you've successfully downloaded ADT as described above, the next step
@@ -807,11 +775,6 @@
 <p>Follow the steps below to check whether an update is available and, if so,
 to install it. </p>
 
-<table style="font-size:100%">
-<tr><th>Eclipse 3.5 (Galileo) and 3.6 (Helios)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
-<tr>
-<td>
-<!-- 3.5+ steps -->
 <ol>
     <li>Select <strong>Help</strong> &gt; <strong>Check for Updates</strong>.
       <p>If there are no updates available, a dialog will say so and you're done.</p></li>
@@ -823,25 +786,6 @@
       Android Development Tools.</li>
     <li>Restart Eclipse.</li>
 </ol>
-</td>
-
-<td width="50%">
-<!-- 3.4 steps -->
-<ol>
-    <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
-    <li>Select the <strong>Available Software</strong> tab.</li>
-    <li>If there are updates available, select Android DDMS, Android Development Tools,
-      and Android Hierarchy Viewer, then click <strong>Update</strong>.</li>
-    <li>In the resulting Available Updates dialog, ensure that each of the listed tools
-      are selected, then click <strong>Next</strong>.</li>
-    <li>Read and accept the license agreement and then click <strong>Finish</strong>.
-      This will download and install the latest version of Android DDMS and
-      Android Development Tools.</li>
-    <li>Restart Eclipse.</li>
-</ol>
-</td>
-</tr>
-</table>
 
 
 <p>If you encounter problems during the update, remove the existing ADT plugin from Eclipse, then
diff --git a/docs/html/sdk/installing.jd b/docs/html/sdk/installing.jd
index b0fd761..a1080c2 100644
--- a/docs/html/sdk/installing.jd
+++ b/docs/html/sdk/installing.jd
@@ -96,13 +96,14 @@
 <p>If you will be developing in Eclipse with the Android Development
 Tools (ADT) Plugin&mdash;the recommended path if you are new to
 Android&mdash;make sure that you have a suitable version of Eclipse
-installed on your computer (3.4 or newer is recommended). If you need
-to install Eclipse, you can download it from this location: </p>
+installed on your computer as described in the
+<a href="requirements.html">System Requirements</a> document.
+If you need to install Eclipse, you can download it from this location: </p>
 
 <p style="margin-left:2em;"><a href=
 "http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p>
 
-<p>For Eclipse 3.5 or newer, the "Eclipse Classic" version is recommended. Otherwise, a Java or
+<p>The "Eclipse Classic" version is recommended. Otherwise, a Java or
 RCP version of Eclipse is recommended.</p>
 
 
diff --git a/docs/html/sdk/requirements.jd b/docs/html/sdk/requirements.jd
index 3d62dd9..f12d0aa 100644
--- a/docs/html/sdk/requirements.jd
+++ b/docs/html/sdk/requirements.jd
@@ -24,7 +24,9 @@
 
 <h4 style="margin-top:.25em"><em>Eclipse IDE</em></h4>
     <ul>
-      <li>Eclipse 3.4 (Ganymede) or greater</li>
+      <li>Eclipse 3.5 (Galileo) or greater 
+<p class="note"><strong>Note:</strong> Eclipse 3.4 (Ganymede) is no longer
+supported with the latest version of ADT.</p></li>
       <li>Eclipse <a href="http://www.eclipse.org/jdt">JDT</a> plugin (included
 in most Eclipse IDE packages) </li>
       <li>If you need to install or update Eclipse, you can download it from <a