Merge "docs: Fixed declarations for ArrayList<String> variables in the IAB V3 code snippets. Bug: 9316251" into klp-docs
diff --git a/core/java/android/content/ClipDescription.java b/core/java/android/content/ClipDescription.java
index 5cb6e77..be35f08 100644
--- a/core/java/android/content/ClipDescription.java
+++ b/core/java/android/content/ClipDescription.java
@@ -87,7 +87,7 @@
     /**
      * Helper to compare two MIME types, where one may be a pattern.
      * @param concreteType A fully-specified MIME type.
-     * @param desiredType A desired MIME type that may be a pattern such as *\/*.
+     * @param desiredType A desired MIME type that may be a pattern such as *&#47;*.
      * @return Returns true if the two MIME types match.
      */
     public static boolean compareMimeTypes(String concreteType, String desiredType) {
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index a9d0559..b061fc5 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -1326,7 +1326,7 @@
      *
      * @param uri The data in the content provider being queried.
      * @param mimeTypeFilter The type of data the client desires.  May be
-     * a pattern, such as *\/* to retrieve all possible data types.
+     * a pattern, such as *&#47;* to retrieve all possible data types.
      * @return Returns {@code null} if there are no possible data streams for the
      * given mimeTypeFilter.  Otherwise returns an array of all available
      * concrete MIME types.
@@ -1364,7 +1364,7 @@
      *
      * @param uri The data in the content provider being queried.
      * @param mimeTypeFilter The type of data the client desires.  May be
-     * a pattern, such as *\/*, if the caller does not have specific type
+     * a pattern, such as *&#47;*, if the caller does not have specific type
      * requirements; in this case the content provider will pick its best
      * type matching the pattern.
      * @param opts Additional options from the client.  The definitions of
@@ -1425,7 +1425,7 @@
      *
      * @param uri The data in the content provider being queried.
      * @param mimeTypeFilter The type of data the client desires.  May be
-     * a pattern, such as *\/*, if the caller does not have specific type
+     * a pattern, such as *&#47;*, if the caller does not have specific type
      * requirements; in this case the content provider will pick its best
      * type matching the pattern.
      * @param opts Additional options from the client.  The definitions of
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 4e6cc92..ba93a20 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -344,7 +344,7 @@
      * @param url A Uri identifying content (either a list or specific type),
      * using the content:// scheme.
      * @param mimeTypeFilter The desired MIME type.  This may be a pattern,
-     * such as *\/*, to query for all available MIME types that match the
+     * such as *&#47;*, to query for all available MIME types that match the
      * pattern.
      * @return Returns an array of MIME type strings for all available
      * data streams that match the given mimeTypeFilter.  If there are none,
@@ -815,7 +815,7 @@
      *
      * <p>Note that if this function is called for read-only input (mode is "r")
      * on a content: URI, it will instead call {@link #openTypedAssetFileDescriptor}
-     * for you with a MIME type of "*\/*".  This allows such callers to benefit
+     * for you with a MIME type of "*&#47;*".  This allows such callers to benefit
      * from any built-in data conversion that a provider implements.
      *
      * @param uri The desired URI to open.
@@ -868,7 +868,7 @@
      *
      * <p>Note that if this function is called for read-only input (mode is "r")
      * on a content: URI, it will instead call {@link #openTypedAssetFileDescriptor}
-     * for you with a MIME type of "*\/*".  This allows such callers to benefit
+     * for you with a MIME type of "*&#47;*".  This allows such callers to benefit
      * from any built-in data conversion that a provider implements.
      *
      * @param uri The desired URI to open.
@@ -993,7 +993,7 @@
      *
      * @param uri The desired URI to open.
      * @param mimeType The desired MIME type of the returned data.  This can
-     * be a pattern such as *\/*, which will allow the content provider to
+     * be a pattern such as *&#47;*, which will allow the content provider to
      * select a type, though there is no way for you to determine what type
      * it is returning.
      * @param opts Additional provider-dependent options.
@@ -1026,7 +1026,7 @@
      *
      * @param uri The desired URI to open.
      * @param mimeType The desired MIME type of the returned data.  This can
-     * be a pattern such as *\/*, which will allow the content provider to
+     * be a pattern such as *&#47;*, which will allow the content provider to
      * select a type, though there is no way for you to determine what type
      * it is returning.
      * @param opts Additional provider-dependent options.
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index a047668..3c66b68 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -844,7 +844,7 @@
      * {@link #FLAG_GRANT_WRITE_URI_PERMISSION}, then these flags will also be
      * set in the returned chooser intent, with its ClipData set appropriately:
      * either a direct reflection of {@link #getClipData()} if that is non-null,
-     * or a new ClipData build from {@link #getData()}.
+     * or a new ClipData built from {@link #getData()}.
      *
      * @param target The Intent that the user will be selecting an activity
      * to perform.
@@ -5431,7 +5431,7 @@
      * directly used by Intent.  Applications should generally rely on the
      * MIME type of the Intent itself, not what it may find in the ClipData.
      * A common practice is to construct a ClipData for use with an Intent
-     * with a MIME type of "*\/*".
+     * with a MIME type of "*&#47;*".
      *
      * @param clip The new clip to set.  May be null to clear the current clip.
      */
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java
index d4a3006..26e09b6 100644
--- a/core/java/android/os/AsyncTask.java
+++ b/core/java/android/os/AsyncTask.java
@@ -610,7 +610,7 @@
      * still running. Each call to this method will trigger the execution of
      * {@link #onProgressUpdate} on the UI thread.
      *
-     * {@link #onProgressUpdate} will note be called if the task has been
+     * {@link #onProgressUpdate} will not be called if the task has been
      * canceled.
      *
      * @param values The progress values to update the UI with.
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index 5663959..be20d2d 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -1330,7 +1330,7 @@
     
     /**
      * Updates the state of the popup window, if it is currently being displayed,
-     * from the currently set state.  This include:
+     * from the currently set state.  This includes:
      * {@link #setClippingEnabled(boolean)}, {@link #setFocusable(boolean)},
      * {@link #setIgnoreCheekPress()}, {@link #setInputMethodMode(int)},
      * {@link #setTouchable(boolean)}, and {@link #setAnimationStyle(int)}.
diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd
index 4735033..7b9b3fb 100644
--- a/docs/html/about/dashboards/index.jd
+++ b/docs/html/about/dashboards/index.jd
@@ -61,7 +61,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on December 2, 2013.
+<p style="clear:both"><em>Data collected during a 7-day period ending on January 8, 2014.
 <br/>Any versions with less than 0.1% distribution are not shown.</em>
 </p>
 
@@ -92,7 +92,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on December 2, 2013
+<p style="clear:both"><em>Data collected during a 7-day period ending on January 8, 2014.
 <br/>Any screen configurations with less than 0.1% distribution are not shown.</em></p>
 
 
@@ -111,7 +111,7 @@
 
 
 <img alt="" style="float:right"
-src="//chart.googleapis.com/chart?cht=p&chs=400x250&chco=c4df9b,6fad0c&chl=GL%201.1%20only|GL%202.0|GL%203.0&chd=t%3A0.1,98.3,1.6&chf=bg,s,00000000" />
+src="//chart.googleapis.com/chart?chl=GL%201.1%20only%7CGL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A0.1%2C93.5%2C6.4&chco=c4df9b%2C6fad0c&chs=400x250&cht=p" />
 
 <p>To declare which version of OpenGL ES your application requires, you should use the {@code
 android:glEsVersion} attribute of the <a
@@ -133,17 +133,17 @@
 </tr>
 <tr>
 <td>2.0</th>
-<td>96.3%</td>
+<td>93.5%</td>
 </tr>
 <tr>
 <td>3.0</th>
-<td>3.6%</td>
+<td>6.4%</td>
 </tr>
 </table>
 
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on December 2, 2013</em></p>
+<p style="clear:both"><em>Data collected during a 7-day period ending on January 8, 2014</em></p>
 
 
 
@@ -161,17 +161,17 @@
 var VERSION_DATA =
 [
   {
-    "chart": "//chart.googleapis.com/chart?cht=p&chs=500x250&chf=bg%2Cs%2C00000000&chd=t%3A1.6%2C24.1%2C0.1%2C18.6%2C54.5%2C1.1&chl=Froyo%7CGingerbread%7CHoneycomb%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat&chco=c4df9b%2C6fad0c",
+    "chart": "//chart.googleapis.com/chart?chl=Froyo%7CGingerbread%7CHoneycomb%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat&chf=bg%2Cs%2C00000000&chd=t%3A1.3%2C21.2%2C0.1%2C16.9%2C59.1%2C1.4&chco=c4df9b%2C6fad0c&chs=500x250&cht=p",
     "data": [
       {
         "api": 8,
         "name": "Froyo",
-        "perc": "1.6"
+        "perc": "1.3"
       },
       {
         "api": 10,
         "name": "Gingerbread",
-        "perc": "24.1"
+        "perc": "21.2"
       },
       {
         "api": 13,
@@ -181,27 +181,27 @@
       {
         "api": 15,
         "name": "Ice Cream Sandwich",
-        "perc": "18.6"
+        "perc": "16.9"
       },
       {
         "api": 16,
         "name": "Jelly Bean",
-        "perc": "37.4"
+        "perc": "35.9"
       },
       {
         "api": 17,
         "name": "Jelly Bean",
-        "perc": "12.9"
+        "perc": "15.4"
       },
       {
         "api": 18,
         "name": "Jelly Bean",
-        "perc": "4.2"
+        "perc": "7.8"
       },
       {
         "api": 19,
         "name": "KitKat",
-        "perc": "1.1"
+        "perc": "1.4"
       }
     ]
   }
@@ -216,30 +216,31 @@
   {
     "data": {
       "Large": {
-        "hdpi": "0.5",
-        "ldpi": "0.6",
-        "mdpi": "3.8",
-        "tvdpi": "1.4",
-        "xhdpi": "0.6"
+        "hdpi": "0.6",
+        "ldpi": "0.9",
+        "mdpi": "4.5",
+        "tvdpi": "1.7",
+        "xhdpi": "0.7"
       },
       "Normal": {
-        "hdpi": "33.4",
+        "hdpi": "33.0",
         "ldpi": "0.1",
-        "mdpi": "14.6",
-        "xhdpi": "21.6",
-        "xxhdpi": "9.7"
+        "mdpi": "14.2",
+        "xhdpi": "20.1",
+        "xxhdpi": "10.6"
       },
       "Small": {
-        "ldpi": "8.8"
+        "ldpi": "8.2"
       },
       "Xlarge": {
-        "hdpi": "0.3",
-        "mdpi": "4.5",
-        "xhdpi": "0.1"
+        "hdpi": "0.4",
+        "ldpi": "0.1",
+        "mdpi": "4.7",
+        "xhdpi": "0.2"
       }
     },
-    "densitychart": "//chart.googleapis.com/chart?cht=p&chs=400x250&chf=bg%2Cs%2C00000000&chd=t%3A9.5%2C22.9%2C1.4%2C34.2%2C22.3%2C9.7&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chco=c4df9b%2C6fad0c",
-    "layoutchart": "//chart.googleapis.com/chart?cht=p&chs=400x250&chf=bg%2Cs%2C00000000&chd=t%3A4.9%2C6.9%2C79.4%2C8.8&chl=Xlarge%7CLarge%7CNormal%7CSmall&chco=c4df9b%2C6fad0c"
+    "densitychart": "//chart.googleapis.com/chart?chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chf=bg%2Cs%2C00000000&chd=t%3A9.4%2C23.5%2C1.7%2C34.0%2C21.0%2C10.6&chco=c4df9b%2C6fad0c&chs=400x250&cht=p",
+    "layoutchart": "//chart.googleapis.com/chart?chl=Xlarge%7CLarge%7CNormal%7CSmall&chf=bg%2Cs%2C00000000&chd=t%3A5.4%2C8.5%2C78.0%2C8.2&chco=c4df9b%2C6fad0c&chs=400x250&cht=p"
   }
 ];
 
diff --git a/docs/html/distribute/index.jd b/docs/html/distribute/index.jd
index 54f9301..544fdff 100644
--- a/docs/html/distribute/index.jd
+++ b/docs/html/distribute/index.jd
@@ -11,7 +11,7 @@
   <div class="copy" style="position:relative;left:480px;width:360;">
     <h1 style="margin-bottom:10px;">Your Apps on Google Play</h1>
     <p>The most visited store in the world for Android apps.  Cloud-connected and always synced,
-    it's never been easierfor users to find and download your apps.</p>
+    it's never been easier for users to find and download your apps.</p>
     <p><a class="button" href="https://play.google.com/apps/publish/"
       >Go to Developer Console &raquo;</a></p>
   </div>
diff --git a/docs/html/google/gcm/gs.jd b/docs/html/google/gcm/gs.jd
index 2a2c1c9..8bc1936 100644
--- a/docs/html/google/gcm/gs.jd
+++ b/docs/html/google/gcm/gs.jd
@@ -36,7 +36,7 @@
 <h2 id="create-proj">Creating a Google API project</h2>
 <p>To create a Google API project:</p>
 <ol>
-  <li>Open the <a href="https://cloud.google.com/console">Google Cloud Console</a>.
+  <li>Open the <a href="https://cloud.google.com/console">Google Developers Console</a>.
   </li>
   <li>If you haven't created an API project yet, click <strong>Create Project</strong>.</li>
 
@@ -60,25 +60,27 @@
 <h2 id="access-key">Obtaining an API Key</h2>
 <p>To obtain an API  key:</p>
 <ol>
- <li>In the sidebar on the left, select <strong>APIs &amp; auth > Registered apps</strong>.</li>
-<li>Click <strong>Register app</strong>. </li>
+ <li>In the sidebar on the left, select <strong>APIs &amp; auth > Credentials</strong>.</li>
 
-<li>In the <strong>Name</strong> field, type your app's name.</li>
-<li>Click <strong>Android > Accessing APIs directly from Android</strong>.</li>
-<li>Under <strong>Android identification</strong>, type the package name for your app.</li>
-<li>Enter an SHA1 fingerprint. To get this value, follow the instructions in the
+ <li>Under <strong>Public API access</strong>, click <strong>Create new key</strong>.</li>
+
+<li>In the <strong>Create a new key</strong> dialog, click <strong>Android key</strong>.</li>
+
+<li>In the resulting configuration dialog, supply one SHA1 fingerprint and
+the package name for your app, separated by a semicolon. For example,
+{@code 45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2:56:26:A0:E0;com.myexample}.
+<p>To get the value for the SHA1 fingerprint, follow the instructions in the
 <a href="http://developers.google.com/console/help/new/#installedapplications">console
-help</a>.</li>
-<li>Click <strong>Register</strong>.</li>
+help</a>.</p></li>
+<li>Click <strong>Create</strong>.</li>
 
-<li>In the new page, open the <strong>Android Key</strong> section and copy the
+<li>In the refreshed page, copy the
 <a href="{@docRoot}google/gcm/gcm.html#apikey">API key</a>.
 You will need the API key later on to perform authentication in your application server.</li>
 
 <p class="note"><strong>Note:</strong> If you need to rotate the key, click
-the "recycle key" icon. A new key  will be created. If you think the key has been compromised
-and you want to delete it immediately, you can accomplish this by deleting the app from
-the console. Then create a new entry for the app with the same SHA1 and package name.</p>
+<strong>Regenerate key</strong>. A new key  will be created. If you think the key has been
+compromised and you want to delete it immediately, click <strong>Delete</strong>.</p>
 </ol>
 
 <h2 id="next">Next Steps</h2>
diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd
index f1e4ec4..dd29b82 100644
--- a/docs/html/google/play/billing/billing_admin.jd
+++ b/docs/html/google/play/billing/billing_admin.jd
@@ -97,8 +97,8 @@
 
 <ol>
   <li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
-  <li>In the <strong>All Google Play listings</strong> panel, under the application name, click
-  <strong>In-app Products</strong>.</li>
+  <li>In the <strong>All Applications</strong> panel, click on the
+  app name, then select <strong>In-app Products</strong>.</li>
   <li>Click <strong>Add new product</strong> (see figure 2) and provide details about the item you are
   selling and then click <strong>Save</strong> or <strong>Publish</strong>.</li>
 </ol>
@@ -363,10 +363,11 @@
 
 <ol>
   <li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
-  <li>In the <strong>All Google Play listings</strong> panel, under the application name, click
-  <strong>In-app Products</strong>.</li>
-  <li>On the In-app Products List page, click <strong>Choose File</strong> and select your CSV
-file.
+  <li>In the <strong>All Applications</strong> panel, click on the app
+  name, then select <strong>In-app Products</strong>.</li>
+  <li>On the In-app Products List page, click <strong>Import/Export</strong>
+  &gt; <strong>Import in-app products from CSV file</strong>, then select your
+  CSV file.
     <p>The CSV file must be on your local computer or on a local disk that is connected to your
     computer.</p>
   </li>
@@ -377,7 +378,6 @@
     Overwriting does not delete items that are on a product list but not present in the CSV
     file.</p>
   </li>
-  <li>On the In-app Products List page, click <strong>Import from CSV</strong>.</li>
 </ol>
 
 <p>You can also export an existing product list to a CSV file by clicking <strong>Export to CSV
@@ -471,9 +471,8 @@
 
 <ol>
   <li><a href="http://play.google.com/apps/publish">Log in</a> to your publisher account.</li>
-  <li>Click the <strong>Settings</strong> icon. (If you are using the old Developer Console UI, click
-  <strong>Edit profile</strong> in the upper left part of the page, under your name,)</li>
-  <li>Locate the License Testing panel. (In the old UI, scroll down to the Licensing &amp; In-app Billing panel.)</li>
+  <li>Click the <strong>Settings</strong> icon.</li>
+  <li>Locate the License Testing panel.</li>
   <li>Add the email addresses for the test accounts you want to register,
   separating each account with a comma.</li>
   <li>Click <strong>Save</strong> to save your profile changes.</li>
@@ -481,18 +480,24 @@
 
 <h3 id="license_key">Getting an app's license key</h3>
 
-<p>The Google Play Developer Console provides a public licensing key for each app. To get the key for an app,
-load the app's publishing details in the Developer Console and click the <strong>Settings</strong> icon. The key
-for the app is available for copy/paste in License Key for this Application field, as shown in the figure below.</p>
-
-<p>Previously, the Developer Console provided a single public key per developer account. To transition apps to the
-new per-app public key, the Developer Console set the app-specific key as the former developer key. This ensures
-compatibility for apps that depend on the (former) developer key. </p>
+<p>The Google Play Developer Console provides a public licensing key for each
+app. To get the key for an app, follow these steps:</p>
+<ol>
+  <li>Open the <strong>All Applications</strong> panel.</li>
+  <li>Click on the app name, then select <strong>Services &amp; APIs</strong>.</li>
+  <li>Scroll down to the <strong>Your License Key for this Application</strong>
+field to locate the key for the app, as shown in the figure below.</li>
+</ol>
+<p>Previously, the Developer Console provided a single public key per developer
+account. To transition apps to the new per-app public key, the Developer Console
+set the app-specific key as the former developer key. This ensures compatibility
+for apps that depend on the (former) developer key. </p>
 
 <div style="margin:1em;">
 <img style="border:1px solid #ddd;padding-bottom:.5em" src="{@docRoot}images/in-app-billing/billing_app_key.png" xheight="510" id="figure4" />
 <p class="img-caption" style="padding-left:.5em;">
-  <strong>Figure 4.</strong> You can find the license key for each app in the <strong>Services &amp; APIs</strong> panel.
+  <strong>Figure 4.</strong> You can find the license key for each app in the
+  <strong>Services &amp; APIs</strong> panel.
 </p>
 </div>
 
diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd
index 42b6d65..9d1964a 100644
--- a/docs/html/google/play/billing/billing_testing.jd
+++ b/docs/html/google/play/billing/billing_testing.jd
@@ -82,10 +82,10 @@
 APK itself. For example, you can publish your in-app items while your APK is
 still a draft. </p>
 
-<p>Next, create license test accounts for authorized users.  In the Developer
+<p>Next, create license test accounts for authorized users. In the Developer
 Console, go to <strong>Settings</strong> &gt; <strong>Account details</strong>,
 then in the License Testing section, add the addresses to <strong>Gmail accounts
-with testing status</strong>. For more information, see <a
+with testing access</strong> field. For more information, see <a
 href="#billing-testing-test">Setting Up for Test Purchases</a>.</p>
 
 <p>Once you’ve added the users as license tester accounts and saved the change,
diff --git a/docs/html/google/play/billing/gp-purchase-status-api.jd b/docs/html/google/play/billing/gp-purchase-status-api.jd
index 4d80680..4cfacee 100644
--- a/docs/html/google/play/billing/gp-purchase-status-api.jd
+++ b/docs/html/google/play/billing/gp-purchase-status-api.jd
@@ -58,7 +58,7 @@
 
 <p>The Purchase Status API is part of the <a
 href="https://developers.google.com/android-publisher/v1_1/">Google Play Android
-Developer API v1.1</a>, available through the Google Cloud Console. The new version
+Developer API v1.1</a>, available through the Google Developers Console. The new version
 of the API supersedes the v1 API, which is deprecated. If you are using the v1
 API, please migrate your operations to the v1.1 API as soon as possible.</p>
 
@@ -66,7 +66,7 @@
 <h2 id="using">Using the API</h2>
 
 <p>To use the API, you must first register a project at the <a
-href="https://cloud.google.com/console">Google Cloud Console</a> and receive
+href="https://cloud.google.com/console">Google Developers Console</a> and receive
 a Client ID and shared secret that  your app will present when calling the
 API. All calls are authenticated with OAuth 2.0.</p>
 
@@ -95,7 +95,8 @@
 
 <p>If you need to request a higher limit for your application, see the
 instructions in the <a
-href="https://developers.google.com/console/help/new/#trafficcontrols">Google Cloud Console Help</a>.
+href="https://developers.google.com/console/help/new/#trafficcontrols">Google Developers
+Console Help</a>.
 Also, please read the section below on design best practices for minimizing your
 use of the API.</p>
 
diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd
index d934c4b..043879c 100644
--- a/docs/html/guide/topics/ui/dialogs.jd
+++ b/docs/html/guide/topics/ui/dialogs.jd
@@ -281,7 +281,7 @@
 &#64;Override
 public Dialog onCreateDialog(Bundle savedInstanceState) {
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-    builder.setTitle(R.string.pick_color);
+    builder.setTitle(R.string.pick_color)
            .setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                // The 'which' argument contains the index position
diff --git a/docs/html/training/articles/security-tips.jd b/docs/html/training/articles/security-tips.jd
index 54aebac..e05b44c 100644
--- a/docs/html/training/articles/security-tips.jd
+++ b/docs/html/training/articles/security-tips.jd
@@ -182,10 +182,10 @@
 
 <h3 id="RequestingPermissions">Requesting Permissions</h3>
 
-<p>We recommend minimizing the number of permissions that your app requests
+<p>We recommend minimizing the number of permissions that your app requests.
 Not having access to sensitive permissions reduces the risk of
 inadvertently misusing those permissions, can improve user adoption, and makes
-your app less for attackers. Generally,
+your app less vulnerable for attackers. Generally,
 if a permission is not required for your app to function, do not request it.</p>
 
 <p>If it's possible to design your application in a way that does not require