docs: remove trailing white space from jd files

Change-Id: Id7fb958460bf2f28d88c6120df0395690f32783a
diff --git a/docs/html-intl/intl/es/about/versions/android-5.0.jd b/docs/html-intl/intl/es/about/versions/android-5.0.jd
index c94a140..4d50584 100644
--- a/docs/html-intl/intl/es/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/es/about/versions/android-5.0.jd
@@ -428,7 +428,7 @@
 <p>Cuando el sistema detecta una red adecuada, se conecta a la red e invoca la devolución de llamada {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()}. Puedes usar el objeto {@link android.net.Network} de la devolución de llamada para obtener información adicional acerca de la red o para indicar que el tráfico use la red seleccionada.</p>
 
 <h3 id="BluetoothBroadcasting">Bluetooth de baja energía</h3>
-<p>Android 4.3 introdujo compatibilidad de plataforma para <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth de baja energía</a> (<em>Bluetooth LE</em>) en el rol central. En Android 5.0, un dispositivo Android ahora puede actuar como un <em>dispositivo periférico</em> Bluetooth LE. Las aplicaciones pueden utilizar esta capacidad para que otros dispositivos cercanos detecten su presencia. Por ejemplo, puedes crear aplicaciones que permiten que un dispositivo funcione como un podómetro o un monitor de estado, y comunique sus datos a otro dispositivo Bluetooth LE.</p> 
+<p>Android 4.3 introdujo compatibilidad de plataforma para <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth de baja energía</a> (<em>Bluetooth LE</em>) en el rol central. En Android 5.0, un dispositivo Android ahora puede actuar como un <em>dispositivo periférico</em> Bluetooth LE. Las aplicaciones pueden utilizar esta capacidad para que otros dispositivos cercanos detecten su presencia. Por ejemplo, puedes crear aplicaciones que permiten que un dispositivo funcione como un podómetro o un monitor de estado, y comunique sus datos a otro dispositivo Bluetooth LE.</p>
 <p>Las nuevas API {@link android.bluetooth.le} permiten a sus aplicaciones transmitir anuncios, buscar respuestas y establecer conexiones con dispositivos Bluetooth LE cercanos. Para utilizar las nuevas funciones de anuncio y búsqueda, agrega el permiso {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} en el manifiesto. Cuando los usuarios actualizan o descargan tu aplicación desde Play Store, se les pide que concedan el siguiente permiso a tu aplicación: "Información de conexión Bluetooth: Permite que la aplicación controle Bluetooth, incluida la transmisión de información a dispositivos Bluetooth cercanos o la obtención de información sobre ellos".</p>
 
 <p>Para comenzar el anuncio de Bluetooth LE a fin de que otros dispositivos puedan detectar tu aplicación, llama a {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()} y envía una implementación de la clase {@link android.bluetooth.le.AdvertiseCallback}. El objeto de devolución de llamada recibe un informe del éxito o fracaso de la operación de anuncio.</p>
diff --git a/docs/html-intl/intl/es/design/patterns/navigation.jd b/docs/html-intl/intl/es/design/patterns/navigation.jd
index e7d73fd..4b05239 100644
--- a/docs/html-intl/intl/es/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/es/design/patterns/navigation.jd
@@ -137,7 +137,7 @@
 
 <h4>Notificaciones emergentes</h4>
 
-<p><em>Las notificaciones emergentes</em> omiten el panel lateral de notificaciones y aparecen directamente 
+<p><em>Las notificaciones emergentes</em> omiten el panel lateral de notificaciones y aparecen directamente
 frente al usuario. Estas casi nunca se utilizan, y se <strong>deben reservar para ocasiones en las que es necesario proporcionar una
 respuesta oportuna y es necesario realizar una interrupción en el contexto del usuario</strong>. Por ejemplo,
 en Talk se utiliza este estilo para alertar al usuario sobre una invitación de un amigo para participar en una videocharla, ya que esta
diff --git a/docs/html-intl/intl/es/design/patterns/notifications.jd b/docs/html-intl/intl/es/design/patterns/notifications.jd
index bdbc77b..5499e8b 100644
--- a/docs/html-intl/intl/es/design/patterns/notifications.jd
+++ b/docs/html-intl/intl/es/design/patterns/notifications.jd
@@ -56,7 +56,7 @@
 </ul>
 
 <p class="note"><strong>Nota:</strong> El diseño de las notificaciones de esta versión de
-Android se diferencia 
+Android se diferencia
 de manera significativa del diseño de las versiones anteriores. Para obtener información sobre el diseño de las notificaciones en versiones
 anteriores, consulte <a href="./notifications_k.html">Notificaciones en Android 4.4 y versiones anteriores</a>.</p>
 
@@ -189,7 +189,7 @@
 a los usuarios
 durante un período breve, con un diseño expandido que expone las posibles acciones.</p>
 <p> Luego de este período, la notificación se retira hacia el
-panel de notificaciones. Si la <a href="#correctly_set_and_manage_notification_priority">prioridad</a> de una notificación 
+panel de notificaciones. Si la <a href="#correctly_set_and_manage_notification_priority">prioridad</a> de una notificación
 se marca como Alta, Máxima o Pantalla completa, se obtiene una notificación emergente.</p>
 
 <p><b>Buenos ejemplos de notificaciones emergentes</b></p>
@@ -291,8 +291,8 @@
 <p>Utilícelo para las notificaciones que desea que el usuario reciba, pero
 que son menos urgentes. Las notificaciones de baja prioridad tienden a aparecer en la parte inferior de la lista,
 por lo que son ideales para
-eventos como actualizaciones sociales públicas o indirectas: El usuario solicitó que se le notifiquen 
-estas 
+eventos como actualizaciones sociales públicas o indirectas: El usuario solicitó que se le notifiquen
+estas
 actualizaciones, pero estas notificaciones nunca tendrán prioridad sobre las comunicaciones
 urgentes o directas.</p>
 </td>
@@ -545,7 +545,7 @@
 
     <p><strong>Lo que debe hacer</strong></p>
     <p>Utilizar el <a href="/design/style/iconography.html#notification">estilo de icono de notificación</a>
- adecuado para los iconos pequeños y el 
+ adecuado para los iconos pequeños y el
 <a href="/design/style/iconography.html#action-bar">estilo
 de icono de barra de acción</a> del diseño Material Light para los iconos
  de acciones.</p>
@@ -571,7 +571,7 @@
 <h3 id="pulse_the_notification_led_appropriately">Pulsación adecuada del
 LED de notificaciones</h3>
 
-<p>Muchos dispositivos con Android incluyen un LED de notificaciones, que se utiliza para mantener al 
+<p>Muchos dispositivos con Android incluyen un LED de notificaciones, que se utiliza para mantener al
 usuario informado sobre los
 eventos cuando la pantalla está apagada. Las notificaciones con un nivel de prioridad <code>MAX</code>,
 <code>HIGH</code> o <code>DEFAULT</code> deben
@@ -701,7 +701,7 @@
 eliminar las notificaciones constantes del panel lateral de notificaciones.</p>
 
 <h3 id="ongoing_notifications">Reproducción de medios</h3>
-<p>En Android 5.0, la pantalla de bloqueo no muestra los controles de transporte para la clase 
+<p>En Android 5.0, la pantalla de bloqueo no muestra los controles de transporte para la clase
 {@link android.media.RemoteControlClient} obsoleta. Sin embargo, <em>sí</em> muestra las notificaciones, de modo que las notificaciones de reproducción de cada
 aplicación ahora son la forma principal
 en la que los usuarios controlan la reproducción desde el estado bloqueado. A través de este comportamiento, se le otorga más control
@@ -771,7 +771,7 @@
 <ul>
   <li> En el caso de los dispositivos que posean una pantalla de bloqueo segura (PIN, patrón o contraseña), la interface está formada por
  partes públicas y privadas. La interfaz pública se puede mostrar en una pantalla de bloqueo segura y,
- por ende, cualquier persona puede verla. La interfaz privada es el mundo detrás de esa pantalla de bloqueo y 
+ por ende, cualquier persona puede verla. La interfaz privada es el mundo detrás de esa pantalla de bloqueo y
  solo se revela cuando el usuario se registra en el dispositivo.</li>
 </ul>
 
@@ -799,7 +799,7 @@
   Esta es la opción predeterminada del sistema si no se especificó el grado de visibilidad.</li>
   <li><code><a
 href="/reference/android/app/Notification.html#VISIBILITY_PRIVATE">VISIBILITY_PRIVATE</a></code>.
-En la pantalla de bloqueo se muestra la información básica sobre la existencia de esta notificación, incluido 
+En la pantalla de bloqueo se muestra la información básica sobre la existencia de esta notificación, incluido
 el icono y el nombre de la aplicación a través de la cual se publicó. No se muestra el resto de los detalles de la notificación.
 A continuación, especificamos algunos puntos que se deben tener en cuenta:
   <ul>
diff --git a/docs/html-intl/intl/es/distribute/googleplay/about.jd b/docs/html-intl/intl/es/distribute/googleplay/about.jd
index 96faf49..987b43b 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-    <div id="qv-wrapper">           
+    <div id="qv-wrapper">
   <div id="qv">
   <h2>Acerca de Google Play</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/es/distribute/googleplay/auto.jd b/docs/html-intl/intl/es/distribute/googleplay/auto.jd
index a2a2943..d9928b5a 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/auto.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/auto.jd
@@ -158,7 +158,7 @@
 </p>
 
 <p>
-  Ten en cuenta que la revisión afecta la disponibilidad de tu aplicación para otros dispositivos en la 
+  Ten en cuenta que la revisión afecta la disponibilidad de tu aplicación para otros dispositivos en la
  Play Store de Google; por ejemplo, para teléfonos y tablets.
   Si tienes una aplicación actual que incluya actualizaciones para el componente de teléfono/tablet,
  el componente de Android Auto debe pasar la revisión antes de que la aplicación actualizada
diff --git a/docs/html-intl/intl/es/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/es/distribute/googleplay/developer-console.jd
index fcf5e44d..73cd63e 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/developer-console.jd
@@ -4,8 +4,8 @@
 Xnonavpage=true
 
 @jd:body
-    
-    <div id="qv-wrapper">           
+
+    <div id="qv-wrapper">
   <div id="qv">
     <h2>Características de la publicación</h2>
     <ol>
@@ -303,7 +303,7 @@
 <p>
   En la mayoría de los casos, todo lo que necesitas es un solo paquete de aplicaciones (APK), y generalmente es la manera
  más sencilla de administrar y mantener la aplicación. Sin embargo, si necesitas
- proporcionar un APK distinto para diferentes dispositivos, Google Play te 
+ proporcionar un APK distinto para diferentes dispositivos, Google Play te
  permite hacerlo.
 </p>
 
diff --git a/docs/html-intl/intl/es/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/es/distribute/googleplay/families/faq.jd
index ecad47c..44da225 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>En este documento:</h2>
@@ -141,7 +141,7 @@
  confirmar que es apta para familias. Suponiendo que tu aplicación cumple con todos los requisitos
  del programa, prevemos que el tiempo de publicación no debería prolongarse
  más allá de lo habitual; no obstante, puede haber una demora en la publicación de la aplicación si se
- rechaza durante la revisión para la inclusión en Diseñado para familias. 
+ rechaza durante la revisión para la inclusión en Diseñado para familias.
   </dd>
 
   <dt>
diff --git a/docs/html-intl/intl/es/distribute/googleplay/families/start.jd b/docs/html-intl/intl/es/distribute/googleplay/families/start.jd
index 3ed1eb3..d6d6126 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/families/start.jd
@@ -78,7 +78,7 @@
 
 <p class="note">
   <strong>Nota</strong>: Las aplicaciones publicadas en el programa Diseñado para familias
- también están disponibles para todos los usuarios en Google Play. 
+ también están disponibles para todos los usuarios en Google Play.
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/es/distribute/googleplay/quality/auto.jd b/docs/html-intl/intl/es/distribute/googleplay/quality/auto.jd
index c7cb65d..2b1f403 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/quality/auto.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/quality/auto.jd
@@ -477,7 +477,7 @@
   No. Cuando Google inicie el proceso de aprobación, tu aplicación para Auto se someterá a una revisión de
  seguridad del conductor y no estará
  disponible para distribución hasta que se apruebe. Dado que es el mismo APK que el
- que utilizas para teléfonos y tablets, tus actualizaciones en la Play Store para esos dispositivos no estará disponible hasta que 
+ que utilizas para teléfonos y tablets, tus actualizaciones en la Play Store para esos dispositivos no estará disponible hasta que
  finalice el proceso de aprobación para Auto.
 </p>
 
diff --git a/docs/html-intl/intl/es/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/es/distribute/googleplay/quality/core.jd
index 8588c6b..b972949 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/quality/core.jd
@@ -12,7 +12,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>Prueba</h2>
   <ol>
     <li><a href="#test-environment">Configuración de un entorno de prueba</a></li>
@@ -24,7 +24,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">Calidad de las aplicaciones para tablets</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">Optimiza tu aplicación</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -84,7 +84,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       Descripción
diff --git a/docs/html-intl/intl/es/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/es/distribute/googleplay/quality/tablets.jd
index 62c6f87..e004923 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/quality/tablets.jd
@@ -56,7 +56,7 @@
 
 <p>El primer paso en la provisión de una excelente experiencia con la aplicación en tablets es asegurarte
  de que la aplicación cumpla con los <em>criterios de calidad de la aplicación principal</em> en todos los dispositivos
- y formatos a los que apunte. Para obtener información completa, consulta las <a href="{@docRoot}distribute/essentials/quality/core.html">Pautas de calidad de la aplicación principal</a>. 
+ y formatos a los que apunte. Para obtener información completa, consulta las <a href="{@docRoot}distribute/essentials/quality/core.html">Pautas de calidad de la aplicación principal</a>.
 </p>
 
 <p>
@@ -119,7 +119,7 @@
   <li>Proporciona diseños personalizados, según sea necesario, para las pantallas <code>large</code> y
  <code>xlarge</code>. También puedes proporcionar diseños que se cargarán
  en función de la <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">dimensión
- más corta</a> de la pantalla o la <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">altura y el ancho 
+ más corta</a> de la pantalla o la <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">altura y el ancho
  mínimos disponibles</a>.
   </li>
 
@@ -208,7 +208,7 @@
  maximizar la reutilización de códigos entre diferentes factores y pantallas que
  compartan contenido.</li>
 <li>Decide en qué tamaños de pantalla usarás una IU multipanel y luego proporciona los
- diferentes diseños en los depósitos para el tamaño de pantalla correspondiente (como 
+ diferentes diseños en los depósitos para el tamaño de pantalla correspondiente (como
 <code>large</code>/<code>xlarge</code>) o anchos mínimos de pantalla (como
 <code>sw600dp</code>/<code>sw720</code>).</li>
 </ul>
@@ -492,7 +492,7 @@
 
 <pre>&lt;uses-feature android:name="android.hardware.telephony" android:required="false" /&gt;</pre></li>
 
-<li>En forma similar, revisa el manifiesto para detectar elementos <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> que 
+<li>En forma similar, revisa el manifiesto para detectar elementos <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> que
 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">impliquen requisitos
  de características de hardware</a> que no sean adecuadas para tablets. Si encuentras esos
  permisos, asegúrate de declarar explícitamente un elemento
@@ -735,7 +735,7 @@
  distribución. </p>
 
 <p>Si la página de Sugerencias para la optimización indica problemas "Pendientes" que crees que no
- corresponden a tu aplicación o afectan la calidad de la aplicación en las tablets, 
+ corresponden a tu aplicación o afectan la calidad de la aplicación en las tablets,
 usa el <a href="https://support.google.com/googleplay/android-developer/contact/tabletq" target="_googleplay" style="white-space:nowrap">Formulario de contacto de Diseñado para tablets&raquo;</a> para comunicárnoslo. Revisaremos
  tu aplicación y actualizaremos tu página de Sugerencias para la optimización
  según corresponda.</p>
diff --git a/docs/html-intl/intl/es/distribute/googleplay/tv.jd b/docs/html-intl/intl/es/distribute/googleplay/tv.jd
index e3a95bc..e9deacb 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/tv.jd
@@ -132,7 +132,7 @@
 <ul>
   <li>Cumple las pautas de Calidad de la aplicación principal
     <ul>
-      <li>Sigue las <a href="{@docRoot}design/index.html">pautas de 
+      <li>Sigue las <a href="{@docRoot}design/index.html">pautas de
  Diseño Android</a>. Presta especial atención al uso de <a href="http://www.google.com/design/spec/material-design/introduction.html">Material
  Design</a> en tu aplicación.
       </li>
@@ -261,7 +261,7 @@
  los criterios, recibirás una <strong>notificación por correo electrónico enviada a tu cuenta
  de desarrollador</strong> con un resumen de las áreas que debes abordar. Una vez que realices
  los ajustes necesarios, puedes cargar una nueva versión de tu aplicación a la Consola para
- desarrolladores. 
+ desarrolladores.
 </p>
 
 <p>
@@ -282,7 +282,7 @@
 
   <li>
     <em>Aprobada</em>: se revisó tu aplicación y se aprobó. La aplicación
- estará disponible de forma directa para los usuarios de Android TV. 
+ estará disponible de forma directa para los usuarios de Android TV.
   </li>
 
   <li>
diff --git a/docs/html-intl/intl/es/distribute/googleplay/wear.jd b/docs/html-intl/intl/es/distribute/googleplay/wear.jd
index f23315d..2c8a804 100644
--- a/docs/html-intl/intl/es/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/es/distribute/googleplay/wear.jd
@@ -127,7 +127,7 @@
 <ul>
   <li>Cumple las pautas de Calidad de la aplicación principal.
     <ul>
-      <li>Sigue las <a href="{@docRoot}design/index.html">pautas de 
+      <li>Sigue las <a href="{@docRoot}design/index.html">pautas de
 Diseño Android</a>. Presta especial atención al uso de <a href="http://www.google.com/design/spec/material-design/introduction.html">Material
  Design</a> en tu aplicación.
       </li>
@@ -152,7 +152,7 @@
 <p>
   Una vez que hayas creado tu APK listo para el lanzamiento y lo hayas probado para asegurarte de que cumple todos los criterios de <a href="{@docRoot}distribute/essentials/quality/wear.html">Calidad de las aplicaciones para Wear</a>, cárgalo
  a la Consola para desarrolladores. Actualiza el directorio de tu tienda con capturas de pantalla de tu aplicación para Wear y configura opciones
- de distribución, según sea necesario. Si no sabes cómo prepararte para el lanzamiento en Google Play, consulta la 
+ de distribución, según sea necesario. Si no sabes cómo prepararte para el lanzamiento en Google Play, consulta la
 <a href="{@docRoot}distribute/googleplay/publish/preparing.html">Lista de comprobación para el lanzamiento.</a>
 </p>
 
diff --git a/docs/html-intl/intl/es/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/es/distribute/tools/launch-checklist.jd
index ad42663..be23c86 100644
--- a/docs/html-intl/intl/es/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/es/distribute/tools/launch-checklist.jd
@@ -870,7 +870,7 @@
   <li>
     <p>
       "Dispositivos compatibles" indica que tus aplicaciones están llegando a los dispositivos
- a los que pretendías llegar. De lo contrario, deberás verificar con tu equipo de desarrollo 
+ a los que pretendías llegar. De lo contrario, deberás verificar con tu equipo de desarrollo
  los requisitos y las reglas de filtrado de las aplicaciones.
     </p>
   </li>
diff --git a/docs/html-intl/intl/es/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/es/distribute/tools/localization-checklist.jd
index 7cb3ccb..c068490 100644
--- a/docs/html-intl/intl/es/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/es/distribute/tools/localization-checklist.jd
@@ -903,7 +903,7 @@
       Responde las reseñas, si fuera posible. Te recomendamos que interactúes
  con los usuarios internacionales en sus idiomas o en un idioma común, si fuera posible.
       Si no lo es, puedes intentar utilizar herramientas de traducción, aunque es posible que no puedas
- prever los resultados. Si tu aplicación se vuelve muy popular en un idioma, considera 
+ prever los resultados. Si tu aplicación se vuelve muy popular en un idioma, considera
  la posibilidad de obtener ayuda por parte de hablantes nativos para brindar soporte.
     </p>
   </li>
diff --git a/docs/html-intl/intl/es/google/play/filters.jd b/docs/html-intl/intl/es/google/play/filters.jd
index 03565b9..07238ee 100644
--- a/docs/html-intl/intl/es/google/play/filters.jd
+++ b/docs/html-intl/intl/es/google/play/filters.jd
@@ -81,7 +81,7 @@
  solicite específicamente la aplicación al hacer clic en un vínculo profundo que apunte directamente a la
  ID de la aplicación en Google Play.</p>
 
-<p>Puedes usar cualquier combinación de los filtros disponibles para tu aplicación. Por ejemplo, puedes establecer un requisito 
+<p>Puedes usar cualquier combinación de los filtros disponibles para tu aplicación. Por ejemplo, puedes establecer un requisito
 <code>minSdkVersion</code> de <code>"4"</code> y configurar <code>smallScreens="false"</code>
  en la aplicación; luego, al cargar la aplicación a Google Play, podrías apuntar a países (operadores) europeos
  únicamente. De este modo, los filtros de Google Play evitarán que la aplicación esté disponible en un dispositivo
@@ -102,7 +102,7 @@
 
 <h2 id="manifest-filters">Filtrado en función del manifiesto de la aplicación</h2>
 
-<p>La mayoría de los filtros son activados por elementos del archivo de manifiesto de una 
+<p>La mayoría de los filtros son activados por elementos del archivo de manifiesto de una
 aplicación, <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">AndroidManifest.xml</a>
  (aunque no todo lo que se encuentra en el archivo de manifiesto puede desencadenar el filtrado).
 La tabla 1 contiene los elementos del manifiesto que debes usar para desencadenar el
diff --git a/docs/html-intl/intl/es/preview/api-overview.jd b/docs/html-intl/intl/es/preview/api-overview.jd
index f84bede..7cee010 100644
--- a/docs/html-intl/intl/es/preview/api-overview.jd
+++ b/docs/html-intl/intl/es/preview/api-overview.jd
@@ -62,7 +62,7 @@
 <h2 id="multi-window_support">Compatibilidad con ventanas múltiples</h2>
 
 
-<p>En Android N, presentamos una nueva y muy solicitada función multitarea 
+<p>En Android N, presentamos una nueva y muy solicitada función multitarea
 en la plataforma: la compatibilidad con ventanas múltiples. </p>
 
   <p>Los usuarios ahora pueden abrir dos aplicaciones al mismo tiempo en la pantalla. </p>
@@ -815,7 +815,7 @@
 permisos simple en la que se detallan claramente los directorios a los cuales
 la aplicación solicita acceso.</p>
 
-<p>Para obtener más información, consulta la documentación 
+<p>Para obtener más información, consulta la documentación
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Acceso
 a directorios determinados</a> para desarrolladores.</p>
 
@@ -846,7 +846,7 @@
 </p>
 
 <p>
-Android N incluye compatibilidad opcional para un 
+Android N incluye compatibilidad opcional para un
 <em>modo de rendimiento sostenido</em>, que permite que los fabricantes de equipo original (OEM) arrojen datos sobre las capacidades de rendimiento del dispositivo
 para las aplicaciones de ejecución prolongada. Los desarrolladores
 de aplicaciones pueden usar estos datos para perfeccionar sus aplicaciones y alcanzar un nivel
@@ -854,7 +854,7 @@
 </p>
 
 <p>
-Los desarrolladores de aplicaciones solo pueden probar esta API nueva en la N Developer Preview instalada solo en dispositivos con 
+Los desarrolladores de aplicaciones solo pueden probar esta API nueva en la N Developer Preview instalada solo en dispositivos con
 Nexus 6P. Para usar esta función,
 establece el indicador de rendimiento sostenido de la ventana
 que deseas ejecutar en el modo de rendimiento sostenido. Establece este indicador con el método
@@ -888,7 +888,7 @@
 </p>
 
 <ul>
-  <li>Puedes establecer un ícono desde el id. de un recurso llamando a 
+  <li>Puedes establecer un ícono desde el id. de un recurso llamando a
   <code>PrinterInfo.Builder.setResourceIconId()</code>.
   </li>
 
diff --git a/docs/html-intl/intl/es/preview/behavior-changes.jd b/docs/html-intl/intl/es/preview/behavior-changes.jd
index 5eb4966..112c1c9 100644
--- a/docs/html-intl/intl/es/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/es/preview/behavior-changes.jd
@@ -88,7 +88,7 @@
   determinado, se activa en este el modo Descanso y se aplica el primer subconjunto de restricciones: se
   desactiva el acceso de las aplicaciones a la red y se aplazan tareas y sincronizaciones. Si el dispositivo
   permanece quieto durante un tiempo determinado tras activarse el modo Descanso, el sistema aplica el
-  resto de las restricciones del modo a {@link android.os.PowerManager.WakeLock}, 
+  resto de las restricciones del modo a {@link android.os.PowerManager.WakeLock},
   alarmas de {@link android.app.AlarmManager}, GPS y análisis de Wi-Fi. Independientemente de que
   se apliquen algunas o todas las restricciones del modo Descanso, el sistema activa el
   dispositivo durante plazos de mantenimiento breves en los cuales las aplicaciones tienen
@@ -199,7 +199,7 @@
     Los propietarios ya no pueden reducir los permisos de archivo de los archivos privados,
     y un intento de hacerlo utilizando
     {@link android.content.Context#MODE_WORLD_READABLE} o
-    {@link android.content.Context#MODE_WORLD_WRITEABLE} activará una 
+    {@link android.content.Context#MODE_WORLD_WRITEABLE} activará una
    {@link java.lang.SecurityException}.
     <p class="note">
       <strong>Nota:</strong> Desde ahora, esta restricción no se aplica planamente.
@@ -211,7 +211,7 @@
   <li>
     Pasar URI <code>file://</code> fuera del dominio del paquete puede dar al
     receptor una ruta de acceso inaccesible. Por lo tanto, los intentos de pasar un
-    URI <code>file://</code> activan una 
+    URI <code>file://</code> activan una
     <code>FileUriExposedException</code>. La manera recomendada para compartir el
     contenido de un archivo privado consiste en utilizar el {@link
     android.support.v4.content.FileProvider}.
@@ -221,8 +221,8 @@
     almacenados de manera privada por nombre de archivo. Las aplicaciones heredadas pueden terminar con una
     ruta de acceso inaccesible cuando acceden a {@link
     android.app.DownloadManager#COLUMN_LOCAL_FILENAME}. Las aplicaciones orientadas a
-    Android N o versiones posteriores activan una {@link java.lang.SecurityException} cuando 
-    intentan acceder a 
+    Android N o versiones posteriores activan una {@link java.lang.SecurityException} cuando
+    intentan acceder a
     {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}.
     Las aplicaciones heredadas que establecen la ubicación de descarga en una ubicación pública
     usando
@@ -573,7 +573,7 @@
 a través de transacciones {@link android.os.Binder}. Además, el
 sistema ahora vuelve a emitir {@code TransactionTooLargeExceptions}
 como {@code RuntimeExceptions}, en lugar de registrarlas o suprimirlas silenciosamente.  Un
-ejemplo común es almacenar demasiados datos en 
+ejemplo común es almacenar demasiados datos en
 {@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()},
  lo que hace que {@code ActivityThread.StopInfo} emita una
 {@code RuntimeException} cuando la aplicación se orienta a Android N.
@@ -585,7 +585,7 @@
 no está anexada a una ventana, el sistema
 pone en cola la tarea {@link java.lang.Runnable} con la {@link android.view.View}.
 La tarea {@link java.lang.Runnable} no se ejecuta hasta que la
-{@link android.view.View} esté anexada 
+{@link android.view.View} esté anexada
 a una ventana. Este comportamiento soluciona los siguientes errores:
 <ul>
    <li>Si una aplicación publicaba una {@link android.view.View} desde un subproceso que no fuera el subproceso de la IU
@@ -600,7 +600,7 @@
 Si una aplicación en Android N con el permiso
 {@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
 intentaba borrar un paquete instalado por otra aplicación,
-el sistema solicitaba la confirmación del usuario. En este escenario, las aplicaciones debían esperar recibir el estado 
+el sistema solicitaba la confirmación del usuario. En este escenario, las aplicaciones debían esperar recibir el estado
 {@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}
 al invocar
 {@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}.
diff --git a/docs/html-intl/intl/es/preview/features/afw.jd b/docs/html-intl/intl/es/preview/features/afw.jd
index 32e57c8..5e550a6 100644
--- a/docs/html-intl/intl/es/preview/features/afw.jd
+++ b/docs/html-intl/intl/es/preview/features/afw.jd
@@ -35,7 +35,7 @@
         <li><a href="#process-logging">Registros de procesos empresariales
                 </a></li>
 
-        <li><a href="#bug-reports">Informes de errores remotos 
+        <li><a href="#bug-reports">Informes de errores remotos
                 </a></li>
 
         <li><a href="#remove-cert">Quitar un certificado de cliente
@@ -109,7 +109,7 @@
   Si el propietario de un perfil envía una intent {@link
   android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, el
  sistema le pide al usuario que configure una comprobación de seguridad. El propietario del perfil también puede
- enviar una intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 
+ enviar una intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code>
  para que el usuario establezca un bloqueo de dispositivo.
 </p>
 
@@ -133,7 +133,7 @@
 </p>
 
 <p>
-  Para obtener detalles sobre los nuevos métodos y constantes, consulta la página de referencia de 
+  Para obtener detalles sobre los nuevos métodos y constantes, consulta la página de referencia de
   <code>DevicePolicyManager</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK</a>.
 </p>
 
@@ -156,7 +156,7 @@
 <p>
   Los lanzadores deben aplicar una IU distintiva para las aplicaciones suspendidas a fin de mostrar que las
  aplicaciones no están actualmente disponibles; por ejemplo, el ícono de la aplicación puede aparecer en color
- gris. Los lanzadores pueden averiguar si una aplicación está suspendida llamando al nuevo método 
+ gris. Los lanzadores pueden averiguar si una aplicación está suspendida llamando al nuevo método
   <code>DevicePolicyManager.getPackageSuspended()</code>.
 </p>
 
@@ -181,9 +181,9 @@
 </p>
 
 <p>
-  Los propietarios pueden requerir el uso de una VPN llamando al nuevo método 
+  Los propietarios pueden requerir el uso de una VPN llamando al nuevo método
  <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para averiguar
- si el propietario ha establecido un requisito de VPN, llama al nuevo método 
+ si el propietario ha establecido un requisito de VPN, llama al nuevo método
   <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>.
 </p>
 
@@ -255,7 +255,7 @@
 <p>
   Los propietarios pueden reiniciar sus dispositivos de forma remota. En algunos casos, no se puede acceder al botón de encendido de los dispositivos implementados en
  lugares públicos dentro de recintos. Si se debe
- reiniciar un dispositivo, los administradores pueden hacerlo utilizando el nuevo método 
+ reiniciar un dispositivo, los administradores pueden hacerlo utilizando el nuevo método
   <code>DevicePolicyManager.reboot()</code>.
 </p>
 
@@ -271,7 +271,7 @@
 <p>
   Los propietarios de dispositivos pueden identificar actividades sospechosas mediante un rastreo remoto de la actividad del
  dispositivo, incluidos inicios de aplicaciones, actividad adb y desbloqueos de pantalla. Los registros de
- procesos no requieren del consentimiento del usuario. Para recuperar registros, los propietarios de dispositivos habilitan 
+ procesos no requieren del consentimiento del usuario. Para recuperar registros, los propietarios de dispositivos habilitan
  los registros de dispositivos mediante <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
 </p>
 
@@ -402,10 +402,10 @@
 
 <p>
   El propietario del dispositivo o perfil puede habilitar otra aplicación para que administre las restricciones de
- aplicaciones mediante el nuevo método 
+ aplicaciones mediante el nuevo método
   <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
 . La aplicación nominada puede controlar si se otorgó este permiso
- llamando a 
+ llamando a
   <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
 </p>
 
@@ -461,8 +461,8 @@
 <p>
   Los propietarios de perfiles y dispositivos pueden configurar múltiples certificados de CA para una configuración
  de Wi-Fi determinada. Cuando las redes de Wi-Fi corporativas tienen CA independientes para
- diferentes puntos de acceso con el mismo SSID, los administradores de TI pueden incluir todas las 
- CA relevantes en la configuración Wi-Fi utilizando el nuevo método 
+ diferentes puntos de acceso con el mismo SSID, los administradores de TI pueden incluir todas las
+ CA relevantes en la configuración Wi-Fi utilizando el nuevo método
   <code>setCaCertificates()</code>.
 </p>
 
@@ -511,7 +511,7 @@
 </p>
 
 <p>
-  El teléfono debe controlar el nuevo marcador 
+  El teléfono debe controlar el nuevo marcador
   <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar si una llamada es
  de tipo laboral. Si se trata de una llamada laboral, el teléfono debe indicarlo
 , por ejemplo, mediante el agregado de una insignia de trabajo.
@@ -524,7 +524,7 @@
  usuario modifique el fondo de pantalla. Los propietarios de dispositivos o perfiles aún pueden
  modificar el fondo de pantalla. Sin embargo, solo pueden hacerlo para el
  usuario o perfil que controlan. Por ejemplo, el propietario de un perfil no puede modificar el
- fondo de pantalla del usuario primario, 
+ fondo de pantalla del usuario primario,
  pero sí pueden hacerlo el propietario de un dispositivo o el propietario de un perfil en el perfil principal. El propietario de un dispositivo o perfil que desea modificar el
  fondo de pantalla debe controlar si el usuario o perfil que administra posee un
  fondo de pantalla ({@link android.app.WallpaperManager#isWallpaperSupported
@@ -544,7 +544,7 @@
 <h2 id="health-monitoring">Control del estado del dispositivo</h2>
 
 <p>
-  El propietario de un perfil o dispositivo puede usar la nueva interfaz 
+  El propietario de un perfil o dispositivo puede usar la nueva interfaz
   <code>HardwarePropertiesManager</code> para recuperar información
  sobre el estado del dispositivo, como por ejemplo, las temperaturas de CPU o GPU y el uso de la CPU. La nueva interfaz
  de control es especialmente útil para controlar dispositivos sin supervisión
diff --git a/docs/html-intl/intl/es/preview/features/background-optimization.jd b/docs/html-intl/intl/es/preview/features/background-optimization.jd
index fbae9b5..c061a09 100644
--- a/docs/html-intl/intl/es/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/es/preview/features/background-optimization.jd
@@ -274,7 +274,7 @@
 </pre>
 <p>
   Cuando el sistema informa un cambio en el(los) URI de contenido especificado(s), tu aplicación
-  recibe un callback y se pasa un objeto {@link android.app.job.JobParameters} 
+  recibe un callback y se pasa un objeto {@link android.app.job.JobParameters}
   al método {@link android.app.job.JobService#onStartJob onStartJob()}
   en {@code MediaContentJob.class}.
 </p>
diff --git a/docs/html-intl/intl/es/preview/features/direct-boot.jd b/docs/html-intl/intl/es/preview/features/direct-boot.jd
index a9cfcf09..e1d99e9 100644
--- a/docs/html-intl/intl/es/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/es/preview/features/direct-boot.jd
@@ -58,7 +58,7 @@
 <p>Debes registrar los componentes de las aplicaciones con el sistema antes de que estas puedan
 ejecutarse durante el modo de inicio directo o acceder al almacenamiento encriptado por
 dispositivo. Para registrar una aplicación en el sistema, debes marcar los componentes como
-<i>"con reconocimiento de encriptación"</i>. Para marcar tu dispositivo como "con reconocimiento de encriptación", configura el atributo 
+<i>"con reconocimiento de encriptación"</i>. Para marcar tu dispositivo como "con reconocimiento de encriptación", configura el atributo
 <code>android:directBootAware</code> como verdadero en el manifiesto.<p>
 
 <p>Los componentes con reconocimiento de encriptación pueden registrarse para recibir un mensaje de transmisión
diff --git a/docs/html-intl/intl/es/preview/features/multi-window.jd b/docs/html-intl/intl/es/preview/features/multi-window.jd
index 89bc319..441e06a 100644
--- a/docs/html-intl/intl/es/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/es/preview/features/multi-window.jd
@@ -158,7 +158,7 @@
   si quieres que las actividades de tu aplicación admitan la visualización de ventanas múltiples. Puedes establecer
   atributos en tu manifiesto para controlar el tamaño y el diseño.
   La configuración de atributos de una actividad raíz se aplica a todas las actividades
- de su pila de tareas. Por ejemplo, si 
+ de su pila de tareas. Por ejemplo, si
   <code>android:resizeableActivity</code> está configurado en true para la actividad raíz, se puede modificar el tamaño de todas las actividades
  de la pila de tareas.
 </p>
@@ -474,7 +474,7 @@
 
 <p>
   Ya sea que actualices o no tu aplicación para Android N, debes
-  verificar la forma en que se comporta en modo de ventanas múltiples en caso de que un usuario intente iniciarla 
+  verificar la forma en que se comporta en modo de ventanas múltiples en caso de que un usuario intente iniciarla
   en modo de ventanas múltiples en un dispositivo con Android N.
 </p>
 
@@ -526,7 +526,7 @@
   </li>
 
   <li>Cambia el tamaño de tu aplicación en modo de pantalla dividida al arrastrar la línea divisoria.
-  Verifica que la aplicación cambie de tamaño sin fallar y que estén visibles los elementos 
+  Verifica que la aplicación cambie de tamaño sin fallar y que estén visibles los elementos
  necesarios de la IU.
   </li>
 
diff --git a/docs/html-intl/intl/es/preview/features/notification-updates.jd b/docs/html-intl/intl/es/preview/features/notification-updates.jd
index 380efce..ff0635e 100644
--- a/docs/html-intl/intl/es/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/es/preview/features/notification-updates.jd
@@ -194,7 +194,7 @@
 </ol>
 
 <p>
-  En el caso de las aplicaciones interactivas, como los chats, podría ser útil incluir 
+  En el caso de las aplicaciones interactivas, como los chats, podría ser útil incluir
  contexto adicional cuando se administra texto recuperado. Por ejemplo, en estas aplicaciones, se podrían mostrar
  múltiples líneas de historial de chat. Cuando el usuario responde a través de {@link
   android.support.v4.app.RemoteInput}, puedes actualizar el historial de respuestas
diff --git a/docs/html-intl/intl/es/preview/features/picture-in-picture.jd b/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
index 0d9313a..36c0c57 100644
--- a/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
@@ -181,7 +181,7 @@
 iniciar una nueva actividad que podría confundir al usuario.</p>
 
 <p>A fin de garantizar que se utilice una única actividad para las solicitudes de reproducción de video y que esta
- ingrese en el modo PIP o salga de este cuando sea necesario, configura el 
+ ingrese en el modo PIP o salga de este cuando sea necesario, configura el
 <code>android:launchMode</code> de la actividad en <code>singleTask</code>, en el manifiesto:
 </p>
 
@@ -209,5 +209,5 @@
 en cualquier área que pueda quedar oculta detrás de la ventana de PIP.</p>
 
 <p>Cuando una actividad se encuentra en modo PIP, de forma predeterminada, no tiene focalización en las entradas. Para
-recibir eventos de entradas durante este modo, usa 
+recibir eventos de entradas durante este modo, usa
 <code>MediaSession.setMediaButtonReceiver()</code>.</p>
diff --git a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
index e83ca53..e423e6a 100644
--- a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
@@ -41,17 +41,17 @@
 <code>StorageVolume</code> correcta. Luego, crea una intent llamando al
  método <code>StorageVolume.createAccessIntent()</code> de esa instancia.
 Usa esta intención para acceder a directorios de almacenamiento externo. Para obtener una lista de
-todos los volúmenes disponibles, incluidos los volúmenes de medios extraíbles, usa 
+todos los volúmenes disponibles, incluidos los volúmenes de medios extraíbles, usa
 <code>StorageManager.getVolumesList()</code>.</p>
 
-<p>Si tienes información sobre un archivo específico, usa 
-<code>StorageManager.getStorageVolume(File)</code> para obtener el 
-<code>StorageVolume</code> que contiene el archivo. Llama a 
-<code>createAccessIntent()</code> en este <code>StorageVolume</code> para acceder al 
+<p>Si tienes información sobre un archivo específico, usa
+<code>StorageManager.getStorageVolume(File)</code> para obtener el
+<code>StorageVolume</code> que contiene el archivo. Llama a
+<code>createAccessIntent()</code> en este <code>StorageVolume</code> para acceder al
 directorio de almacenamiento externo del archivo.</p>
 
 <p>
-En el caso de los volúmenes secundarios, como las tarjetas SD externas, pasa un valor nulo cuando llames a 
+En el caso de los volúmenes secundarios, como las tarjetas SD externas, pasa un valor nulo cuando llames a
 <code>StorageVolume.createAccessIntent()</code> para solicitar acceso al volumen
  completo, en lugar de un directorio específico.
 <code>StorageVolume.createAccessIntent()</code> regresa un valor nulo si pasas un
@@ -140,7 +140,7 @@
 
 <img src="{@docRoot}preview/images/scoped-folder-access-dont-ask.png" srcset="{@docRoot}preview/images/scoped-folder-access-dont-ask.png 1x,
 {@docRoot}preview/images/scoped-folder-access-dont-ask_2x.png 2x" />
-<p class="img-caption"><strong>Figura 1.</strong> Una aplicación que presenta una 
+<p class="img-caption"><strong>Figura 1.</strong> Una aplicación que presenta una
 segunda solicitud para obtener acceso a medios extraíbles.</p>
 
 <p>Si el usuario selecciona <b>Don't ask again</b> y deniega la solicitud, todas las
diff --git a/docs/html-intl/intl/es/preview/features/security-config.jd b/docs/html-intl/intl/es/preview/features/security-config.jd
index 39d95c8..8c3db64 100644
--- a/docs/html-intl/intl/es/preview/features/security-config.jd
+++ b/docs/html-intl/intl/es/preview/features/security-config.jd
@@ -171,7 +171,7 @@
 <p>
   Agrega las CA de confianza, en formato PEM o DER, a {@code res/raw/trusted_roots}.
   Ten en cuenta que, si usas el formato PEM, el archivo debe incluir <em>solo</em> datos PEM
- y ningún texto adicional. También puedes brindar elementos 
+ y ningún texto adicional. También puedes brindar elementos
 <a href="#certificates"><code>&lt;certificates&gt;</code></a>
  múltiples en lugar de solo uno.
 </p>
@@ -338,7 +338,7 @@
 example.com} deben usar un conjunto personalizado de CA. Además, el tráfico de Cleartext a
  estos dominios se permite <em>excepto</em> con las conexiones a {@code
  secure.example.com}. Anidando la configuración para {@code
-secure.example.com} dentro de la configuración para {@code example.com}, 
+secure.example.com} dentro de la configuración para {@code example.com},
  {@code trust-anchors} no necesita duplicación.
 </p>
 
diff --git a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd b/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
index 5837975..855db8d 100644
--- a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
@@ -33,13 +33,13 @@
 
 <p class="note"><strong>Nota:</strong> La aplicación Live Channels todavía no
  permite que los usuarios creen grabaciones ni accedan a estas. Hasta que se realicen
- cambios en la aplicación Live Channels, es posible que sea difícil probar completamente la 
+ cambios en la aplicación Live Channels, es posible que sea difícil probar completamente la
 experiencia de grabación para tu servicio de entrada de TV.</p>
 
 <h2 id="supporting">Indicar la compatibilidad para la grabación</h2>
 
-<p>Para comunicarle al sistema que tu servicio de entrada de TV permite la grabación, configura el 
-atributo <code>android:canRecord</code> de tu archivo XML de metadatos de servicio 
+<p>Para comunicarle al sistema que tu servicio de entrada de TV permite la grabación, configura el
+atributo <code>android:canRecord</code> de tu archivo XML de metadatos de servicio
 en <code>true</code>:
 </p>
 
@@ -49,7 +49,7 @@
   android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
 </pre>
 
-<p>Para obtener más información sobre el archivo de metadatos de servicio, consulta 
+<p>Para obtener más información sobre el archivo de metadatos de servicio, consulta
 <a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declarar el servicio de entrada
  de TV en el manifiesto</a>.
 </p>
@@ -123,7 +123,7 @@
 <code>RecordedPrograms.Uri</code>. Usa API de proveedor de contenido para
 leer, agregar y borrar entradas de esta tabla.</p>
 
-<p>Para obtener más información sobre cómo trabajar con datos del proveedor de contenido, consulta 
+<p>Para obtener más información sobre cómo trabajar con datos del proveedor de contenido, consulta
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
 Conceptos básicos sobre el proveedor de contenido</a>.</p>
 
diff --git a/docs/html-intl/intl/es/preview/guide.jd b/docs/html-intl/intl/es/preview/guide.jd
index 9fe555c..9d12b57 100644
--- a/docs/html-intl/intl/es/preview/guide.jd
+++ b/docs/html-intl/intl/es/preview/guide.jd
@@ -18,7 +18,7 @@
 
 <p>
   Android N te brinda la oportunidad de garantizar que tus aplicaciones funcionen con la próxima versión de la plataforma.
- Esta versión preliminar incluye diversas API y cambios en los comportamientos que pueden 
+ Esta versión preliminar incluye diversas API y cambios en los comportamientos que pueden
 tener impactos en tu aplicación, como se describe en las secciones <a href="{@docRoot}preview/api-overview.html">Información general de la API</a> y <a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a>.
  Al probar tu aplicación con la versión preliminar, te debes centrar en algunos cambios específicos del sistema para garantizar que los usuarios disfruten de una buena experiencia.
 
diff --git a/docs/html-intl/intl/es/preview/overview.jd b/docs/html-intl/intl/es/preview/overview.jd
index 279a536..dc42175 100644
--- a/docs/html-intl/intl/es/preview/overview.jd
+++ b/docs/html-intl/intl/es/preview/overview.jd
@@ -321,7 +321,7 @@
   comportamientos</a> se indican áreas clave que debes probar.</li>
   <li> Documentación de nuevas API, entre la que se incluye <a href="{@docRoot}preview/api-overview.html">Información general de API</a>, una <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia
   de API</a> descargable
-  y guías exhaustivas para desarrolladores que muestran, por ejemplo, soporte 
+  y guías exhaustivas para desarrolladores que muestran, por ejemplo, soporte
   de múltiples ventanas, notificaciones integradas, soporte de múltiples configuraciones regionales y mucho más.
   <li> <a href="{@docRoot}preview/samples.html">Ejemplo de código</a>, en el que se
   demuestra la manera de admitir permisos y otras funciones nuevas.
diff --git a/docs/html-intl/intl/es/preview/setup-sdk.jd b/docs/html-intl/intl/es/preview/setup-sdk.jd
index 2f8c4fa..51260bb 100644
--- a/docs/html-intl/intl/es/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/es/preview/setup-sdk.jd
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
diff --git a/docs/html-intl/intl/es/preview/support.jd b/docs/html-intl/intl/es/preview/support.jd
index f74bae9..517429d 100644
--- a/docs/html-intl/intl/es/preview/support.jd
+++ b/docs/html-intl/intl/es/preview/support.jd
@@ -85,7 +85,7 @@
 
   <li>Developer Preview 3 está <strong>disponible en todos los dispositivos
   compatibles:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
-  C, General Mobile 4G (Android One) y Sony Xperia Z3 (modelos D6603 y 
+  C, General Mobile 4G (Android One) y Sony Xperia Z3 (modelos D6603 y
   D6653).
 
   </li>
@@ -123,7 +123,7 @@
 <h4>Multiprocess WebView</h4>
 
 <p>
-  Desde la versión 51 de Android N, WebView ejecutará contenido web en 
+  Desde la versión 51 de Android N, WebView ejecutará contenido web en
   procesos individuales de espacio aislado cuando se haya habilitado
   la opción "Multiprocess WebView". El equipo de WebView espera recibir comentarios sobre compatibilidad y
   rendimiento de tiempo de ejecución en N antes de habilitar Multiprocess WebView en
@@ -154,7 +154,7 @@
   que permite que una aplicación monitoree su rendimiento de representación de IU mediante la exposición de una
    transmisión de API Pub/Sub para transferir información sobre el intervalo de los fotogramas para la ventana actual
   de la aplicación. Puedes usar <code>FrameMetricsListener</code> para medir
-  el rendimiento de la IU del nivel de interacción en producción con una granularidad mayor y 
+  el rendimiento de la IU del nivel de interacción en producción con una granularidad mayor y
   sin la necesidad de contar con conexión USB.
 </p>
 
@@ -223,7 +223,7 @@
   <dd>
     Ahora, el sistema utiliza metadatos de la actividad para definir el modo de mosaico.
     (Antes, el valor de devolución de
-    <code>TileService.onTileAdded()</code> determinaba el modo de mosaico). Para obtener más información, consulta 
+    <code>TileService.onTileAdded()</code> determinaba el modo de mosaico). Para obtener más información, consulta
     <code>TileService.META_DATA_ACTIVE_TILE</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API</a> descargable.
   </dd>
 </dl>
@@ -686,9 +686,9 @@
 <h4>OEM unlock</h4>
 
 <ul>
-  <li>En algunos dispositivos, <strong>Enable OEM unlock</strong> aparecerá inhabilitado en 
+  <li>En algunos dispositivos, <strong>Enable OEM unlock</strong> aparecerá inhabilitado en
   "Developer Options" al ejecutar DP2.<br>
-  <strong>Método alternativo:</strong> Apúntate para 
+  <strong>Método alternativo:</strong> Apúntate para
   el Programa Android Beta (si aún no lo has hecho) en
   <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a>. Luego, date de baja y acepta el
   paso a una versión anterior (OTA). Darse de baja hará que el dispositivo pase a la versión Android 6.0. Ahora deberías
@@ -764,7 +764,7 @@
       <li>En la muestra multithreadCmdBuffer, {@code vkCmdClearColorImage()} falla cuando
       se ejecuta con el controlador N-DP2.</li>
       <li>Los valores de devolución de {@code vkGetPhysicalDeviceFormatProperties()} no configuran un valor
-      para {@code VkFormatProperties::linearTilingFeatures} que, como resultado, 
+      para {@code VkFormatProperties::linearTilingFeatures} que, como resultado,
       toma el valor de 0.</li>
       <li>Los anexos del búfer de fotogramas de punto flotante de Vulkan no se manejan de forma correcta.</li>
     </ul>
@@ -892,7 +892,7 @@
 <h4 id="dialer">Teléfono</h4>
 
 <ul>
-  <li>La aplicación Teléfono no es compatible con el inicio directo. Este tema se abordará más adelante en 
+  <li>La aplicación Teléfono no es compatible con el inicio directo. Este tema se abordará más adelante en
   N Developer Preview.
   </li>
 
@@ -1021,7 +1021,7 @@
       </li>
 
       <li>El primer registro en un perfil de trabajo tarda varios minutos en
-      completarse. Esto puede hacer que el dispositivo tarde más de lo normal en volverse 
+      completarse. Esto puede hacer que el dispositivo tarde más de lo normal en volverse
       visible en la API Play EMM.
       </li>
 
diff --git a/docs/html-intl/intl/es/training/monitoring-device-state/battery-monitoring.jd b/docs/html-intl/intl/es/training/monitoring-device-state/battery-monitoring.jd
index 08a42dd..cfccdab0 100644
--- a/docs/html-intl/intl/es/training/monitoring-device-state/battery-monitoring.jd
+++ b/docs/html-intl/intl/es/training/monitoring-device-state/battery-monitoring.jd
@@ -7,8 +7,8 @@
 next.link=docking-monitoring.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
@@ -24,9 +24,9 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 <p>Al modificar la frecuencia de las actualizaciones en segundo plano para reducir el efecto de las mismas en la duración de la batería, te recomendamos que comiences por comprobar el estado de carga y el nivel actual de la batería.</p>
 
 <p>El impacto derivado de actualizar aplicaciones en la duración de la batería varía en función del nivel de batería y del estado de carga del dispositivo, mientras que es insignificante cuando este está conectado a la corriente. Por ello, en la mayoría de los casos, puedes maximizar la frecuencia de actualización cuando el dispositivo esté conectado a un cargador. Por el contrario, si el dispositivo está en proceso de descarga, disminuir la frecuencia de actualización te permitirá aumentar la duración de la batería.</p>
@@ -34,8 +34,8 @@
 <p>Del mismo modo, puedes comprobar el nivel de carga de la batería y reducir la frecuencia de las actualizaciones o incluso detenerlas cuando la batería esté a punto de agotarse.</p>
 
 
-<h2 id="DetermineChargeState">Cómo determinar el estado de carga actual</h2> 
- 
+<h2 id="DetermineChargeState">Cómo determinar el estado de carga actual</h2>
+
 <p>En primer lugar, te recomendamos que determines el estado de carga actual. {@link android.os.BatteryManager} envía los detalles de carga y de la batería en un {@link android.content.Intent} persistente que incluye el estado de carga.</p>
 
 <p>Se trata de un intento persistente, por lo que no es necesario registrar un {@link android.content.BroadcastReceiver}. Para ello, solo tienes que ejecutar {@code registerReceiver} transmitiendo {@code null} como el receptor (como se muestra en el siguiente fragmento). A continuación, se devuelve el intento de estado actual de la batería. Puedes transmitir un objeto {@link android.content.BroadcastReceiver} real, pero hablaremos sobre las actualizaciones en otra sección, por lo que no es necesario ahora.</p>
@@ -58,7 +58,7 @@
 <p>Normalmente, debes maximizar la frecuencia de las actualizaciones en segundo plano si el dispositivo está conectado a un cargador de corriente alterna, disminuir esa frecuencia si se utiliza un cargador USB y reducirla aún más si la batería se está descargando.</p>
 
 
-<h2 id="MonitorChargeState">Cómo supervisar los cambios en el estado de carga</h2> 
+<h2 id="MonitorChargeState">Cómo supervisar los cambios en el estado de carga</h2>
 
 <p>Modificar el estado de carga es tan fácil como conectar el dispositivo a un enchufe o USB. Por ello, es importante que supervises el estado de carga por si se producen cambios y modifiques la frecuencia de actualización según corresponda.</p>
 
@@ -75,11 +75,11 @@
 
 <pre>public class PowerConnectionReceiver extends BroadcastReceiver {
     &#64;Override
-    public void onReceive(Context context, Intent intent) { 
+    public void onReceive(Context context, Intent intent) {
         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                             status == BatteryManager.BATTERY_STATUS_FULL;
-    
+
         int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
         boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
         boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
@@ -87,7 +87,7 @@
 }</pre>
 
 
-<h2 id="CurrentLevel">Cómo determinar el nivel de batería actual</h2> 
+<h2 id="CurrentLevel">Cómo determinar el nivel de batería actual</h2>
 
 <p>En algunos casos, también es útil determinar el nivel de batería actual. Puedes disminuir la frecuencia de las actualizaciones en segundo plano si el nivel de carga de la batería es inferior a un valor determinado.</p>
 
@@ -99,7 +99,7 @@
 float batteryPct = level / (float)scale;</pre>
 
 
-<h2 id="MonitorLevel">Cómo supervisar cambios importantes en el nivel de batería</h2> 
+<h2 id="MonitorLevel">Cómo supervisar cambios importantes en el nivel de batería</h2>
 
 <p>No puedes controlar el estado de la batería de forma continua fácilmente, pero tampoco es necesario.</p>
 
diff --git a/docs/html-intl/intl/es/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html-intl/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
index 2a5ff12..b76b812 100644
--- a/docs/html-intl/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html-intl/intl/es/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Algunos de los usos más comunes para las alarmas con repetición y los servicios en segundo plano es programar actualizaciones regulares de los datos de aplicaciones a partir de recursos de Internet, almacenar datos en la memoria caché o ejecutar descargas a largo plazo. Sin embargo, si no estás conectado a Internet o la conexión es demasiado débil para completar la descarga, ¿para qué activar el dispositivo y programar la actualización?</p>
@@ -35,18 +35,18 @@
 <p>Puedes utilizar {@link android.net.ConnectivityManager} para comprobar si estás conectado a Internet y, en ese caso, el tipo de conexión que estás utilizando.</p>
 
 
-<h2 id="DetermineConnection">Cómo determinar si tienes conexión a Internet</h2> 
- 
+<h2 id="DetermineConnection">Cómo determinar si tienes conexión a Internet</h2>
+
 <p>No es necesario programar una actualización basada en un recurso de Internet si no estás conectado. En el fragmento que aparece a continuación, se muestra cómo utilizar {@link android.net.ConnectivityManager} para consultar la red activa y determinar si hay conexión a Internet.</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">Cómo determinar el tipo de conexión a Internet</h2> 
+<h2 id="DetermineType">Cómo determinar el tipo de conexión a Internet</h2>
 
 <p>También puedes determinar el tipo de conexión a Internet que hay disponible.</p>
 
@@ -59,7 +59,7 @@
 <p>Cuando hayas inhabilitado las actualizaciones, es importante que detectes si se hay cambios en la conectividad para poder reanudarlas cuando se haya establecido una conexión a Internet.</p>
 
 
-<h2 id="MonitorChanges">Cómo supervisar los cambios en la conectividad</h2> 
+<h2 id="MonitorChanges">Cómo supervisar los cambios en la conectividad</h2>
 
 <p>{@link android.net.ConnectivityManager} emite la acción {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) cuando se han modificado los detalles de la conectividad. Puedes registrar un receptor de emisión en el archivo de manifiesto para detectar estos cambios y reanudar (o cancelar) las actualizaciones en segundo plano según corresponda.</p>
 
diff --git a/docs/html-intl/intl/es/training/monitoring-device-state/docking-monitoring.jd b/docs/html-intl/intl/es/training/monitoring-device-state/docking-monitoring.jd
index d612281..bede4e2 100644
--- a/docs/html-intl/intl/es/training/monitoring-device-state/docking-monitoring.jd
+++ b/docs/html-intl/intl/es/training/monitoring-device-state/docking-monitoring.jd
@@ -10,7 +10,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
@@ -26,7 +26,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Los dispositivos Android se pueden conectar a distintos tipos de conectores. Por ejemplo, se puede utilizar conectores para coche o domésticos y tanto digitales como analógicos. Normalmente, el estado del conector está vinculado al estado de carga, ya que muchos conectores cargan el dispositivo mientras está conectado.</p>
@@ -36,8 +36,8 @@
 <p>El estado del conector se emite también como un {@link android.content.Intent} persistente, lo que te permite consultar si el dispositivo está conectado o no y, si lo está, determinar el tipo de conector.</p>
 
 
-<h2 id="CurrentDockState">Cómo determinar el estado de conexión actual</h2> 
- 
+<h2 id="CurrentDockState">Cómo determinar el estado de conexión actual</h2>
+
 <p>La información sobre el estado del conector se incluye como información adicional en una emisión persistente de la acción {@link android.content.Intent#ACTION_DOCK_EVENT}. Por ello, no es necesario registrar un {@link android.content.BroadcastReceiver}. Solo tienes que ejecutar {@link android.content.Context#registerReceiver registerReceiver()} transmitiendo {@code null} como el receptor de emisión, como se muestra en el fragmento de código que aparece a continuación.</p>
 
 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
@@ -49,9 +49,9 @@
 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
 
 
-<h2 id="DockType">Cómo determinar el tipo de conector actual</h2> 
+<h2 id="DockType">Cómo determinar el tipo de conector actual</h2>
 
-<p>Si un dispositivo está insertado en un conector, se puede conectar a cualquiera de estos cuatro tipos de conectores: 
+<p>Si un dispositivo está insertado en un conector, se puede conectar a cualquiera de estos cuatro tipos de conectores:
 <ul><li>coche,</li>
 <li>escritorio,</li>
 <li>escritorio de gama baja (analógico),</li>
@@ -60,12 +60,12 @@
 <p>Ten en cuenta que las últimas dos opciones se introdujeron en Android únicamente en el nivel 11 del API. Por ello, te recomendamos que compruebes las tres opciones solo cuando te interese más el tipo de conector que si se trata de un conector digital o analógico:</p>
 
 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
+boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
 
 
-<h2 id="MonitorDockState">Cómo supervisar los cambios en el tipo de conector o en el estado del mismo</h2> 
+<h2 id="MonitorDockState">Cómo supervisar los cambios en el tipo de conector o en el estado del mismo</h2>
 
 <p>Cuando el dispositivo está conectado a un conector o desconectado del mismo, se emite la acción {@link android.content.Intent#ACTION_DOCK_EVENT}. Para controlar los cambios que se produzcan en el estado del conector del dispositivo, solo tienes que registrar un receptor de emisión en el archivo de manifiesto de la aplicación, como se muestra en el fragmento que aparece a continuación:</p>
 
diff --git a/docs/html-intl/intl/es/training/monitoring-device-state/index.jd b/docs/html-intl/intl/es/training/monitoring-device-state/index.jd
index bf6b1c1..12fcae7 100644
--- a/docs/html-intl/intl/es/training/monitoring-device-state/index.jd
+++ b/docs/html-intl/intl/es/training/monitoring-device-state/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>Dependencias y requisitos previos</h2> 
+<h2>Dependencias y requisitos previos</h2>
 <ul>
   <li>Android 2.0 (nivel 5 del API) o superior</li>
   <li>Experiencia con <a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a></li>
@@ -21,19 +21,19 @@
   <li><a href="{@docRoot}guide/components/services.html">Servicios</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Uno de los objetivos de tu aplicación debe ser limitar su impacto en la duración de la batería del dispositivo en el que esté instalada. Después de leer estas secciones, podrás desarrollar aplicaciones que optimizarán el uso de la batería en función del estado del dispositivo en el que estén instaladas.</p>
 
 <p>Al tomar medidas como inhabilitar las actualizaciones de servicios en segundo plano o disminuir la frecuencia de dichas actualizaciones cuando el nivel de batería sea bajo, puedes garantizar que se minimice el impacto de tu aplicación en la duración de la batería sin afectar a la experiencia del usuario.</p>
 
-<h2>Secciones</h2> 
- 
+<h2>Secciones</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="battery-monitoring.html">Cómo controlar el nivel de batería y el estado de carga</a></b></dt>
   <dd>Obtén más información sobre cómo determinar y controlar el nivel de batería actual y los cambios en el estado de carga para modificar la frecuencia de actualizaciones en segundo plano de tu aplicación.</dd>
@@ -46,4 +46,4 @@
 
   <dt><b><a href="manifest-receivers.html">Cómo manipular los receptores de emisión bajo demanda</a></b></dt>
   <dd>Los receptores de emisión que declaras en el archivo de manifiesto se pueden alternar durante la ejecución para inhabilitar los que no son necesarios debido al estado actual del dispositivo. Obtén más información sobre cómo alternar y superponer receptores de cambio de estado para mejorar el rendimiento y cómo posponer acciones hasta que el dispositivo se encuentre en un estado concreto.</dd>
-</dl> 
\ No newline at end of file
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/es/training/monitoring-device-state/manifest-receivers.jd b/docs/html-intl/intl/es/training/monitoring-device-state/manifest-receivers.jd
index a90468e..0be198c 100644
--- a/docs/html-intl/intl/es/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html-intl/intl/es/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
@@ -23,7 +23,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intentos y filtros de intentos</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>La forma más sencilla de controlar los cambios en el estado del dispositivo es crear un {@link android.content.BroadcastReceiver} para cada estado que vayas a controlar y registrar cada uno de ellos en el archivo de manifiesto de tu aplicación. A continuación, en cada uno de esos receptores solo tienes que volver a programar las alarmas recurrentes en función del estado actual del dispositivo.</p>
@@ -31,10 +31,10 @@
 <p>Un efecto secundario de este método es que tu aplicación activará el dispositivo siempre que uno de los receptores se active (probablemente, con más frecuencia de la necesaria).</p>
 
 <p>Te recomendamos que inhabilites o habilites los receptores de emisión en el momento de la ejecución. De este modo, puedes utilizar los receptores que hayas declarado en el archivo de manifiesto como alarmas pasivas que se activan mediante los eventos del sistema solo cuando es necesario.</p>
- 
 
-<h2 id="ToggleReceivers">Cómo alternar y superponer receptores de cambio de estado para mejorar el rendimiento </h2> 
- 
+
+<h2 id="ToggleReceivers">Cómo alternar y superponer receptores de cambio de estado para mejorar el rendimiento </h2>
+
 <p>Se puede utilizar el {@link android.content.pm.PackageManager} para alternar el estado habilitado en cualquier componente definido en el archivo de manifiesto, incluidos los receptores de emisión que quieras habilitar o inhabilitar, como se muestra en el fragmento que aparece a continuación:</p>
 
 <pre>ComponentName receiver = new ComponentName(context, myReceiver.class);
diff --git a/docs/html-intl/intl/es/training/multiscreen/adaptui.jd b/docs/html-intl/intl/es/training/multiscreen/adaptui.jd
index 61f0735..7982ce1 100644
--- a/docs/html-intl/intl/es/training/multiscreen/adaptui.jd
+++ b/docs/html-intl/intl/es/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>En esta sección puedes aprender:</h2>
 
 <ol>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">Cómo admitir tablets y dispositivos móviles</a></li>
 </ul>
- 
+
 <h2>¡Pruébalo!</h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Descargar la aplicación de ejemplo</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>En función del diseño actual de tu aplicación, la interfaz puede variar. Por ejemplo, si tu aplicación está en modo de panel dual, haz clic en un elemento del panel izquierdo para que aparezca en el panel de la derecha. Asimismo, si está en modo de panel único, el contenido debería aparecer por sí mismo (en otra actividad).</p>
 
@@ -56,7 +56,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -116,7 +116,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -168,7 +168,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html-intl/intl/es/training/multiscreen/index.jd b/docs/html-intl/intl/es/training/multiscreen/index.jd
index d836f96..b9b5916 100644
--- a/docs/html-intl/intl/es/training/multiscreen/index.jd
+++ b/docs/html-intl/intl/es/training/multiscreen/index.jd
@@ -6,10 +6,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>Dependencias y requisitos previos</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>Dependencias y requisitos previos</h2>
 
 <ul>
   <li>Android 1.6 o superior (Android 2.1 o superior para la aplicación de ejemplo)</li>
@@ -26,17 +26,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">Cómo admitir varias pantallas</a></li>
 </ul>
- 
-<h2>¡Pruébalo!</h2> 
- 
-<div class="download-box"> 
+
+<h2>¡Pruébalo!</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Descargar la aplicación de ejemplo</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>Android se utiliza en cientos de dispositivos con diferentes tamaños de pantalla, desde pequeños teléfonos hasta enormes televisores. Por ello, es importante que diseñes tu aplicación para que sea compatible con todos los tamaños de pantalla y esté disponible para el mayor número de usuarios posible.</p>
 
 <p>Sin embargo, no es suficiente con que tu aplicación sea compatible con diferentes dispositivos. Cada tamaño de pantalla ofrece diferentes posibilidades y retos para la interacción del usuario. Por ello, para satisfacer completamente a tus usuarios e impresionarlos, tu aplicación debe ir más allá de simplemente <em>admitir</em> varias pantallas: debe <em>optimizar</em> la experiencia de usuario para cada configuración de pantalla.</p>
@@ -47,17 +47,17 @@
 
 <p class="note"><strong>Nota:</strong> en esta sección y en el ejemplo correspondiente, se utiliza la <a
 href="{@docRoot}tools/support-library/index.html">biblioteca de compatibilidad</a> para poder usar las API de <PH>{@link android.app.Fragment}</PH> en versiones anteriores a Android 3.0. Debes descargar y la biblioteca y añadirla a tu aplicación para poder utilizar todas las API que se indican en esta sección.</p>
- 
 
-<h2>Secciones</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">Cómo admitir varios tamaños de pantalla</a></b></dt> 
-    <dd>En esta sección se explica cómo crear diseños que se adapten a diferentes tamaños de pantalla (mediante dimensiones flexibles para vistas, <PH>{@link android.widget.RelativeLayout}</PH>, calificadores de orientación y tamaño de pantalla, filtros de alias y mapas de bits de la clase NinePatch).</dd> 
- 
-  <dt><b><a href="screendensities.html">Cómo admitir varias densidades de pantalla</a></b></dt> 
-    <dd>En esta sección se explica cómo admitir pantallas con diferentes densidades de píxeles (mediante píxeles independientes de la densidad y mapas de bits adecuados a cada densidad).</dd> 
- 
-  <dt><b><a href="adaptui.html">Cómo implementar interfaces de usuario adaptables</a></b></dt> 
-    <dd>En esta sección se explica cómo implementar tu interfaz de usuario para que se adapte a varias combinaciones de densidad o de tamaño de pantalla (detección de tiempo de ejecución del diseño activo, cómo reaccionar en función del diseño actual y cómo administrar los cambios en la configuración de la pantalla).</dd> 
-</dl> 
+
+<h2>Secciones</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">Cómo admitir varios tamaños de pantalla</a></b></dt>
+    <dd>En esta sección se explica cómo crear diseños que se adapten a diferentes tamaños de pantalla (mediante dimensiones flexibles para vistas, <PH>{@link android.widget.RelativeLayout}</PH>, calificadores de orientación y tamaño de pantalla, filtros de alias y mapas de bits de la clase NinePatch).</dd>
+
+  <dt><b><a href="screendensities.html">Cómo admitir varias densidades de pantalla</a></b></dt>
+    <dd>En esta sección se explica cómo admitir pantallas con diferentes densidades de píxeles (mediante píxeles independientes de la densidad y mapas de bits adecuados a cada densidad).</dd>
+
+  <dt><b><a href="adaptui.html">Cómo implementar interfaces de usuario adaptables</a></b></dt>
+    <dd>En esta sección se explica cómo implementar tu interfaz de usuario para que se adapte a varias combinaciones de densidad o de tamaño de pantalla (detección de tiempo de ejecución del diseño activo, cómo reaccionar en función del diseño actual y cómo administrar los cambios en la configuración de la pantalla).</dd>
+</dl>
diff --git a/docs/html-intl/intl/es/training/multiscreen/screendensities.jd b/docs/html-intl/intl/es/training/multiscreen/screendensities.jd
index 0edb89f..a91f5a0 100644
--- a/docs/html-intl/intl/es/training/multiscreen/screendensities.jd
+++ b/docs/html-intl/intl/es/training/multiscreen/screendensities.jd
@@ -12,8 +12,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
 <ol>
@@ -29,15 +29,15 @@
 </ul>
 
 <h2>¡Pruébalo!</h2>
- 
-<div class="download-box"> 
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Descargar la aplicación de ejemplo</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>En esta sección se explica cómo proporcionar diferentes recursos y utilizar unidades de medida de resolución independiente para admitir diferentes densidades de pantalla.</p>
 
@@ -48,8 +48,8 @@
 <p>Por ejemplo, al especificar un espacio entre dos vistas, debes utilizar <code>dp</code> en lugar de <code>px</code>:</p>
 
 <pre>
-&lt;Button android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+&lt;Button android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:text="&#64;string/clickme"
     android:layout_marginTop="20dp" /&gt;
 </pre>
@@ -57,8 +57,8 @@
 <p>Al especificar el tamaño de letra, debes usar siempre <code>sp</code>:</p>
 
 <pre>
-&lt;TextView android:layout_width="match_parent" 
-    android:layout_height="wrap_content" 
+&lt;TextView android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:textSize="20sp" /&gt;
 </pre>
 
diff --git a/docs/html-intl/intl/es/training/multiscreen/screensizes.jd b/docs/html-intl/intl/es/training/multiscreen/screensizes.jd
index 9a971d1..9af109c 100644
--- a/docs/html-intl/intl/es/training/multiscreen/screensizes.jd
+++ b/docs/html-intl/intl/es/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>En esta sección puedes aprender:</h2>
 <ol>
@@ -30,26 +30,26 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">Cómo admitir varias pantallas</a></li>
 </ul>
 
-<h2>¡Pruébalo!</h2> 
- 
-<div class="download-box"> 
+<h2>¡Pruébalo!</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Descargar la aplicación de ejemplo</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>En esta sección se explica cómo admitir varios tamaños de pantalla. Para ello, sigue estos pasos:</p>
-<ul> 
-  <li>Asegúrate de que el diseño se haya ajustado correctamente al tamaño de la pantalla.</li> 
-  <li>Configura la pantalla con el diseño de interfaz adecuado.</li> 
+<ul>
+  <li>Asegúrate de que el diseño se haya ajustado correctamente al tamaño de la pantalla.</li>
+  <li>Configura la pantalla con el diseño de interfaz adecuado.</li>
   <li>Asegúrate de aplicar el diseño adecuado a la pantalla correspondiente.</li>
-  <li>Utiliza el mapa de bits con la escala adecuada.</li> 
-</ul> 
+  <li>Utiliza el mapa de bits con la escala adecuada.</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">Cómo utilizar los valores "wrap_content" y "match_parent"</h2> 
+<h2 id="TaskUseWrapMatchPar">Cómo utilizar los valores "wrap_content" y "match_parent"</h2>
 
 <p>Para garantizar que el diseño es flexible y que se adapta a varios tamaños de pantalla, debes utilizar los valores <code>"wrap_content"</code> y <code>"match_parent"</code> para la altura y el ancho de algunos componentes de la vista. Si utilizas <code>"wrap_content"</code>, el ancho o la altura de la vista se establece en el tamaño mínimo necesario para adaptar el contenido a esta vista, mientras que <code>"match_parent"</code> (también conocido como <code>"fill_parent"</code> antes del nivel 8 del API) provoca que el componente se amplíe hasta coincidir con el tamaño de la vista principal.</p>
 
@@ -65,7 +65,7 @@
 <p class="img-caption"><strong>Figura 1.</strong> La aplicación de ejemplo News Reader en modo vertical (izquierda) y horizontal (derecha)</p>
 
 
-<h2 id="TaskUseRelativeLayout">Cómo utilizar RelativeLayout</h2> 
+<h2 id="TaskUseRelativeLayout">Cómo utilizar RelativeLayout</h2>
 
 <p>Puedes crear diseños de un cierto nivel de complejidad con instancias anidadas de <PH>{@link android.widget.LinearLayout}</PH> y combinaciones de los valores de tamaño <code>"wrap_content"</code> y <code>"match_parent"</code>. Sin embargo, <PH>{@link android.widget.LinearLayout}</PH> no te permite controlar con precisión las relaciones espaciales de las vistas secundarias; las vistas de <PH>{@link android.widget.LinearLayout}</PH> simplemente se alinean en paralelo. Si quieres orientar las vistas secundarias de una forma que no sea una línea recta, a menudo la mejor solución es utilizar <PH>{@link android.widget.RelativeLayout}</PH>que te permite especificar el diseño según las relaciones espaciales entre los componentes. Por ejemplo, puedes alinear una vista secundaria en el lateral izquierdo y otra vista en el lateral derecho de la pantalla.</p>
 
@@ -115,8 +115,8 @@
 
 <p>Ten en cuenta que aunque el tamaño de los componentes es diferente, las relaciones espaciales se mantienen según se ha especificado con <PH>{@link android.widget.RelativeLayout.LayoutParams}</PH>.</p>
 
- 
-<h2 id="TaskUseSizeQuali">Cómo utilizar calificadores de tamaño</h2> 
+
+<h2 id="TaskUseSizeQuali">Cómo utilizar calificadores de tamaño</h2>
 
 <p>Hay mucha diferencia entre un diseño flexible y un diseño relativo como el que se ha utilizado en las secciones anteriores. Aunque ambos diseños se adaptan a diferentes pantalla estirando el espacio dentro de los componentes y alrededor de los mismos, puede que no ofrezcan la mejor experiencia de usuario para cada tamaño de pantalla. Por tanto, tu aplicación no solo debe implementar los diseños flexibles, sino que también debe ofrecer varios diseños alternativos para diferentes configuraciones de pantalla. Para ello, se utilizan <a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">calificadores de configuración</a>, que permiten que el tiempo de ejecución seleccione el recurso adecuado en función de la configuración actual del dispositivo (por ejemplo, un diseño diferente para diferentes tamaños de pantalla).</p>
 
@@ -158,7 +158,7 @@
 <p>No obstante, esto no funcionará en los dispositivos anteriores a Android 3.2 porque no reconocen <code>sw600dp</code> como calificador de tamaño, por lo que también tendrás que seguir utilizando el calificador <code>large</code>. Por tanto, debes tener un archivo con el nombre <code>res/layout-large/main.xml</code> idéntico a <code>res/layout-sw600dp/main.xml</code>. En la siguiente sección, obtendrás información sobre una técnica que te permite evitar que se dupliquen los archivos de diseños.</p>
 
 
-<h2 id="TaskUseAliasFilters">Cómo utilizar alias de diseño</h2> 
+<h2 id="TaskUseAliasFilters">Cómo utilizar alias de diseño</h2>
 
 <p>El calificador de ancho mínimo solo está disponible en Android 3.2 o superior. Por tanto, tendrás que seguir utilizando los contenedores de tamaño abstractos (pequeño, normal, grande y extragrande) para que sean compatibles con versiones anteriores. Por ejemplo, si quieres que tu interfaz de usuario sea de panel único en teléfonos pero multipanel en tablets de 7", televisiones y otros dispositivos grandes, tendrás que utilizar los siguientes archivos:</p>
 
@@ -202,7 +202,7 @@
 <PH>{@code large}</PH>y las televisiones y los tablets posteriores a la versión 3.2 utilizarán <code>sw600dp</code>).</p>
 
 
-<h2 id="TaskUseOriQuali">Cómo utilizar calificadores de orientación</h2> 
+<h2 id="TaskUseOriQuali">Cómo utilizar calificadores de orientación</h2>
 
 <p>Aunque algunos diseños se pueden utilizar tanto en modo horizontal como vertical, la mayoría de ellos pueden beneficiarse de los ajustes. A continuación, se indica cómo se comporta el diseño según cada tamaño y orientación de la pantalla en la aplicación de ejemplo News Reader:</p>
 
diff --git a/docs/html-intl/intl/in/design/get-started/principles.jd b/docs/html-intl/intl/in/design/get-started/principles.jd
index 9aed08e..2a1d194 100644
--- a/docs/html-intl/intl/in/design/get-started/principles.jd
+++ b/docs/html-intl/intl/in/design/get-started/principles.jd
@@ -277,7 +277,7 @@
   <div class="col-7">
 
 <h4 id="do-heavy-lifting-for-me">Lakukan pekerjaan yang sulit untuk saya</h4>
-<p>Buatlah pemula merasa seperti ahli dengan memungkinkan mereka untuk melakukan hal-hal yang mereka pikir tidak akan bisa. 
+<p>Buatlah pemula merasa seperti ahli dengan memungkinkan mereka untuk melakukan hal-hal yang mereka pikir tidak akan bisa.
 Misalnya, pintasan yang menggabungkan beberapa efek foto dapat membuat foto amatir terlihat mengagumkan hanya
 dalam beberapa langkah.</p>
 
diff --git a/docs/html-intl/intl/in/design/patterns/navigation.jd b/docs/html-intl/intl/in/design/patterns/navigation.jd
index a8afaaa..4915700 100644
--- a/docs/html-intl/intl/in/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/in/design/patterns/navigation.jd
@@ -121,7 +121,7 @@
 kejadian tersebut, dan menyediakan path bagi pengguna untuk menjelajah ke dalam aplikasi. Pemberitahuan dengan gaya seperti ini
 disebut <em>pemberitahuan tidak langsung</em>.</p>
 
-<p>Berbeda dengan pemberitahuan standar (langsung), menekan tombol Back dari 
+<p>Berbeda dengan pemberitahuan standar (langsung), menekan tombol Back dari
 layar antara pada pemberitahuan tidak langsung akan mengembalikan pengguna ke titik pemicu pemberitahuan tersebut&mdash;tidak ada
 layar tambahan yang disisipkan ke dalam back-stack. Setelah pengguna melanjutkan ke dalam aplikasi dari
 layar antara, tombol Up dan Back akan berperilaku seperti pada pemberitahuan standar, sebagaimana dijelaskan di atas:
@@ -168,7 +168,7 @@
 informasi dan semua tindakan terkait yang dapat dilakukan pengguna. Aplikasi Anda adalah kumpulan
 aktivitas, yang terdiri dari aktivitas yang Anda buat dan aktivitas yang Anda gunakan ulang dari aplikasi lain.</p>
 
-<p><strong>Tugas</strong> adalah urutan aktivitas yang diikuti pengguna untuk mencapai tujuan. 
+<p><strong>Tugas</strong> adalah urutan aktivitas yang diikuti pengguna untuk mencapai tujuan.
 Tugas tunggal dapat memanfaatkan aktivitas dari satu aplikasi saja, atau dapat memanfaatkan aktivitas dari sejumlah
 aplikasi berbeda.</p>
 
diff --git a/docs/html-intl/intl/in/guide/components/activities.jd b/docs/html-intl/intl/in/guide/components/activities.jd
index 6cac696..bbc061c 100644
--- a/docs/html-intl/intl/in/guide/components/activities.jd
+++ b/docs/html-intl/intl/in/guide/components/activities.jd
@@ -53,7 +53,7 @@
 <p> Sebuah aplikasi biasanya terdiri atas beberapa aktivitas yang terikat secara longgar
 satu sama lain. Biasanya, satu aktivitas dalam aplikasi ditetapkan sebagai aktivitas "utama", yang
 ditampilkan kepada pengguna saat membuka aplikasi untuk pertama kali. Tiap
-aktivitas kemudian bisa memulai aktivitas lain untuk melakukan berbagai tindakan. Tiap kali 
+aktivitas kemudian bisa memulai aktivitas lain untuk melakukan berbagai tindakan. Tiap kali
 aktivitas baru dimulai, aktivitas sebelumnya akan dihentikan, namun sistem mempertahankan aktivitas
 dalam sebuah tumpukan ("back-stack"). Bila sebuah aktivitas baru dimulai, aktivitas itu akan didorong ke atas back-stack dan
 mengambil fokus pengguna. Back-stack mematuhi mekanisme dasar tumpukan "masuk terakhir, keluar pertama",
@@ -67,7 +67,7 @@
 Ada beberapa metode callback yang mungkin diterima aktivitas, karena sebuah perubahan dalam
 statusnya&mdash;apakah sistem sedang membuatnya, menghentikannya, melanjutkannya, atau menghapuskannya&mdash;dan
 masing-masing callback memberi Anda kesempatan melakukan pekerjaan tertentu yang
-sesuai untuk perubahan status itu. Misalnya, bila dihentikan, aktivitas Anda harus melepas 
+sesuai untuk perubahan status itu. Misalnya, bila dihentikan, aktivitas Anda harus melepas
 objek besar, seperti koneksi jaringan atau database. Bila aktivitas dilanjutkan, Anda bisa
 memperoleh kembali sumber daya yang diperlukan dan melanjutkan tindakan yang terputus. Transisi status ini
 semuanya bagian dari daur hidup aktivitas.</p>
@@ -89,7 +89,7 @@
 <dl>
   <dt>{@link android.app.Activity#onCreate onCreate()}</dt>
   <dd>Anda harus mengimplementasikan metode ini. Sistem memanggilnya saat membuat
-    aktivitas Anda. Dalam implementasi, Anda harus menginisialisasi komponen-komponen esensial 
+    aktivitas Anda. Dalam implementasi, Anda harus menginisialisasi komponen-komponen esensial
 aktivitas.
     Yang terpenting, inilah tempat Anda harus memanggil {@link android.app.Activity#setContentView
     setContentView()} untuk mendefinisikan layout untuk antarmuka pengguna aktivitas.</dd>
@@ -115,7 +115,7 @@
 tombol yang mengawali suatu tindakan bila pengguna menyentuhnya.</p>
 
 <p>Android menyediakan sejumlah tampilan siap-dibuat yang bisa Anda gunakan untuk mendesain dan mengatur
-layout. "Widget" adalah tampilan yang menyediakan elemen-elemen visual (dan interaktif) untuk layar, 
+layout. "Widget" adalah tampilan yang menyediakan elemen-elemen visual (dan interaktif) untuk layar,
 misalnya tombol, bidang teks, kotak cek, atau sekadar sebuah gambar. "Layout" adalah tampilan yang diturunkan dari {@link
 android.view.ViewGroup} yang memberikan sebuah model layout unik untuk tampilan anaknya, misalnya
 layout linier, layout grid, atau layout relatif. Anda juga bisa mensubkelaskan kelas-kelas {@link android.view.View} dan
@@ -124,7 +124,7 @@
 
 <p>Cara paling umum untuk mendefinisikan layout dengan menggunakan tampilan adalah dengan file layout XML yang disimpan dalam
 sumber daya aplikasi Anda. Dengan cara ini, Anda bisa memelihara desain antarmuka pengguna Anda secara terpisah dari
-kode yang mendefinisikan perilaku aktivitas. Anda bisa mengatur layout sebagai UI 
+kode yang mendefinisikan perilaku aktivitas. Anda bisa mengatur layout sebagai UI
 aktivitas Anda dengan {@link android.app.Activity#setContentView(int) setContentView()}, dengan meneruskan
 ID sumber daya untuk layout itu. Akan tetapi, Anda juga bisa membuat {@link android.view.View} baru dalam
 kode aktivitas dan membuat hierarki tampilan dengan menyisipkan {@link
@@ -169,7 +169,7 @@
 
 <p>Elemen <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code
 &lt;activity&gt;}</a> juga bisa menetapkan berbagai filter intent&mdash;dengan menggunakan elemen <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
-&lt;intent-filter&gt;}</a> &mdash;untuk mendeklarasikan cara komponen aplikasi lain 
+&lt;intent-filter&gt;}</a> &mdash;untuk mendeklarasikan cara komponen aplikasi lain
 mengaktifkannya.</p>
 
 <p>Bila Anda membuat aplikasi baru dengan Android SDK Tools, aktivitas stub
@@ -251,7 +251,7 @@
 
 <p>Ekstra {@link android.content.Intent#EXTRA_EMAIL} yang ditambahkan ke intent adalah sebuah larik string
   alamat email yang menjadi tujuan pengiriman email. Bila aplikasi email merespons intent ini,
- aplikasi itu akan membaca larik string yang disediakan dalam ekstra dan meletakkannya dalam bidang "to" 
+ aplikasi itu akan membaca larik string yang disediakan dalam ekstra dan meletakkannya dalam bidang "to"
   pada formulir penulisan email. Dalam situasi ini, aktivitas aplikasi email dimulai dan bila
   pengguna selesai, aktivitas Anda akan dilanjutkan.</p>
 
@@ -297,7 +297,7 @@
 </pre>
 
 <p>Contoh ini menunjukkan logika dasar yang harus Anda gunakan dalam metode {@link
-android.app.Activity#onActivityResult onActivityResult()} Anda untuk menangani 
+android.app.Activity#onActivityResult onActivityResult()} Anda untuk menangani
 hasil aktivitas. Syarat pertama memeriksa apakah permintaan berhasil&mdash;jika ya, maka
  {@code resultCode} akan berupa {@link android.app.Activity#RESULT_OK}&mdash;dan apakah permintaan
 yang direspons hasil ini dikenal&mdash;dalam hal ini, {@code requestCode} cocok dengan
@@ -602,19 +602,19 @@
 menyusuri kembali ke aktivitas tersebut. Namun, pengguna tidak menyadari
 bahwa sistem memusnahkan aktivitas dan membuatnya kembali dan, karena itu, mungkin
 mengharapkan aktivitas untuk sama persis dengan sebelumnya. Dalam situasi ini, Anda bisa memastikan bahwa
-informasi penting tentang status aktivitas tetap terjaga dengan mengimplementasikan 
+informasi penting tentang status aktivitas tetap terjaga dengan mengimplementasikan
 metode callback tambahan yang memungkinkan Anda menyimpan informasi tentang status aktivitas: {@link
 android.app.Activity#onSaveInstanceState onSaveInstanceState()}.</p>
 
 <p>Sistem memanggil {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}
 sebelum membuat aktivitas rawan terhadap pemusnahan. Sistem meneruskan ke metode ini
-sebuah {@link android.os.Bundle} tempat Anda bisa menyimpan 
+sebuah {@link android.os.Bundle} tempat Anda bisa menyimpan
 informasi status tentang aktivitas sebagai pasangan nama-nilai, dengan menggunakan metode-metode misalnya {@link
 android.os.Bundle#putString putString()} dan {@link
 android.os.Bundle#putInt putInt()}. Kemudian, jika sistem mematikan proses aplikasi Anda
 dan pengguna menyusuri kembali ke aktivitas tersebut, sistem akan membuat kembali aktivitas dan meneruskan
 {@link android.os.Bundle} ke {@link android.app.Activity#onCreate onCreate()} maupun {@link
-android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}. Dengan menggunakan salah satu 
+android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}. Dengan menggunakan salah satu
 metode ini, Anda bisa mengekstrak status tersimpan dari {@link android.os.Bundle} dan memulihkan
 status aktivitas. Jika tidak ada informasi status untuk dipulihkan, maka {@link
 android.os.Bundle} yang diteruskan kepada adalah Anda null (yang akan terjadi bila aktivitas dibuat untuk
@@ -639,7 +639,7 @@
 <p>Akan tetapi, sekalipun Anda tidak melakukan apa-apa dan tidak mengimplementasikan {@link
 android.app.Activity#onSaveInstanceState onSaveInstanceState()}, beberapa status aktivitas
 akan dipulihkan oleh implementasi default {@link
-android.app.Activity#onSaveInstanceState onSaveInstanceState()} dalam kelas {@link android.app.Activity}. Khususnya, 
+android.app.Activity#onSaveInstanceState onSaveInstanceState()} dalam kelas {@link android.app.Activity}. Khususnya,
 implementasi default akan memanggil metode {@link
 android.view.View#onSaveInstanceState onSaveInstanceState()} yang sesuai untuk setiap {@link
 android.view.View} dalam layout, yang memungkinkan setiap tampilan untuk memberi informasi tentang dirinya
@@ -696,7 +696,7 @@
 , dan bahasa). Bila terjadi perubahan demikian, Android akan membuat kembali aktivitas yang berjalan
 (sistem akan memanggil {@link android.app.Activity#onDestroy}, kemudian segera memanggil {@link
 android.app.Activity#onCreate onCreate()}). Perilaku ini
-didesain untuk membantu aplikasi Anda menyesuaikan diri dengan konfigurasi baru dengan cara memuat ulang 
+didesain untuk membantu aplikasi Anda menyesuaikan diri dengan konfigurasi baru dengan cara memuat ulang
 aplikasi Anda secara otomatis dengan sumber daya alternatif yang telah Anda sediakan (misalnya layout yang berbeda untuk
 layar orientasi dan ukuran yang berbeda).</p>
 
@@ -722,7 +722,7 @@
 akan berhenti sementara dan berhenti sama sekali (walau tidak akan berhenti jika masih terlihat di latar belakang), saat
 aktivitas lain dibuat. Jika aktivitas-aktivitas ini berbagi data yang disimpan ke disk atau di tempat lain, Anda perlu
 memahami bahwa aktivitas pertama tidak dihentikan sepenuhnya sebelum aktivitas kedua dibuat.
-Sebagai gantinya, proses akan memulai aktivitas kedua secara tumpang tindih dengan proses penghentian 
+Sebagai gantinya, proses akan memulai aktivitas kedua secara tumpang tindih dengan proses penghentian
 aktivitas pertama.</p>
 
 <p>Urutan callback daur hidup didefinisikan dengan baik, khususnya bila kedua aktivitas berada dalam
diff --git a/docs/html-intl/intl/in/guide/components/bound-services.jd b/docs/html-intl/intl/in/guide/components/bound-services.jd
index 5d1f65e..6e5e65a1 100644
--- a/docs/html-intl/intl/in/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/in/guide/components/bound-services.jd
@@ -137,7 +137,7 @@
 android.os.Message}. {@link android.os.Handler}
 ini adalah dasar bagi {@link android.os.Messenger} yang nanti bisa berbagi {@link android.os.IBinder}
 dengan klien, sehingga memungkinkan klien mengirim perintah ke layanan dengan menggunakan objek {@link
-android.os.Message}. Selain itu, klien bisa mendefinisikan sendiri {@link android.os.Messenger} 
+android.os.Message}. Selain itu, klien bisa mendefinisikan sendiri {@link android.os.Messenger}
 sehingga layanan bisa mengirim balik pesan.
   <p>Inilah cara termudah melakukan komunikasi antarproses (IPC), karena {@link
 android.os.Messenger} akan mengantre semua permintaan ke dalam satu thread sehingga Anda tidak perlu mendesain
@@ -539,7 +539,7 @@
 </ol>
 
 <p>Misalnya, cuplikan berikut menghubungkan klien ke layanan yang dibuat di atas dengan
-<a href="#Binder">memperluas kelas Binder</a>, sehingga tinggal mengkonversi 
+<a href="#Binder">memperluas kelas Binder</a>, sehingga tinggal mengkonversi
 {@link android.os.IBinder} yang dihasilkan ke kelas {@code LocalService} dan meminta instance {@code
 LocalService}:</p>
 
@@ -573,7 +573,7 @@
 </pre>
 
 <ul>
-  <li>Parameter pertama {@link android.content.Context#bindService bindService()} adalah sebuah 
+  <li>Parameter pertama {@link android.content.Context#bindService bindService()} adalah sebuah
 {@link android.content.Intent} yang secara eksplisit menyebutkan layanan yang akan diikat (walaupun intent
 boleh implisit).</li>
 <li>Parameter kedua adalah objek {@link android.content.ServiceConnection}.</li>
diff --git a/docs/html-intl/intl/in/guide/components/fragments.jd b/docs/html-intl/intl/in/guide/components/fragments.jd
index 14d4ef3..9f7199c 100644
--- a/docs/html-intl/intl/in/guide/components/fragments.jd
+++ b/docs/html-intl/intl/in/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>Lihat juga</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Membangun UI Dinamis dengan Fragmen</a></li>
@@ -47,32 +47,32 @@
 </div>
 
 <p>{@link android.app.Fragment} mewakili perilaku atau bagian dari antarmuka pengguna dalam
-{@link android.app.Activity}. Anda bisa mengombinasikan beberapa fragmen dalam satu aktivitas untuk membangun UI 
-multipanel dan menggunakan kembali sebuah fragmen dalam beberapa aktivitas. Anda bisa menganggap fragmen sebagai bagian 
-modular dari aktivitas, yang memiliki daur hidup sendiri, menerima kejadian input sendiri, dan 
-yang bisa Anda tambahkan atau hapus saat aktivitas berjalan (semacam "sub aktivitas" yang 
+{@link android.app.Activity}. Anda bisa mengombinasikan beberapa fragmen dalam satu aktivitas untuk membangun UI
+multipanel dan menggunakan kembali sebuah fragmen dalam beberapa aktivitas. Anda bisa menganggap fragmen sebagai bagian
+modular dari aktivitas, yang memiliki daur hidup sendiri, menerima kejadian input sendiri, dan
+yang bisa Anda tambahkan atau hapus saat aktivitas berjalan (semacam "sub aktivitas" yang
 bisa digunakan kembali dalam aktivitas berbeda).</p>
 
-<p>Fragmen harus selalu tertanam dalam aktivitas dan daur hidup fragmen secara langsung 
+<p>Fragmen harus selalu tertanam dalam aktivitas dan daur hidup fragmen secara langsung
 dipengaruhi oleh daur hidup aktivitas host-nya. Misalnya, saat aktivitas dihentikan sementara,
 semua fragmen di dalamnya juga dihentikan sementara, dan bila aktivitas dimusnahkan, semua fragmen juga demikian. Akan tetapi, saat
-aktivitas berjalan (dalam <a href="{@docRoot}guide/components/activities.html#Lifecycle">status daur hidup</a> <em>dilanjutkan</em>, Anda bisa 
-memanipulasi setiap fragmen secara terpisah, seperti menambah atau menghapusnya. Saat melakukan transaksi 
+aktivitas berjalan (dalam <a href="{@docRoot}guide/components/activities.html#Lifecycle">status daur hidup</a> <em>dilanjutkan</em>, Anda bisa
+memanipulasi setiap fragmen secara terpisah, seperti menambah atau menghapusnya. Saat melakukan transaksi
 fragmen, Anda juga bisa menambahkannya ke back-stack yang dikelola oleh aktivitas
-&mdash;setiap entri back-stack merupakan record transaksi fragmen yang 
+&mdash;setiap entri back-stack merupakan record transaksi fragmen yang
 terjadi. Dengan back-stack pengguna dapat membalikkan transaksi fragmen (mengarah mundur),
 dengan menekan tombol <em>Back</em>.</p>
 
 <p>Bila Anda menambahkan fragmen sebagai bagian dari layout aktivitas, fragmen itu berada dalam {@link
-android.view.ViewGroup} di hierarki tampilan aktivitas tersebut dan fragmen mendefinisikan 
+android.view.ViewGroup} di hierarki tampilan aktivitas tersebut dan fragmen mendefinisikan
 layout
 tampilannya sendiri. Anda bisa menyisipkan fragmen ke dalam layout aktivitas dengan mendeklarasikan fragmen dalam file layout aktivitas
 , sebagai elemen {@code &lt;fragment&gt;}, atau dari kode aplikasi dengan menambahkannya ke
- {@link android.view.ViewGroup} yang ada. Akan tetapi, fragmen tidak harus menjadi bagian dari 
-layout aktivitas; Anda juga bisa menggunakan fragmen tanpa UI-nya sendiri sebagai pekerja tak terlihat untuk 
+ {@link android.view.ViewGroup} yang ada. Akan tetapi, fragmen tidak harus menjadi bagian dari
+layout aktivitas; Anda juga bisa menggunakan fragmen tanpa UI-nya sendiri sebagai pekerja tak terlihat untuk
 aktivitas tersebut.</p>
 
-<p>Dokumen ini menjelaskan cara membangun aplikasi menggunakan fragmen, termasuk 
+<p>Dokumen ini menjelaskan cara membangun aplikasi menggunakan fragmen, termasuk
 cara fragmen mempertahankan statusnya bila ditambahkan ke back-stack aktivitas, berbagi
 kejadian dengan aktivitas, dan fragmen lain dalam aktivitas, berkontribusi pada action-bar
 aktivitas, dan lainnya.</p>
@@ -80,45 +80,45 @@
 
 <h2 id="Design">Filosofi Desain</h2>
 
-<p>Android memperkenalkan fragmen di Android 3.0 (API level 11), terutama untuk mendukung desain UI yang lebih 
-dinamis dan fleksibel pada layar besar, seperti tablet. Karena 
-layar tablet jauh lebih besar daripada layar handset, maka lebih banyak ruang untuk mengombinasikan dan 
-bertukar komponen UI. Fragmen memungkinkan desain seperti itu tanpa perlu mengelola perubahan 
-kompleks pada hierarki tampilan. Dengan membagi layout aktivitas menjadi beberapa fragmen, Anda bisa 
-mengubah penampilan aktivitas saat runtime dan mempertahankan perubahan itu di back-stack 
+<p>Android memperkenalkan fragmen di Android 3.0 (API level 11), terutama untuk mendukung desain UI yang lebih
+dinamis dan fleksibel pada layar besar, seperti tablet. Karena
+layar tablet jauh lebih besar daripada layar handset, maka lebih banyak ruang untuk mengombinasikan dan
+bertukar komponen UI. Fragmen memungkinkan desain seperti itu tanpa perlu mengelola perubahan
+kompleks pada hierarki tampilan. Dengan membagi layout aktivitas menjadi beberapa fragmen, Anda bisa
+mengubah penampilan aktivitas saat runtime dan mempertahankan perubahan itu di back-stack
 yang dikelola oleh aktivitas.</p>
 
-<p>Misalnya, aplikasi berita bisa menggunakan satu fragmen untuk menampilkan daftar artikel di 
-sebelah kiri dan fragmen lainnya untuk menampilkan artikel di sebelah kanan&mdash;kedua fragmen ini muncul di satu 
-aktivitas, berdampingan, dan masing-masing fragmen memiliki serangkaian metode callback daur hidup dan menangani kejadian input 
+<p>Misalnya, aplikasi berita bisa menggunakan satu fragmen untuk menampilkan daftar artikel di
+sebelah kiri dan fragmen lainnya untuk menampilkan artikel di sebelah kanan&mdash;kedua fragmen ini muncul di satu
+aktivitas, berdampingan, dan masing-masing fragmen memiliki serangkaian metode callback daur hidup dan menangani kejadian input
 penggunanya sendiri. Sehingga, sebagai ganti menggunakan satu aktivitas untuk memilih
-artikel dan aktivitas lainnya untuk membaca artikel, pengguna bisa memilih artikel dan membaca semuanya dalam 
+artikel dan aktivitas lainnya untuk membaca artikel, pengguna bisa memilih artikel dan membaca semuanya dalam
 aktivitas yang sama, sebagaimana diilustrasikan dalam layout tablet pada gambar 1.</p>
 
-<p>Anda harus mendesain masing-masing fragmen sebagai komponen aktivitas modular dan bisa digunakan kembali. Yakni, karena 
-setiap fragmen mendefinisikan layoutnya dan perilakunya dengan callback daur hidupnya sendiri, Anda bisa memasukkan 
+<p>Anda harus mendesain masing-masing fragmen sebagai komponen aktivitas modular dan bisa digunakan kembali. Yakni, karena
+setiap fragmen mendefinisikan layoutnya dan perilakunya dengan callback daur hidupnya sendiri, Anda bisa memasukkan
 satu fragmen dalam banyak aktivitas, sehingga Anda harus mendesainnya untuk digunakan kembali dan mencegah
-memanipulasi satu fragmen dari fragmen lain secara langsung. Ini terutama penting karena dengan 
-fragmen modular Anda bisa mengubah kombinasi fragmen untuk ukuran layar berbeda. Saat mendesain aplikasi 
-untuk mendukung tablet maupun handset, Anda bisa menggunakan kembali fragmen dalam 
+memanipulasi satu fragmen dari fragmen lain secara langsung. Ini terutama penting karena dengan
+fragmen modular Anda bisa mengubah kombinasi fragmen untuk ukuran layar berbeda. Saat mendesain aplikasi
+untuk mendukung tablet maupun handset, Anda bisa menggunakan kembali fragmen dalam
 konfigurasi layout berbeda untuk mengoptimalkan pengalaman pengguna berdasarkan ruang layar yang tersedia. Misalnya
-, pada handset, fragmen mungkin perlu dipisahkan untuk menyediakan UI panel tunggal 
+, pada handset, fragmen mungkin perlu dipisahkan untuk menyediakan UI panel tunggal
 bila lebih dari satu yang tidak cocok dalam aktivitas yang sama.</p>
 
 <img src="{@docRoot}images/fundamentals/fragments.png" alt="" />
 <p class="img-caption"><strong>Gambar 1.</strong> Contoh cara dua modul UI yang didefinisikan oleh
- fragmen bisa digabungkan ke dalam satu aktivitas untuk desain tablet, namun dipisahkan untuk 
+ fragmen bisa digabungkan ke dalam satu aktivitas untuk desain tablet, namun dipisahkan untuk
 desain handset.</p>
 
 <p>Misalnya&mdash;untuk melanjutkan contoh aplikasi berita&mdash; aplikasi bisa menanamkan
 dua fragmen dalam <em>Aktivitas A</em>, saat berjalan pada perangkat berukuran tablet. Akan tetapi, pada
-layar berukuran handset, ruang untuk kedua fragmen tidak cukup, sehingga <em>Aktivitas A</em> hanya 
-menyertakan fragmen untuk daftar artikel, dan saat pengguna memilih artikel, 
-<em>Aktivitas B</em> akan dimulai, termasuk fragmen kedua untuk membaca artikel. Sehingga, aplikasi mendukung 
+layar berukuran handset, ruang untuk kedua fragmen tidak cukup, sehingga <em>Aktivitas A</em> hanya
+menyertakan fragmen untuk daftar artikel, dan saat pengguna memilih artikel,
+<em>Aktivitas B</em> akan dimulai, termasuk fragmen kedua untuk membaca artikel. Sehingga, aplikasi mendukung
 tablet dan handset dengan menggunakan kembali fragmen dalam kombinasi berbeda, seperti diilustrasikan dalam
 gambar 1.</p>
 
-<p>Untuk informasi selengkapnya tentang mendesain aplikasi menggunakan kombinasi fragmen berbeda 
+<p>Untuk informasi selengkapnya tentang mendesain aplikasi menggunakan kombinasi fragmen berbeda
 untuk konfigurasi layar berbeda, lihat panduan untuk <a href="{@docRoot}guide/practices/tablets-and-handsets.html">Mendukung Tablet dan Handset</a>.</p>
 
 
@@ -131,26 +131,26 @@
  aktivitasnya berjalan).</p>
 </div>
 
-<p>Untuk membuat fragmen, Anda harus membuat subkelas {@link android.app.Fragment} (atau 
-subkelasnya yang ada). Kelas {@link android.app.Fragment} memiliki kode yang mirip seperti 
+<p>Untuk membuat fragmen, Anda harus membuat subkelas {@link android.app.Fragment} (atau
+subkelasnya yang ada). Kelas {@link android.app.Fragment} memiliki kode yang mirip seperti
 {@link android.app.Activity}. Kelas ini memiliki metode callback yang serupa dengan aktivitas, seperti
  {@link android.app.Fragment#onCreate onCreate()}, {@link android.app.Fragment#onStart onStart()},
 {@link android.app.Fragment#onPause onPause()}, dan {@link android.app.Fragment#onStop onStop()}. Sebenarnya
 , jika Anda mengkonversi aplikasi Android saat ini untuk menggunakan fragmen, Anda mungkin cukup memindahkan
-kode dari metode callback aktivitas ke masing-masing metode callback 
+kode dari metode callback aktivitas ke masing-masing metode callback
 fragmen.</p>
 
 <p>Biasanya, Anda harus mengimplementasikan setidaknya metode daur hidup berikut ini:</p>
 
 <dl>
   <dt>{@link android.app.Fragment#onCreate onCreate()}</dt>
-  <dd>Sistem akan memanggilnya saat membuat fragmen. Dalam implementasi, Anda harus 
-menginisialisasi komponen penting dari fragmen yang ingin dipertahankan saat fragmen 
+  <dd>Sistem akan memanggilnya saat membuat fragmen. Dalam implementasi, Anda harus
+menginisialisasi komponen penting dari fragmen yang ingin dipertahankan saat fragmen
 dihentikan sementara atau dihentikan, kemudian dilanjutkan.</dd>
   <dt>{@link android.app.Fragment#onCreateView onCreateView()}</dt>
-  <dd>Sistem akan memanggilnya saat fragmen menggambar antarmuka penggunanya 
-untuk yang pertama kali. Untuk menggambar UI fragmen, Anda harus mengembalikan {@link android.view.View} dari metode 
-ini yang menjadi akar layout fragmen. Hasil yang dikembalikan bisa berupa null jika 
+  <dd>Sistem akan memanggilnya saat fragmen menggambar antarmuka penggunanya
+untuk yang pertama kali. Untuk menggambar UI fragmen, Anda harus mengembalikan {@link android.view.View} dari metode
+ini yang menjadi akar layout fragmen. Hasil yang dikembalikan bisa berupa null jika
 fragmen tidak menyediakan UI.</dd>
   <dt>{@link android.app.Activity#onPause onPause()}</dt>
   <dd>Sistem akan memanggil metode ini sebagai indikasi pertama bahwa pengguna sedang meninggalkan
@@ -161,7 +161,7 @@
 
 <p>Kebanyakan aplikasi harus mengimplementasikan setidaknya tiga metode ini untuk setiap fragmen, namun ada
 beberapa metode callback lain yang juga harus Anda gunakan untuk menangani berbagai tahap
-daur hidup fragmen. Semua metode callback daur hidup akan dibahas secara lebih detail, di bagian 
+daur hidup fragmen. Semua metode callback daur hidup akan dibahas secara lebih detail, di bagian
 tentang <a href="#Lifecycle">Menangani Daur Hidup Fragmen</a>.</p>
 
 
@@ -171,15 +171,15 @@
 <dl>
   <dt>{@link android.app.DialogFragment}</dt>
   <dd>Menampilkan dialog mengambang. Penggunaan kelas ini untuk membuat dialog merupakan alternatif yang baik dari
-penggunaan metode helper dialog di kelas {@link android.app.Activity}, karena Anda bisa 
-menyatukan dialog fragmen ke dalam back-stack fragmen yang dikelola oleh aktivitas, 
+penggunaan metode helper dialog di kelas {@link android.app.Activity}, karena Anda bisa
+menyatukan dialog fragmen ke dalam back-stack fragmen yang dikelola oleh aktivitas,
 sehingga pengguna bisa kembali ke fragmen yang ditinggalkan.</dd>
 
   <dt>{@link android.app.ListFragment}</dt>
   <dd>Menampilkan daftar item yang dikelola oleh adaptor (seperti {@link
 android.widget.SimpleCursorAdapter}), serupa dengan {@link android.app.ListActivity}. Menampilkan
 beberapa metode pengelolaan daftar tampilan seperti callback {@link
-android.app.ListFragment#onListItemClick(ListView,View,int,long) onListItemClick()} untuk 
+android.app.ListFragment#onListItemClick(ListView,View,int,long) onListItemClick()} untuk
 menangani kejadian klik.</dd>
 
   <dt>{@link android.preference.PreferenceFragment}</dt>
@@ -196,7 +196,7 @@
 
 <p>Untuk menyediakan layout fragmen, Anda harus mengimplementasikan metode callback {@link
 android.app.Fragment#onCreateView onCreateView()}, yang dipanggil sistem Android
-bila tiba saatnya fragmen menggambar layoutnya. Implementasi Anda atas metode ini harus mengembalikan 
+bila tiba saatnya fragmen menggambar layoutnya. Implementasi Anda atas metode ini harus mengembalikan
 {@link android.view.View} yang menjadi akar layout fragmen.</p>
 
 <p class="note"><strong>Catatan:</strong> Jika fragmen adalah subkelas {@link
@@ -205,7 +205,7 @@
 
 <p>Untuk mengembalikan layout dari {@link
 android.app.Fragment#onCreateView onCreateView()}, Anda bisa memekarkannya dari <a href="{@docRoot}guide/topics/resources/layout-resource.html">sumber daya layout</a> yang didefinisikan di XML. Untuk
-membantu melakukannya, {@link android.app.Fragment#onCreateView onCreateView()} menyediakan objek 
+membantu melakukannya, {@link android.app.Fragment#onCreateView onCreateView()} menyediakan objek
 {@link android.view.LayoutInflater}.</p>
 
 <p>Misalnya, ini adalah subkelas {@link android.app.Fragment} yang memuat layout dari file
@@ -227,7 +227,7 @@
   <h3>Membuat layout</h3>
   <p>Dalam contoh di atas, {@code R.layout.example_fragment} merupakan acuan ke sumber daya layout
 bernama {@code example_fragment.xml} yang tersimpan dalam sumber daya aplikasi. Untuk informasi tentang cara
-membuat layout di XML, lihat dokumentasi 
+membuat layout di XML, lihat dokumentasi
 <a href="{@docRoot}guide/topics/ui/index.html">Antarmuka Pengguna</a>.</p>
 </div>
 </div>
@@ -235,12 +235,12 @@
 <p>Parameter {@code container} yang diteruskan ke {@link android.app.Fragment#onCreateView
 onCreateView()} adalah induk {@link android.view.ViewGroup} (dari layout aktivitas) tempat
 layout fragmen
-akan disisipkan. Parameter {@code savedInstanceState} adalah {@link android.os.Bundle} yang 
+akan disisipkan. Parameter {@code savedInstanceState} adalah {@link android.os.Bundle} yang
 menyediakan data tentang instance fragmen sebelumnya, jika fragmen dilanjutkan
 (status pemulihan dibahas selengkapnya di bagian tentang <a href="#Lifecycle">Menangani
 Daur Hidup Fragmen</a>).</p>
 
-<p>Metode {@link android.view.LayoutInflater#inflate(int,ViewGroup,boolean) inflate()} membutuhkan 
+<p>Metode {@link android.view.LayoutInflater#inflate(int,ViewGroup,boolean) inflate()} membutuhkan
 tiga argumen:</p>
 <ul>
   <li>ID sumber daya layout yang ingin dimekarkan.</li>
@@ -260,7 +260,7 @@
 
 <h3 id="Adding">Menambahkan fragmen ke aktivitas</h3>
 
-<p>Biasanya, fragmen berkontribusi pada sebagian UI ke aktivitas host, yang ditanamkan sebagai 
+<p>Biasanya, fragmen berkontribusi pada sebagian UI ke aktivitas host, yang ditanamkan sebagai
 bagian dari hierarki tampilan keseluruhan aktivitas. Ada dua cara untuk menambahkan fragmen ke layout
 aktivitas:</p>
 
@@ -297,13 +297,13 @@
 
 <div class="note">
   <p><strong>Catatan:</strong> Setiap fragmen memerlukan identifier
-unik yang bisa digunakan sistem untuk memulihkan fragmen jika aktivitas dimulai kembali (dan identifier yang bisa digunakan menangkap 
+unik yang bisa digunakan sistem untuk memulihkan fragmen jika aktivitas dimulai kembali (dan identifier yang bisa digunakan menangkap
 fragmen untuk melakukan transaksi, seperti menghapusnya). Ada tiga cara untuk memberikan
 ID bagi fragmen:</p>
   <ul>
     <li>Memberikan atribut {@code android:id} bersama ID unik.</li>
     <li>Memberikan atribut {@code android:tag} bersama string unik.</li>
-    <li>Jika Anda tidak memberikan dua hal tersebut, sistem akan menggunakan ID 
+    <li>Jika Anda tidak memberikan dua hal tersebut, sistem akan menggunakan ID
 tampilan kontainer.</li>
   </ul>
 </div>
@@ -354,15 +354,15 @@
 dalam layout aktivitas, ini tidak akan menerima panggilan ke {@link
 android.app.Fragment#onCreateView onCreateView()}. Jadi Anda tidak perlu mengimplementasikan metode itu.</p>
 
-<p>Menyediakan tag string untuk fragmen tidak hanya untuk fragmen non-UI&mdash;Anda juga bisa 
+<p>Menyediakan tag string untuk fragmen tidak hanya untuk fragmen non-UI&mdash;Anda juga bisa
 menyediakan tag string untuk fragmen yang memiliki UI&mdash;namun jika fragmen tidak memiliki UI
-, maka tag string adalah satu-satunya cara untuk mengidentifikasinya. Jika Anda ingin mendapatkan fragmen dari 
+, maka tag string adalah satu-satunya cara untuk mengidentifikasinya. Jika Anda ingin mendapatkan fragmen dari
 aktivitas nantinya, Anda perlu menggunakan {@link android.app.FragmentManager#findFragmentByTag
 findFragmentByTag()}.</p>
 
 <p>Untuk contoh aktivitas yang menggunakan fragmen sebagai pekerja latar belakang, tanpa UI, lihat sampel {@code
-FragmentRetainInstance.java}, yang disertakan dalam sampel SDK (tersedia melalui 
-Android SDK Manager) dan terletak di sistem Anda sebagai 
+FragmentRetainInstance.java}, yang disertakan dalam sampel SDK (tersedia melalui
+Android SDK Manager) dan terletak di sistem Anda sebagai
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>.</p>
 
 
@@ -378,7 +378,7 @@
   <li>Dapatkan fragmen yang ada di aktivitas dengan {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (untuk fragmen yang menyediakan UI dalam
 layout aktivitas) atau {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()} (untuk fragmen yang menyediakan atau tidak menyediakan UI).</li> 
+findFragmentByTag()} (untuk fragmen yang menyediakan atau tidak menyediakan UI).</li>
   <li>Tarik fragmen dari back-stack, dengan {@link
 android.app.FragmentManager#popBackStack()} (mensimulasikan perintah <em>Back</em> oleh pengguna).</li>
   <li>Daftarkan listener untuk perubahan pada back-stack, dengan {@link
@@ -395,7 +395,7 @@
 
 <h2 id="Transactions">Melakukan Transaksi Fragmen</h2>
 
-<p>Fitur menarik terkait penggunaan fragmen di aktivitas adalah kemampuan menambah, menghapus, mengganti, 
+<p>Fitur menarik terkait penggunaan fragmen di aktivitas adalah kemampuan menambah, menghapus, mengganti,
 dan melakukan tindakan lain dengannya, sebagai respons atas interaksi pengguna. Setiap set perubahan
 yang Anda lakukan untuk aktivitas disebut transaksi dan Anda bisa melakukan transaksi menggunakan API di {@link
 android.app.FragmentTransaction}. Anda juga bisa menyimpan setiap transaksi ke back-stack yang dikelola
@@ -423,7 +423,7 @@
 ke back-stack dari transaksi fragmen. Back-stack ini dikelola oleh aktivitas dan memungkinkan
 pengguna kembali ke status fragmen sebelumnya, dengan menekan tombol <em>Back</em>.</p>
 
-<p>Misalnya, berikut ini cara mengganti satu fragmen dengan yang fragmen yang lain, dan mempertahankan 
+<p>Misalnya, berikut ini cara mengganti satu fragmen dengan yang fragmen yang lain, dan mempertahankan
 status sebelumnya di back-stack:</p>
 
 <pre>
@@ -442,18 +442,18 @@
 
 <p>Dalam contoh ini, {@code newFragment} menggantikan fragmen apa saja (jika ada) yang saat ini berada dalam
 kontainer layout yang diidentifikasi oleh ID {@code R.id.fragment_container}. Dengan memanggil @link
-android.app.FragmentTransaction#addToBackStack addToBackStack()}, transaksi yang diganti 
-disimpan ke back-stack sehingga pengguna bisa membalikkan transaksi dan mengembalikan fragmen 
+android.app.FragmentTransaction#addToBackStack addToBackStack()}, transaksi yang diganti
+disimpan ke back-stack sehingga pengguna bisa membalikkan transaksi dan mengembalikan fragmen
 sebelumnya dengan menekan tombol <em>Back</em>.</p>
 
 <p>Jika Anda menambahkan beberapa perubahan pada transaksi (seperti {@link
 android.app.FragmentTransaction#add add()} atau {@link android.app.FragmentTransaction#remove
 remove()}) dan panggil {@link
-android.app.FragmentTransaction#addToBackStack addToBackStack()}, maka semua perubahan akan diterapkan 
-sebelum Anda memanggil {@link android.app.FragmentTransaction#commit commit()} akan ditambahkan ke 
+android.app.FragmentTransaction#addToBackStack addToBackStack()}, maka semua perubahan akan diterapkan
+sebelum Anda memanggil {@link android.app.FragmentTransaction#commit commit()} akan ditambahkan ke
 back-stack sebagai satu transaksi dan tombol <em>Back</em> akan membalikannya semua.</p>
 
-<p>Urutan menambahkan perubahan pada {@link android.app.FragmentTransaction} tidak berpengaruh, 
+<p>Urutan menambahkan perubahan pada {@link android.app.FragmentTransaction} tidak berpengaruh,
 kecuali:</p>
 <ul>
   <li>Anda harus memanggil {@link android.app.FragmentTransaction#commit()} paling akhir</li>
@@ -462,9 +462,9 @@
 </ul>
 
 <p>Jika Anda tidak memanggil {@link android.app.FragmentTransaction#addToBackStack(String)
-addToBackStack()} saat melakukan transaksi yang menghapus fragmen, maka fragmen itu 
+addToBackStack()} saat melakukan transaksi yang menghapus fragmen, maka fragmen itu
 akan dimusnahkan bila transaksi diikat dan pengguna tidak bisa mengarah kembali ke sana. Sedangkan, jika
-Anda memanggil {@link android.app.FragmentTransaction#addToBackStack(String) addToBackStack()} saat 
+Anda memanggil {@link android.app.FragmentTransaction#addToBackStack(String) addToBackStack()} saat
 menghapus fragmen, maka fragmen itu akan <em>dihentikan</em> dan akan dilanjutkan jika pengguna mengarah
 kembali.</p>
 
@@ -473,9 +473,9 @@
 mengikatnya.</p>
 
 <p>Memanggil {@link android.app.FragmentTransaction#commit()} tidak akan langsung menjalankan
-transaksi. Namun sebuah jadwal akan dibuat untuk dijalankan pada thread UI aktivitas (thread "utama") 
+transaksi. Namun sebuah jadwal akan dibuat untuk dijalankan pada thread UI aktivitas (thread "utama")
 begitu thread bisa melakukannya. Akan tetapi, jika perlu Anda bisa memanggil {@link
-android.app.FragmentManager#executePendingTransactions()} dari thread UI untuk segera 
+android.app.FragmentManager#executePendingTransactions()} dari thread UI untuk segera
 mengeksekusi transaksi yang diserahkan oleh {@link android.app.FragmentTransaction#commit()}. Hal itu
 biasanya tidak perlu kecuali jika transaksi merupakan dependensi bagi pekerjaan dalam thread lain.</p>
 
@@ -503,7 +503,7 @@
 View listView = {@link android.app.Fragment#getActivity()}.{@link android.app.Activity#findViewById findViewById}(R.id.list);
 </pre>
 
-<p>Demikian pula, aktivitas Anda bisa memanggil metode di fragmen dengan meminta acuan ke 
+<p>Demikian pula, aktivitas Anda bisa memanggil metode di fragmen dengan meminta acuan ke
 {@link android.app.Fragment} dari {@link android.app.FragmentManager}, menggunakan {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} atau {@link
 android.app.FragmentManager#findFragmentByTag findFragmentByTag()}. Misalnya:</p>
@@ -537,7 +537,7 @@
 </pre>
 
 <p>Selanjutnya aktivitas yang menjadi host fragmen akan mengimplementasikan antarmuka {@code OnArticleSelectedListener}
- dan 
+ dan
 mengesampingkan {@code onArticleSelected()} untuk memberi tahu fragmen B mengenai kejadian dari fragmen A. Untuk memastikan
 bahwa aktivitas host mengimplementasikan antarmuka ini, metode callback fragmen A {@link
 android.app.Fragment#onAttach onAttach()} (yang dipanggil sistem saat menambahkan
@@ -564,7 +564,7 @@
 
 <p>Jika aktivitas belum mengimplementasikan antarmuka, maka fragmen akan melontarkan
 {@link java.lang.ClassCastException}.
-Jika berhasil, anggota {@code mListener} yang menyimpan acuan ke implementasi aktivitas 
+Jika berhasil, anggota {@code mListener} yang menyimpan acuan ke implementasi aktivitas
 {@code OnArticleSelectedListener}, sehingga fragmen A bisa berbagi kejadian dengan aktivitas, dengan memanggil metode
 yang didefinisikan oleh antarmuka {@code OnArticleSelectedListener}. Misalnya, jika fragmen A adalah
 ekstensi dari {@link android.app.ListFragment}, maka setiap kali
@@ -654,7 +654,7 @@
   <dt><i>Dihentikan</i></dt>
     <dd>Fragmen tidak terlihat. Aktivitas host telah dihentikan atau
 fragmen telah dihapus dari aktivitas namun ditambahkan ke back-stack. Fragmen yang dihentikan
-masih hidup (semua status dan informasi anggota masih disimpan oleh sistem). Akan tetapi, fragmen 
+masih hidup (semua status dan informasi anggota masih disimpan oleh sistem). Akan tetapi, fragmen
 tidak terlihat lagi oleh pengguna dan akan dimatikan jika aktivitas dimatikan.</dd>
 </dl>
 
@@ -668,10 +668,10 @@
 status, lihat dokumen <a href="{@docRoot}guide/components/activities.html#SavingActivityState">Aktivitas</a>
 .</p>
 
-<p>Perbedaan paling signifikan dalam daur hidup antara aktivitas dan fragmen ada 
+<p>Perbedaan paling signifikan dalam daur hidup antara aktivitas dan fragmen ada
 pada cara penyimpanannya dalam back-stack masing-masing. Aktivitas ditempatkan ke back-stack aktivitas
 yang dikelola oleh sistem saat dihentikan, secara default (sehingga pengguna bisa mengarah kembali
-ke aktivitas dengan tombol <em>Back</em>, seperti yang dibahas dalam <a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tugas dan Back-Stack</a>). 
+ke aktivitas dengan tombol <em>Back</em>, seperti yang dibahas dalam <a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tugas dan Back-Stack</a>).
 Akan tetapi, fragmen yang ditempatkan ke back-stack dikelola oleh aktivitas host hanya saat
 Anda secara eksplisit meminta agar instance disimpan dengan memanggil {@link
 android.app.FragmentTransaction#addToBackStack(String) addToBackStack()} selama transaksi yang
@@ -736,7 +736,7 @@
 <p>Untuk merangkum semua yang telah dibahas dalam dokumen ini, berikut ini contoh aktivitas
 yang menggunakan dua fragmen untuk membuat layout dua panel. Aktivitas di bawah ini menyertakan satu fragmen untuk
 menampilkan daftar putar Shakespeare dan fragmen lainnya menampilkan rangkuman pemutaran bila dipilih dari
-daftar. Aktivitas ini juga menunjukkan cara menyediakan konfigurasi fragmen berbeda, 
+daftar. Aktivitas ini juga menunjukkan cara menyediakan konfigurasi fragmen berbeda,
 berdasarkan konfigurasi layar.</p>
 
 <p class="note"><strong>Catatan:</strong> Kode sumber lengkap untuk aktivitas ini tersedia di
@@ -752,7 +752,7 @@
 
 {@sample development/samples/ApiDemos/res/layout-land/fragment_layout.xml layout}
 
-<p>Dengan layout ini, sistem akan membuat instance {@code TitlesFragment} (yang mencantumkan 
+<p>Dengan layout ini, sistem akan membuat instance {@code TitlesFragment} (yang mencantumkan
 judul) segera setelah aktivitas memuat layout, sementara {@link android.widget.FrameLayout}
  (lokasi penempatan fragmen untuk menampilkan rangkuman pemutaran) menempati ruang di sisi kanan
 layar, namun pada awalnya masih kosong. Seperti yang akan Anda lihat di bawah ini, sampai pengguna memilih item
@@ -769,14 +769,14 @@
 
 <p>Layout ini hanya menyertakan {@code TitlesFragment}. Ini artinya saat perangkat berada dalam
 orientasi tegak, hanya judul daftar putar yang terlihat. Jadi, saat pengguna mengklik item
-daftar dalam konfigurasi ini, aplikasi akan memulai aktivitas baru untuk menampilkan rangkuman, 
+daftar dalam konfigurasi ini, aplikasi akan memulai aktivitas baru untuk menampilkan rangkuman,
 sebagai ganti pemuatan fragmen kedua.</p>
 
 <p>Berikutnya, Anda bisa melihat bagaimana hal ini dilakukan dalam kelas fragmen. Pertama adalah {@code
 TitlesFragment}, yang menampilkan judul daftar putar Shakespeare. Fragmen ini membuat ekstensi {@link
 android.app.ListFragment} dan mengandalkannya itu untuk menangani sebagian besar pekerjaan tampilan daftar.</p>
 
-<p>Saat Anda memeriksa kode ini, perhatikan bahwa ada dua kemungkinan perilaku saat pengguna mengklik 
+<p>Saat Anda memeriksa kode ini, perhatikan bahwa ada dua kemungkinan perilaku saat pengguna mengklik
 item daftar: bergantung pada layout mana yang aktif, bisa membuat dan menampilkan fragmen
 baru untuk menampilkan detail dalam aktivitas yang sama (menambahkan fragmen ke {@link
 android.widget.FrameLayout}), atau memulai aktivitas baru (tempat fragmen ditampilkan).</p>
@@ -785,11 +785,11 @@
 
 <p>Fragmen kedua, {@code DetailsFragment} menampilkan rangkuman pemutaran untuk item yang dipilih dari
 daftar dari {@code TitlesFragment}:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>Ingatlah dari kelas {@code TitlesFragment}, bahwa, jika pengguna mengklik item daftar dan
-layout saat ini <em>tidak</em> menyertakan tampilan {@code R.id.details} (yaitu tempat 
+layout saat ini <em>tidak</em> menyertakan tampilan {@code R.id.details} (yaitu tempat
 {@code DetailsFragment} berada), maka aplikasi memulai aktivitas {@code DetailsActivity}
 untuk menampilkan konten item.</p>
 
@@ -798,14 +798,14 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>Perhatikan bahwa aktivitas ini selesai sendiri jika konfigurasi mendatar, sehingga aktivitas utama
 bisa mengambil alih dan menampilkan {@code DetailsFragment} bersama {@code TitlesFragment}.
 Ini bisa terjadi jika pengguna memulai {@code DetailsActivity} saat dalam orientasi tegak, namun kemudian
 memutarnya menjadi mendatar (yang akan memulai lagi aktivitas saat ini).</p>
 
 
-<p>Untuk contoh lainnya mengenai penggunaan fragmen (dan file sumber lengkap untuk contoh ini), 
+<p>Untuk contoh lainnya mengenai penggunaan fragmen (dan file sumber lengkap untuk contoh ini),
 lihat aplikasi contoh Demo API yang tersedia di <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/index.html#Fragment">
 ApiDemos</a> (bisa diunduh dari <a href="{@docRoot}resources/samples/get.html">Komponen contoh SDK</a>).</p>
 
diff --git a/docs/html-intl/intl/in/guide/components/fundamentals.jd b/docs/html-intl/intl/in/guide/components/fundamentals.jd
index bd9a500f..2c925e9 100644
--- a/docs/html-intl/intl/in/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/in/guide/components/fundamentals.jd
@@ -22,44 +22,44 @@
 </div>
 </div>
 
-<p>Aplikasi Android ditulis dalam bahasa pemrograman Java. Android SDK Tools mengkompilasi 
+<p>Aplikasi Android ditulis dalam bahasa pemrograman Java. Android SDK Tools mengkompilasi
 kode Anda&mdash;bersama data dan file sumber daya &mdash;ke dalam APK: <i>Paket Android</i>,
-yaitu file arsip berekstensi {@code .apk}. Satu file APK berisi semua konten 
+yaitu file arsip berekstensi {@code .apk}. Satu file APK berisi semua konten
 aplikasi Android dan merupakan file yang digunakan perangkat berbasis Android untuk menginstal aplikasi.</p>
 
 <p>Setelah diinstal di perangkat, setiap aplikasi Android tinggal di sandbox keamanannya sendiri: </p>
 
 <ul>
- <li>Sistem operasi Android merupakan sistem Linux multi-pengguna yang di dalamnya setiap 
+ <li>Sistem operasi Android merupakan sistem Linux multi-pengguna yang di dalamnya setiap
 aplikasi adalah pengguna berbeda.</li>
 
 <li>Secara default, sistem menetapkan ID pengguna Linux unik kepada setiap aplikasi (ID ini hanya
  digunakan oleh sistem dan tidak diketahui aplikasi). Sistem menetapkan izin
 bagi semua file dalam aplikasi sehingga hanya ID pengguna yang diizinkan yang bisa mengaksesnya. </li>
 
-<li>Setiap proses memiliki mesin virtual (VM) sendiri, sehingga kode aplikasi yang berjalan secara terisolasi dari 
+<li>Setiap proses memiliki mesin virtual (VM) sendiri, sehingga kode aplikasi yang berjalan secara terisolasi dari
 aplikasi lainnya.</li>
 
-<li>Secara default, setiap aplikasi berjalan dalam proses Linux-nya sendiri. Android memulai proses 
+<li>Secara default, setiap aplikasi berjalan dalam proses Linux-nya sendiri. Android memulai proses
 bila ada komponen aplikasi yang perlu dijalankan, kemudian mematikan proses bila tidak lagi diperlukan
 atau bila sistem harus memulihkan memori untuk digunakan aplikasi lain.</li>
 </ul>
 
-<p>Dengan cara ini, sistem Android mengimplementasikan <em>prinsip privilese minim</em>. Ini berarti, 
+<p>Dengan cara ini, sistem Android mengimplementasikan <em>prinsip privilese minim</em>. Ini berarti,
 secara default aplikasi hanya memiliki akses ke komponen yang diperlukannya untuk melakukan pekerjaannya dan
-tidak lebih dari itu. Hal ini menghasilkan lingkungan yang sangat aman sehingga aplikasi tidak bisa mengakses bagian 
+tidak lebih dari itu. Hal ini menghasilkan lingkungan yang sangat aman sehingga aplikasi tidak bisa mengakses bagian
 sistem bila tidak diberi izin.</p>
 
 <p>Akan tetapi, ada beberapa cara bagi aplikasi untuk berbagi data dengan aplikasi lain dan bagi aplikasi
 untuk mengakses layanan sistem:</p>
 
 <ul>
-  <li>Dua aplikasi bisa diatur untuk menggunakan ID pengguna Linux yang sama, 
+  <li>Dua aplikasi bisa diatur untuk menggunakan ID pengguna Linux yang sama,
 dalam hal ini keduanya bisa saling mengakses file masing-masing.  Untuk menghemat sumber daya sistem, aplikasi dengan ID
 pengguna yang sama juga bisa diatur agar berjalan dalam proses Linux yang sama dan menggunakan VM yang sama (
 aplikasi juga harus ditandatangani dengan sertifikat yang sama).</li>
-  <li>Aplikasi bisa meminta izin akses ke data perangkat seperti kontak 
-pengguna, pesan SMS, penyimpanan lepas-pasang (kartu SD), kamera, Bluetooth, dan lainnya. Semua 
+  <li>Aplikasi bisa meminta izin akses ke data perangkat seperti kontak
+pengguna, pesan SMS, penyimpanan lepas-pasang (kartu SD), kamera, Bluetooth, dan lainnya. Semua
 izin aplikasi harus diberikan oleh pengguna saat menginstal.</li>
 </ul>
 
@@ -69,7 +69,7 @@
   <li>Komponen kerangka kerja inti yang mendefinisikan aplikasi.</li>
   <li>File manifes tempat Anda mendeklarasikan komponen dan fitur yang diperlukan perangkat
 untuk aplikasi.</li>
-  <li>Sumber daya yang terpisah dari kode aplikasi dan memungkinkan 
+  <li>Sumber daya yang terpisah dari kode aplikasi dan memungkinkan
 aplikasi mengoptimalkan perilakunya untuk beragam konfigurasi perangkat.</li>
 </ul>
 
@@ -78,8 +78,8 @@
 <h2 id="Components">Komponen Aplikasi</h2>
 
 <p>Komponen aplikasi adalah blok pembangun penting dari aplikasi Android.
-Setiap komponen merupakan titik berbeda yang digunakan sistem untuk memasuki aplikasi. Tidak semua komponen 
-merupakan titik masuk sebenarnya bagi pengguna dan sebagian saling bergantung, namun masing-masing komponen tersedia 
+Setiap komponen merupakan titik berbeda yang digunakan sistem untuk memasuki aplikasi. Tidak semua komponen
+merupakan titik masuk sebenarnya bagi pengguna dan sebagian saling bergantung, namun masing-masing komponen tersedia
 sebagai kesatuan sendiri dan memainkan peran tertentu&mdash;masing-masing merupakan
 blok pembangun unik yang mendefinisikan perilaku aplikasi secara keseluruhan.</p>
 
@@ -93,7 +93,7 @@
 <dt><b>Aktivitas</b></dt>
 
 <dd>Sebuah <i>aktivitas</i> mewakili satu layar dengan antarmuka pengguna. Misalnya,
-aplikasi email mungkin memiliki satu aktivitas yang menampilkan daftar email 
+aplikasi email mungkin memiliki satu aktivitas yang menampilkan daftar email
 baru, aktivitas lain untuk menulis email, dan aktivitas satunya lagi untuk membaca email. Walaupun
 semua aktivitas bekerja sama untuk membentuk pengalaman pengguna yang kohesif dalam aplikasi email,
 masing-masing tidak saling bergantung. Karenanya, aplikasi berbeda bisa memulai
@@ -110,7 +110,7 @@
 
 <dd>Sebuah <i>layanan</i> adalah komponen yang berjalan di latar belakang untuk melakukan
 operasi yang berjalan lama atau untuk melakukan pekerjaan bagi proses jarak jauh. Layanan
-tidak menyediakan antarmuka pengguna. Misalnya, sebuah layanan bisa memutar musik di latar belakang sementara 
+tidak menyediakan antarmuka pengguna. Misalnya, sebuah layanan bisa memutar musik di latar belakang sementara
 pengguna berada dalam aplikasi lain, atau layanan bisa menarik data lewat jaringan tanpa
 memblokir interaksi pengguna dengan aktivitas. Komponen lain, seperti aktivitas, bisa memulai
 layanan dan membiarkannya berjalan atau mengikat layanan untuk berinteraksi dengannya.
@@ -125,7 +125,7 @@
 
 <dd>Sebuah <i>penyedia konten</i> mengelola seperangkat data-bersama aplikasi. Anda bisa menyimpan data
 dalam sistem file, database SQLite, di web, atau lokasi penyimpanan permanen lainnya
-yang bisa diakses aplikasi. Melalui penyedia konten, aplikasi lain bisa melakukan query atau bahkan 
+yang bisa diakses aplikasi. Melalui penyedia konten, aplikasi lain bisa melakukan query atau bahkan
 memodifikasi data (jika penyedia konten mengizinkannya). Misalnya, sistem Android menyediakan penyedia
 konten yang mengelola informasi kontak pengguna. Karenanya, setiap aplikasi
 dengan izin yang sesuai bisa melakukan query mengenai bagian dari penyedia konten (seperti {@link
@@ -137,7 +137,7 @@
 
 <p>Penyedia konten diimplementasikan sebagai subkelas {@link android.content.ContentProvider}
 dan harus mengimplementasikan seperangkat standar API yang memungkinkan aplikasi
-lain melakukan transaksi. Untuk informasi selengkapnya, lihat panduan pengembang 
+lain melakukan transaksi. Untuk informasi selengkapnya, lihat panduan pengembang
 <a href="{@docRoot}guide/topics/providers/content-providers.html">Penyedia Konten</a>.</p>
 </dd>
 
@@ -163,7 +163,7 @@
 
 
 
-<p>Aspek unik dari desain sistem Android adalah aplikasi mana pun bisa memulai 
+<p>Aspek unik dari desain sistem Android adalah aplikasi mana pun bisa memulai
 komponen aplikasi lain. Misalnya, jika Anda menginginkan pengguna mengambil
 foto dengan kamera perangkat, bisa saja aplikasi lain yang melakukannya dan aplikasi
 Anda bisa menggunakannya, sebagai ganti mengembangkan aktivitas sendiri untuk mengambil foto. Anda tidak
@@ -175,7 +175,7 @@
 <p>Saat sistem memulai komponen, sistem akan memulai proses untuk aplikasi itu (jika
 belum berjalan) dan membuat instance kelas yang diperlukan untuk komponen. Misalnya, jika aplikasi Anda
 memulai aktivitas dalam aplikasi kamera yang mengambil foto, aktivitas itu akan
-berjalan dalam proses yang dimiliki oleh aplikasi kamera, bukan dalam proses aplikasi Anda. 
+berjalan dalam proses yang dimiliki oleh aplikasi kamera, bukan dalam proses aplikasi Anda.
 Karenanya, tidak seperti aplikasi di sebagian besar sistem lain, aplikasi Android tidak memiliki titik
 masuk tunggal (misalnya tidak ada fungsi {@code main()}).</p>
 
@@ -198,13 +198,13 @@
 mengaktifkan komponen tertentu atau komponen <em>tipe</em> komponen tertentu&mdash;masing-masing intent
 bisa eksplisit atau implisit.</p>
 
-<p>Untuk aktivitas dan layanan, intent mendefinisikan tindakan yang akan dilakukan (misalnya, untuk "melihat" atau 
-"mengirim" sesuatu) dan mungkin menetapkan URI data untuk ditindaklanjuti (salah satu hal yang mungkin perlu diketahui 
-oleh komponen yang akan dimulai). Misalnya, intent mungkin menyampaikan permintaan suatu 
+<p>Untuk aktivitas dan layanan, intent mendefinisikan tindakan yang akan dilakukan (misalnya, untuk "melihat" atau
+"mengirim" sesuatu) dan mungkin menetapkan URI data untuk ditindaklanjuti (salah satu hal yang mungkin perlu diketahui
+oleh komponen yang akan dimulai). Misalnya, intent mungkin menyampaikan permintaan suatu
 aktivitas untuk menampilkan gambar atau membuka halaman web. Dalam beberapa kasus, Anda bisa memulai
-aktivitas untuk menerima hasil, dalam hal ini, aktivitas juga akan mengembalikan hasil 
+aktivitas untuk menerima hasil, dalam hal ini, aktivitas juga akan mengembalikan hasil
 dalam {@link android.content.Intent} (misalnya Anda bisa mengeluarkan intent agar
-pengguna bisa memilih kontak pribadi dan memintanya dikembalikan kepada Anda&mdash;intent yang dikembalikan menyertakan URI yang 
+pengguna bisa memilih kontak pribadi dan memintanya dikembalikan kepada Anda&mdash;intent yang dikembalikan menyertakan URI yang
 menunjuk ke kontak yang dipilih).</p>
 
 <p>Untuk penerima siaran, intent hanya mendefinisikan
@@ -213,18 +213,18 @@
 
 <p>Tipe komponen lainnya dan penyedia konten, tidak diaktifkan oleh intent. Melainkan
 diaktifkan saat ditargetkan oleh permintaan dari {@link android.content.ContentResolver}. Resolver
-konten menangani semua transaksi langsung dengan penyedia konten sehingga komponen yang melakukan 
+konten menangani semua transaksi langsung dengan penyedia konten sehingga komponen yang melakukan
 transaksi dengan penyedia tidak perlu dan sebagai gantinya memanggil metode pada objek {@link
 android.content.ContentResolver}. Ini membuat lapisan abstraksi antara penyedia
 konten dan komponen yang meminta informasi (demi keamanan).</p>
 
 <p>Ada beberapa metode terpisah untuk mengaktifkan masing-masing tipe komponen:</p>
 <ul>
-  <li>Anda bisa memulai aktivitas (atau memberinya pekerjaan baru) dengan 
+  <li>Anda bisa memulai aktivitas (atau memberinya pekerjaan baru) dengan
 meneruskan {@link android.content.Intent} ke {@link android.content.Context#startActivity
 startActivity()} atau {@link android.app.Activity#startActivityForResult startActivityForResult()}
 (bila Anda ingin aktivitas mengembalikan hasil).</li>
-  <li>Anda bisa memulai layanan (atau memberikan instruksi baru ke layanan yang sedang berlangsung) dengan 
+  <li>Anda bisa memulai layanan (atau memberikan instruksi baru ke layanan yang sedang berlangsung) dengan
 meneruskan {@link android.content.Intent} ke {@link android.content.Context#startService
 startService()}. Atau Anda bisa mengikat ke layanan dengan meneruskan {@link android.content.Intent} ke
 {@link android.content.Context#bindService bindService()}.</li>
@@ -237,7 +237,7 @@
 </ul>
 
 <p>Untuk informasi selengkapnya tentang menggunakan intent, lihat dokumen <a href="{@docRoot}guide/components/intents-filters.html">Intent dan Filter
- Intent</a>. Informasi selengkapnya tentang mengaktifkan komponen 
+ Intent</a>. Informasi selengkapnya tentang mengaktifkan komponen
 tertentu juga tersedia dalam dokumen berikut: <a href="{@docRoot}guide/components/activities.html">Aktivitas</a>, <a href="{@docRoot}guide/components/services.html">Layanan</a>, {@link
 android.content.BroadcastReceiver} dan <a href="{@docRoot}guide/topics/providers/content-providers.html">Penyedia Konten</a>.</p>
 
@@ -245,7 +245,7 @@
 <h2 id="Manifest">File Manifes</h2>
 
 <p>Sebelum sistem Android bisa memulai komponen aplikasi, sistem harus mengetahui
-keberadaan komponen dengan membaca file {@code AndroidManifest.xml} aplikasi (file 
+keberadaan komponen dengan membaca file {@code AndroidManifest.xml} aplikasi (file
 "manifes"). Aplikasi Anda harus mendeklarasikan semua komponennya dalam file ini, yang harus menjadi akar
 dari direktori proyek aplikasi.</p>
 
@@ -258,8 +258,8 @@
  minimum yang diperlukan aplikasi, berdasarkan API yang digunakan aplikasi.</li>
   <li>Mendeklarasikan fitur perangkat keras dan perangkat lunak yang diperlukan aplikasi, seperti kamera,
 layanan Bluetooth, atau layar multisentuh.</li>
-  <li>Pustaka API aplikasi perlu ditautkan (selain 
-API kerangka kerja Android), seperti pustaka 
+  <li>Pustaka API aplikasi perlu ditautkan (selain
+API kerangka kerja Android), seperti pustaka
 <a href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps.</a></li>
   <li>Dan lainnya</li>
 </ul>
@@ -287,7 +287,7 @@
 aplikasi.</p>
 
 <p>Dalam elemen <code><a
-href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
+href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
 atribut {@code android:name} menetapkan nama kelas yang sepenuhnya memenuhi syarat subkelas {@link
 android.app.Activity} dan atribut {@code android:label} menetapkan string yang akan
 digunakan sebagai label yang terlihat oleh pengguna untuk aktivitas tersebut.</p>
@@ -310,12 +310,12 @@
 
 <p>Aktivitas, layanan, dan penyedia konten yang Anda sertakan dalam kode sumber, namun tidak
 dideklarasikan dalam manifes, tidak akan terlihat pada sistem dan, akibatnya, tidak pernah bisa berjalan.  Akan tetapi,
-penerima siaran 
-bisa dideklarasikan dalam manifes atau dibuat secara dinamis dalam kode (sebagai objek 
+penerima siaran
+bisa dideklarasikan dalam manifes atau dibuat secara dinamis dalam kode (sebagai objek
 {@link android.content.BroadcastReceiver}) dan didaftarkan pada sistem dengan memanggil
 {@link android.content.Context#registerReceiver registerReceiver()}.</p>
 
-<p>Untuk informasi selengkapnya tentang cara menstrukturkan file manifes untuk aplikasi Anda, 
+<p>Untuk informasi selengkapnya tentang cara menstrukturkan file manifes untuk aplikasi Anda,
 lihat dokumentasi <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">File AndroidManifest.xml</a>. </p>
 
 
@@ -379,7 +379,7 @@
 penyaringan bagi pengguna saat mereka mencari aplikasi dari perangkat.</p>
 
 <p>Misalnya, jika aplikasi memerlukan kamera dan menggunakan API yang disediakan dalam Android 2.1 (<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API Level</a> 7)
-, Anda harus mendeklarasikannya sebagai kebutuhan dalam file manifes seperti ini:</p> 
+, Anda harus mendeklarasikannya sebagai kebutuhan dalam file manifes seperti ini:</p>
 
 <pre>
 &lt;manifest ... >
@@ -390,10 +390,10 @@
 &lt;/manifest>
 </pre>
 
-<p>Sekarang, perangkat yang <em>tidak</em> memiliki kamera dan menggunakan 
+<p>Sekarang, perangkat yang <em>tidak</em> memiliki kamera dan menggunakan
 Android versi <em>lebih rendah</em> dari 2.1 tidak bisa menginstal aplikasi Anda dari Google Play.</p>
 
-<p>Akan tetapi, bisa juga mendeklarasikan bahwa aplikasi Anda menggunakan kamera, namun tidak 
+<p>Akan tetapi, bisa juga mendeklarasikan bahwa aplikasi Anda menggunakan kamera, namun tidak
 <em>mengharuskannya</em>. Dalam hal itu, aplikasi Anda harus mengatur atribut <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#required">{@code required}</a>
  ke {@code "false"} dan memeriksa saat runtime apakah
 perangkat memiliki kamera dan menonaktifkan setiap fitur kamera yang sesuai.</p>
@@ -455,11 +455,11 @@
  mengaktifkan komponen aplikasi, seperti aktivitas dan layanan, dan cara menyediakan komponen aplikasi
  untuk digunakan oleh aplikasi lain.</dd>
     <dt><a href="{@docRoot}guide/components/activities.html">Aktivitas</a></dt>
-    <dd>Informasi tentang cara membuat instance kelas {@link android.app.Activity}, 
+    <dd>Informasi tentang cara membuat instance kelas {@link android.app.Activity},
 yang menyediakan layar tersendiri dalam aplikasi bersama antarmuka pengguna.</dd>
     <dt><a href="{@docRoot}guide/topics/resources/providing-resources.html">Menyediakan Sumber Daya</a></dt>
     <dd>Informasi tentang cara aplikasi Android disusun untuk memisahkan sumber daya aplikasi dari
-kode aplikasi, termasuk cara Anda bisa menyediakan sumber daya alternatif untuk 
+kode aplikasi, termasuk cara Anda bisa menyediakan sumber daya alternatif untuk
 konfigurasi perangkat tertentu.
     </dd>
   </dl>
@@ -468,11 +468,11 @@
   <h2 class="norule">Anda juga mungkin tertarik dengan:</h2>
   <dl>
     <dt><a href="{@docRoot}guide/practices/compatibility.html">Kompatibilitas Perangkat</a></dt>
-    <dd>Informasi tentang cara kerja Android pada berbagai tipe perangkat dan 
+    <dd>Informasi tentang cara kerja Android pada berbagai tipe perangkat dan
 pengenalan mengenai cara mengoptimalkan aplikasi untuk setiap perangkat atau membatasi ketersediaan aplikasi Anda untuk
 perangkat berbeda.</dd>
     <dt><a href="{@docRoot}guide/topics/security/permissions.html">Izin Sistem</a></dt>
-    <dd>Informasi tentang cara Android membatasi akses aplikasi pada API tertentu dengan sistem izin 
+    <dd>Informasi tentang cara Android membatasi akses aplikasi pada API tertentu dengan sistem izin
 yang mengharuskan persetujuan pengguna agar aplikasi dapat menggunakan API tersebut.</dd>
   </dl>
 </div>
diff --git a/docs/html-intl/intl/in/guide/components/index.jd b/docs/html-intl/intl/in/guide/components/index.jd
index a8dd5f8..de40b22 100644
--- a/docs/html-intl/intl/in/guide/components/index.jd
+++ b/docs/html-intl/intl/in/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=Komponen Aplikasi
 page.landing=true
-page.landing.intro=Kerangka kerja aplikasi Android memungkinkan Anda membuat aplikasi yang kaya dan inovatif menggunakan seperangkat komponen yang dapat digunakan kembali. Bagian ini menjelaskan cara membangun komponen yang mendefinisikan blok pembangun aplikasi Anda dan cara menghubungkannya bersama menggunakan intent. 
-page.metaDescription=Kerangka kerja aplikasi Android memungkinkan Anda membuat aplikasi yang kaya dan inovatif menggunakan seperangkat komponen yang dapat digunakan kembali. Bagian ini menjelaskan cara membangun komponen yang mendefinisikan blok pembangun aplikasi Anda dan cara menghubungkannya bersama menggunakan intent. 
+page.landing.intro=Kerangka kerja aplikasi Android memungkinkan Anda membuat aplikasi yang kaya dan inovatif menggunakan seperangkat komponen yang dapat digunakan kembali. Bagian ini menjelaskan cara membangun komponen yang mendefinisikan blok pembangun aplikasi Anda dan cara menghubungkannya bersama menggunakan intent.
+page.metaDescription=Kerangka kerja aplikasi Android memungkinkan Anda membuat aplikasi yang kaya dan inovatif menggunakan seperangkat komponen yang dapat digunakan kembali. Bagian ini menjelaskan cara membangun komponen yang mendefinisikan blok pembangun aplikasi Anda dan cara menghubungkannya bersama menggunakan intent.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>Artikel Blog</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>Menggunakan DialogFragments</h4>
       <p>Dalam posting ini, saya akan menunjukkan cara menggunakan DialogFragments dengan pustaka dukungan v4 (untuk kompatibilitas mundur pada perangkat sebelum Honeycomb) untuk menunjukkan dialog edit sederhana dan mengembalikan hasil ke Aktivitas pemanggil menggunakan antarmuka.</p>
@@ -21,7 +21,7 @@
       <h4>Fragmen Untuk Semua</h4>
       <p>Hari ini kami telah merilis pustaka statis yang memperlihatkan API Fragment yang sama (serta LoaderManager baru dan beberapa kelas lain) agar aplikasi yang kompatibel dengan Android 1.6 atau yang lebih baru bisa menggunakan fragmen untuk membuat antarmuka pengguna yang kompatibel dengan tablet. </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>Multithreading untuk Kinerja</h4>
       <p>Praktik yang baik dalam membuat aplikasi yang responsif adalah memastikan thread UI utama Anda
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>Pelatihan</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>Mengelola Daur Hidup Aktivitas</h4>
       <p>Bagian ini menjelaskan pentingnya metode callback daur hidup yang diterima setiap instance Aktivitas
diff --git a/docs/html-intl/intl/in/guide/components/loaders.jd b/docs/html-intl/intl/in/guide/components/loaders.jd
index cd0379b..88093cc 100644
--- a/docs/html-intl/intl/in/guide/components/loaders.jd
+++ b/docs/html-intl/intl/in/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Kelas-kelas utama</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>Contoh-contoh terkait</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 dibuat kembali setelah perubahan konfigurasi. Karena itu, loader tidak perlu melakukan query ulang
 datanya.</li>
   </ul>
- 
+
 <h2 id="summary">Rangkuman Loader API</h2>
 
 <p>Ada beberapa kelas dan antarmuka yang mungkin dilibatkan dalam menggunakan
@@ -64,11 +64,11 @@
   </tr>
   <tr>
     <td>{@link android.app.LoaderManager}</td>
-    <td>Kelas abstrak yang dikaitkan dengan {@link android.app.Activity} atau 
+    <td>Kelas abstrak yang dikaitkan dengan {@link android.app.Activity} atau
 {@link android.app.Fragment} untuk mengelola satu atau beberapa instance {@link
 android.content.Loader}. Ini membantu aplikasi mengelola
 operasi berjalan lebih lama bersamaan dengan daur hidup {@link android.app.Activity}
-atau {@link android.app.Fragment}; penggunaan paling umumnya adalah dengan 
+atau {@link android.app.Fragment}; penggunaan paling umumnya adalah dengan
 {@link android.content.CursorLoader}, akan tetapi aplikasi bebas menulis loader-nya
  sendiri untuk memuat tipe data lainnya.
     <br />
@@ -97,7 +97,7 @@
   </tr>
   <tr>
     <td>{@link android.content.CursorLoader}</td>
-    <td>Subkelas {@link android.content.AsyncTaskLoader} yang meng-query 
+    <td>Subkelas {@link android.content.AsyncTaskLoader} yang meng-query
 {@link android.content.ContentResolver} dan mengembalikan {@link
 android.database.Cursor}. Kelas ini mengimplementasikan protokol {@link
 android.content.Loader} dengan cara standar untuk query kursor,
@@ -124,15 +124,15 @@
   <li>{@link android.app.Activity} atau {@link android.app.Fragment}.</li>
   <li>Instance {@link android.app.LoaderManager}.</li>
   <li>{@link android.content.CursorLoader} akan memuat data yang didukung oleh {@link
-android.content.ContentProvider}. Atau, Anda dapat mengimplementasikan subkelas sendiri 
+android.content.ContentProvider}. Atau, Anda dapat mengimplementasikan subkelas sendiri
  dari {@link android.content.Loader} atau {@link android.content.AsyncTaskLoader} untuk
 memuat data dari beberapa sumber lain.</li>
   <li>Implementasi untuk {@link android.app.LoaderManager.LoaderCallbacks}.
 Di sinilah Anda membuat loader baru dan mengelola acuan bagi loader
-yang ada.</li> 
+yang ada.</li>
 <li>Cara menampilkan data loader, seperti {@link
 android.widget.SimpleCursorAdapter}.</li>
-  <li>Sumber data, seperti {@link android.content.ContentProvider}, saat menggunakan 
+  <li>Sumber data, seperti {@link android.content.ContentProvider}, saat menggunakan
 {@link android.content.CursorLoader}.</li>
 </ul>
 <h3 id="starting">Memulai Loader</h3>
@@ -140,11 +140,11 @@
 <p>{@link android.app.LoaderManager} mengelola satu atau beberapa instance {@link
 android.content.Loader} dalam {@link android.app.Activity} atau
 {@link android.app.Fragment}. Hanya ada satu {@link
-android.app.LoaderManager} per aktivitas atau fragmen.</p> 
+android.app.LoaderManager} per aktivitas atau fragmen.</p>
 
 <p>Anda biasanya
 memulai {@link android.content.Loader} dalam metode {@link
-android.app.Activity#onCreate onCreate()} aktivitas, atau dalam metode 
+android.app.Activity#onCreate onCreate()} aktivitas, atau dalam metode
 {@link android.app.Fragment#onActivityCreated onActivityCreated()} fragmen. Anda
 melakukannya dengan cara berikut ini:</p>
 
@@ -157,13 +157,13 @@
 <ul>
   <li>ID unik yang mengidentifikasi loader. Dalam contoh ini, ID-nya adalah 0.</li>
 <li>Argumen opsional untuk dipasok ke loader
-pada saat pembuatan (dalam contoh ini <code>null</code>).</li> 
+pada saat pembuatan (dalam contoh ini <code>null</code>).</li>
 
 <li>Implementasi {@link android.app.LoaderManager.LoaderCallbacks}, yang
 akan dipanggil {@link android.app.LoaderManager} untuk melaporkan kejadian loader. Dalam contoh
 ini, kelas lokal mengimplementasikan antarmuka {@link
 android.app.LoaderManager.LoaderCallbacks}, sehingga meneruskan acuan
-ke dirinya sendiri, {@code this}.</li> 
+ke dirinya sendiri, {@code this}.</li>
 </ul>
 <p>Panggilan {@link android.app.LoaderManager#initLoader initLoader()} memastikan bahwa loader
 telah dimulai dan aktif. Ia memiliki dua kemungkinan hasil:</p>
@@ -193,7 +193,7 @@
 memulai dan menghentikan pemuatan jika perlu, dan menjaga status loader
 dan konten terkaitnya. Seperti yang tersirat di sini, Anda akan jarang berinteraksi dengan loader
 secara langsung (meskipun misalnya menggunakan metode loader untuk menyempurnakan perilaku
-loader, lihat contoh <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>). 
+loader, lihat contoh <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>).
 Anda paling sering akan menggunakan metode {@link
 android.app.LoaderManager.LoaderCallbacks} untuk mengintervensi proses
 pemuatan saat terjadi kejadian tertentu. Untuk diskusi selengkapnya mengenai topik ini, lihat <a href="#callback">Menggunakan Callback LoaderManager</a>.</p>
@@ -245,7 +245,7 @@
 — Dipanggil bila loader yang dibuat sebelumnya selesai dimuat.
 </li></ul>
 <ul>
-  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}  
+  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}
     — Dipanggil bila loader yang dibuat sebelumnya sedang di-reset, sehingga datanya
 tidak tersedia.
 </li>
@@ -322,7 +322,7 @@
 <p>Loader akan melepas data setelah mengetahui bahwa aplikasi tidak
 lagi menggunakannya.  Misalnya, jika data adalah kursor dari {@link
 android.content.CursorLoader}, Anda tidak boleh memanggil {@link
-android.database.Cursor#close close()} sendiri. Jika kursor ditempatkan 
+android.database.Cursor#close close()} sendiri. Jika kursor ditempatkan
 dalam {@link android.widget.CursorAdapter}, Anda harus menggunakan metode {@link
 android.widget.SimpleCursorAdapter#swapCursor swapCursor()} agar
 {@link android.database.Cursor} lama tidak ditutup. Misalnya:</p>
@@ -343,7 +343,7 @@
 <p>Metode ini dipanggil bila loader yang dibuat sebelumnya sedang di-reset, sehingga datanya
 tidak tersedia. Callback ini memungkinkan Anda mengetahui
 kapan data akan dilepas sehingga dapat menghapus acuannya ke callback.  </p>
-<p>Implementasi ini memanggil 
+<p>Implementasi ini memanggil
 {@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}
 dengan nilai <code>null</code>:</p>
 
@@ -366,7 +366,7 @@
 android.app.Fragment} yang menampilkan {@link android.widget.ListView} berisi
 hasil query terhadap penyedia konten kontak. Ia menggunakan {@link
 android.content.CursorLoader} untuk mengelola query pada penyedia.</p>
- 
+
 <p>Agar aplikasi dapat mengakses kontak pengguna, seperti yang ditampilkan dalam contoh ini,
 manifesnya harus menyertakan izin
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}.</p>
diff --git a/docs/html-intl/intl/in/guide/components/processes-and-threads.jd b/docs/html-intl/intl/in/guide/components/processes-and-threads.jd
index 44051bf..cdab715 100644
--- a/docs/html-intl/intl/in/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/in/guide/components/processes-and-threads.jd
@@ -25,13 +25,13 @@
 </div>
 </div>
 
-<p>Bila komponen aplikasi dimulai dan tidak ada komponen aplikasi lain yang 
-berjalan, sistem Android akan memulai proses Linux baru untuk aplikasi dengan satu thread 
-eksekusi. Secara default, semua komponen aplikasi yang sama berjalan dalam proses dan 
-thread yang sama (disebut thread "utama"). Jika komponen aplikasi dimulai dan sudah ada 
-proses untuk aplikasi itu (karena komponen lain dari aplikasi itu sudah ada), maka komponen 
-akan dimulai dalam proses itu dan menggunakan thread eksekusi yang sama. Akan tetapi, Anda bisa 
-mengatur komponen berbeda di aplikasi agar berjalan di proses terpisah, dan Anda bisa membuat thread tambahan untuk 
+<p>Bila komponen aplikasi dimulai dan tidak ada komponen aplikasi lain yang
+berjalan, sistem Android akan memulai proses Linux baru untuk aplikasi dengan satu thread
+eksekusi. Secara default, semua komponen aplikasi yang sama berjalan dalam proses dan
+thread yang sama (disebut thread "utama"). Jika komponen aplikasi dimulai dan sudah ada
+proses untuk aplikasi itu (karena komponen lain dari aplikasi itu sudah ada), maka komponen
+akan dimulai dalam proses itu dan menggunakan thread eksekusi yang sama. Akan tetapi, Anda bisa
+mengatur komponen berbeda di aplikasi agar berjalan di proses terpisah, dan Anda bisa membuat thread tambahan untuk
 setiap proses.</p>
 
 <p>Dokumen ini membahas cara kerja proses dan thread di aplikasi Android.</p>
@@ -39,7 +39,7 @@
 
 <h2 id="Processes">Proses</h2>
 
-<p>Secara default, semua komponen aplikasi yang sama berjalan dalam proses yang sama dan kebanyakan 
+<p>Secara default, semua komponen aplikasi yang sama berjalan dalam proses yang sama dan kebanyakan
 aplikasi tidak boleh mengubah ini. Akan tetapi, jika Anda merasa perlu mengontrol proses milik
 komponen tertentu, Anda dapat melakukannya dalam file manifes.</p>
 
@@ -47,54 +47,54 @@
 &lt;activity&gt;}</a>, <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code
 &lt;service&gt;}</a>, <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code
 &lt;receiver&gt;}</a>, dan <a href="{@docRoot}guide/topics/manifest/provider-element.html">{@code
-&lt;provider&gt;}</a>&mdash;mendukung atribut {@code android:process} yang bisa menetapkan 
-dalam proses mana komponen harus dijalankan. Anda bisa mengatur atribut ini agar setiap komponen 
+&lt;provider&gt;}</a>&mdash;mendukung atribut {@code android:process} yang bisa menetapkan
+dalam proses mana komponen harus dijalankan. Anda bisa mengatur atribut ini agar setiap komponen
 berjalan dalam prosesnya sendiri atau agar beberapa komponen menggunakan proses yang sama sementara yang lainnya tidak.  Anda juga bisa mengatur
 {@code android:process} agar komponen aplikasi yang berbeda berjalan dalam proses yang sama
-&mdash;sepanjang aplikasi menggunakan ID Linux yang sama dan ditandatangani 
+&mdash;sepanjang aplikasi menggunakan ID Linux yang sama dan ditandatangani
 dengan sertifikat yang sama.</p>
 
 <p>Elemen <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code
-&lt;application&gt;}</a> juga mendukung atribut {@code android:process}, untuk mengatur 
+&lt;application&gt;}</a> juga mendukung atribut {@code android:process}, untuk mengatur
 nilai default yang berlaku bagi semua komponen.</p>
 
-<p>Android bisa memutuskan untuk mematikan proses pada waktu tertentu, bila memori tinggal sedikit dan diperlukan oleh 
+<p>Android bisa memutuskan untuk mematikan proses pada waktu tertentu, bila memori tinggal sedikit dan diperlukan oleh
 proses lain yang lebih mendesak untuk melayani pengguna. Komponen
-aplikasi yang berjalan dalam proses yang dimatikan maka sebagai konsekuensinya juga akan dimusnahkan.  Proses dimulai 
+aplikasi yang berjalan dalam proses yang dimatikan maka sebagai konsekuensinya juga akan dimusnahkan.  Proses dimulai
 kembali untuk komponen itu bila ada lagi pekerjaan untuk mereka lakukan.</p>
 
 <p>Saat memutuskan proses yang akan dimatikan, sistem Android akan mempertimbangkan kepentingan relatifnya bagi
 pengguna.  Misalnya, sistem lebih mudah menghentikan proses yang menjadi host aktivitas yang tidak
- lagi terlihat di layar, dibandingkan dengan proses yang menjadi host aktivitas yang terlihat. Karena itu, keputusan 
+ lagi terlihat di layar, dibandingkan dengan proses yang menjadi host aktivitas yang terlihat. Karena itu, keputusan
 untuk menghentikan proses bergantung pada keadaan komponen yang berjalan dalam proses tersebut. Aturan
 yang digunakan untuk menentukan proses yang akan dihentikan dibahas di bawah ini. </p>
 
 
 <h3 id="Lifecycle">Daur hidup proses</h3>
 
-<p>Sistem Android mencoba mempertahankan proses aplikasi selama mungkin, namun 
+<p>Sistem Android mencoba mempertahankan proses aplikasi selama mungkin, namun
 pada akhirnya perlu menghapus proses lama untuk mengambil kembali memori bagi proses baru atau yang lebih penting.  Untuk
 menentukan proses yang akan
-dipertahankan dan yang harus dimatikan, sistem menempatkan setiap proses ke dalam "hierarki prioritas" berdasarkan 
-komponen yang berjalan dalam proses dan status komponen tersebut.  Proses yang memiliki 
+dipertahankan dan yang harus dimatikan, sistem menempatkan setiap proses ke dalam "hierarki prioritas" berdasarkan
+komponen yang berjalan dalam proses dan status komponen tersebut.  Proses yang memiliki
 prioritas terendah akan dimatikan terlebih dahulu, kemudian yang terendah berikutnya, dan seterusnya, jika perlu
 untuk memulihkan sumber daya sistem.</p>
 
-<p>Ada lima tingkatan dalam hierarki prioritas. Daftar berikut berisi beberapa 
-tipe proses berdasarkan urutan prioritas (proses pertama adalah yang <em>terpenting</em> dan 
+<p>Ada lima tingkatan dalam hierarki prioritas. Daftar berikut berisi beberapa
+tipe proses berdasarkan urutan prioritas (proses pertama adalah yang <em>terpenting</em> dan
 <em>dimatikan terakhir</em>):</p>
 
 <ol>
   <li><b>Proses latar depan</b>
-    <p>Proses yang diperlukan untuk aktivitas yang sedang dilakukan pengguna.  Proses 
+    <p>Proses yang diperlukan untuk aktivitas yang sedang dilakukan pengguna.  Proses
 dianggap berada di latar depan jika salah satu kondisi berikut terpenuhi:</p>
 
       <ul>
         <li>Proses menjadi host {@link android.app.Activity} yang berinteraksi dengan pengguna dengan metode ({@link
-android.app.Activity}{@link android.app.Activity#onResume onResume()} telah 
+android.app.Activity}{@link android.app.Activity#onResume onResume()} telah
 dipanggil).</li>
 
-        <li>Proses menjadi host {@link android.app.Service} yang terikat dengan aktivitas yang sedang berinteraksi dengan 
+        <li>Proses menjadi host {@link android.app.Service} yang terikat dengan aktivitas yang sedang berinteraksi dengan
 pengguna.</li>
 
         <li>Proses menjadi host {@link android.app.Service} yang berjalan "di latar depan"&mdash;
@@ -108,23 +108,23 @@
         android.content.BroadcastReceiver#onReceive onReceive()}-nya.</li>
     </ul>
 
-    <p>Secara umum, hanya ada beberapa proses latar depan pada waktu yang diberikan.  Proses dimatikan hanya sebagai 
-upaya terakhir&mdash; jika memori hampir habis sehingga semuanya tidak bisa terus berjalan.  Pada umumnya, pada 
-titik itu, perangkat dalam keadaan memory paging, sehingga menghentikan beberapa proses latar depan 
+    <p>Secara umum, hanya ada beberapa proses latar depan pada waktu yang diberikan.  Proses dimatikan hanya sebagai
+upaya terakhir&mdash; jika memori hampir habis sehingga semuanya tidak bisa terus berjalan.  Pada umumnya, pada
+titik itu, perangkat dalam keadaan memory paging, sehingga menghentikan beberapa proses latar depan
 diperlukan agar antarmuka pengguna tetap responsif.</p></li>
 
   <li><b>Proses yang terlihat</b>
-    <p>Proses yang tidak memiliki komponen latar depan, namun masih bisa 
-memengaruhi apa yang dilihat pengguna di layar. Proses dianggap terlihat jika salah satu kondisi 
+    <p>Proses yang tidak memiliki komponen latar depan, namun masih bisa
+memengaruhi apa yang dilihat pengguna di layar. Proses dianggap terlihat jika salah satu kondisi
 berikut terpenuhi:</p>
 
       <ul>
         <li>Proses ini menjadi host {@link android.app.Activity} yang tidak berada di latar depan, namun masih
-terlihat oleh penggunanya (metode {@link android.app.Activity#onPause onPause()} telah dipanggil). 
-Ini bisa terjadi, misalnya, jika aktivitas latar depan memulai dialog, sehingga 
+terlihat oleh penggunanya (metode {@link android.app.Activity#onPause onPause()} telah dipanggil).
+Ini bisa terjadi, misalnya, jika aktivitas latar depan memulai dialog, sehingga
 aktivitas sebelumnya terlihat berada di belakangnya.</li>
 
-        <li>Proses menjadi host {@link android.app.Service} yang terikat dengan aktivitas yang terlihat (atau latar 
+        <li>Proses menjadi host {@link android.app.Service} yang terikat dengan aktivitas yang terlihat (atau latar
 depan)</li>
       </ul>
 
@@ -134,53 +134,53 @@
 
   <li><b>Proses layanan</b>
     <p>Proses yang menjalankan layanan yang telah dimulai dengan metode {@link
-android.content.Context#startService startService()} dan tidak termasuk dalam salah satu dari dua kategori 
-yang lebih tinggi. Walaupun proses pelayanan tidak langsung terkait dengan semua yang dilihat oleh pengguna, proses ini 
-umumnya melakukan hal-hal yang dipedulikan pengguna (seperti memutar musik di latar belakang 
-atau mengunduh data di jaringan), jadi sistem membuat proses tetap berjalan kecuali memori tidak cukup untuk 
+android.content.Context#startService startService()} dan tidak termasuk dalam salah satu dari dua kategori
+yang lebih tinggi. Walaupun proses pelayanan tidak langsung terkait dengan semua yang dilihat oleh pengguna, proses ini
+umumnya melakukan hal-hal yang dipedulikan pengguna (seperti memutar musik di latar belakang
+atau mengunduh data di jaringan), jadi sistem membuat proses tetap berjalan kecuali memori tidak cukup untuk
 mempertahankannya bersama semua proses latar depan dan proses yang terlihat. </p>
   </li>
 
   <li><b>Proses latar belakang</b>
-    <p>Proses yang menampung aktivitas yang saat ini tidak terlihat oleh pengguna (metode 
-{@link android.app.Activity#onStop onStop()} aktivitas telah dipanggil). Proses ini tidak memiliki dampak 
-langsung pada pengalaman pengguna, dan sistem bisa menghentikannya kapan saja untuk memperoleh kembali memori bagi 
-proses latar depan, proses yang terlihat, 
-atau proses layanan. Biasanya ada banyak proses latar belakang yang berjalan, sehingga disimpan 
-dalam daftar LRU (least recently used atau paling sedikit digunakan) untuk memastikan bahwa proses dengan aktivitas yang paling baru 
+    <p>Proses yang menampung aktivitas yang saat ini tidak terlihat oleh pengguna (metode
+{@link android.app.Activity#onStop onStop()} aktivitas telah dipanggil). Proses ini tidak memiliki dampak
+langsung pada pengalaman pengguna, dan sistem bisa menghentikannya kapan saja untuk memperoleh kembali memori bagi
+proses latar depan, proses yang terlihat,
+atau proses layanan. Biasanya ada banyak proses latar belakang yang berjalan, sehingga disimpan
+dalam daftar LRU (least recently used atau paling sedikit digunakan) untuk memastikan bahwa proses dengan aktivitas yang paling baru
 terlihat oleh pengguna sebagai yang terakhir untuk dimatikan. Jika aktivitas mengimplementasikan metode
- daur hidupnya dengan benar, dan menyimpan statusnya saat ini, menghentikan prosesnya tidak akan memiliki efek 
-yang terlihat pada pengalaman pengguna, karena ketika pengguna kembali ke aktivitas, aktivitas itu memulihkan 
+ daur hidupnya dengan benar, dan menyimpan statusnya saat ini, menghentikan prosesnya tidak akan memiliki efek
+yang terlihat pada pengalaman pengguna, karena ketika pengguna kembali ke aktivitas, aktivitas itu memulihkan
 semua statusnya yang terlihat. Lihat dokumen <a href="{@docRoot}guide/components/activities.html#SavingActivityState">Aktivitas</a>
  untuk mendapatkan informasi tentang menyimpan dan memulihkan status.</p>
   </li>
 
   <li><b>Proses kosong</b>
-    <p>Sebuah proses yang tidak berisi komponen aplikasi aktif apa pun.  Alasan satu-satunya mempertahankan proses 
+    <p>Sebuah proses yang tidak berisi komponen aplikasi aktif apa pun.  Alasan satu-satunya mempertahankan proses
 seperti ini tetap hidup adalah untuk keperluan caching, meningkatkan waktu mulai (startup) bila
-nanti komponen perlu dijalankan di dalamnya.  Sistem sering menghentikan proses ini untuk menyeimbangkan sumber 
+nanti komponen perlu dijalankan di dalamnya.  Sistem sering menghentikan proses ini untuk menyeimbangkan sumber
 daya sistem secara keseluruhan antara proses cache dan cache kernel yang mendasarinya.</p>
   </li>
 </ol>
 
 
   <p>Android sebisa mungkin memeringkat proses setinggi
-mungkin, berdasarkan prioritas komponen yang sedang aktif dalam proses.  Misalnya, jika suatu proses menjadi host sebuah layanan dan 
+mungkin, berdasarkan prioritas komponen yang sedang aktif dalam proses.  Misalnya, jika suatu proses menjadi host sebuah layanan dan
 aktivitas yang terlihat, proses akan diperingkat sebagai proses yang terlihat, bukan sebagai proses layanan.</p>
 
   <p>Selain itu, peringkat proses dapat meningkat karena adanya proses lain yang bergantung padanya
-&mdash;proses yang melayani proses lain tidak bisa diperingkat lebih rendah daripada proses yang 
-sedang dilayaninya. Misalnya, jika penyedia konten dalam proses A melayani klien dalam proses B, atau 
-jika layanan dalam proses A terikat dengan komponen dalam proses B, proses A selalu dipertimbangkan sebagai paling rendah 
+&mdash;proses yang melayani proses lain tidak bisa diperingkat lebih rendah daripada proses yang
+sedang dilayaninya. Misalnya, jika penyedia konten dalam proses A melayani klien dalam proses B, atau
+jika layanan dalam proses A terikat dengan komponen dalam proses B, proses A selalu dipertimbangkan sebagai paling rendah
 prioritasnya dibandingkan dengan proses B.</p>
 
-  <p>Karena proses yang menjalankan layanan diperingkat lebih tinggi daripada aktivitas latar belakang, 
-aktivitas yang memulai operasi yang berjalan lama mungkin lebih baik memulai <a href="{@docRoot}guide/components/services.html">layanan</a> untuk operasi itu, daripada hanya 
+  <p>Karena proses yang menjalankan layanan diperingkat lebih tinggi daripada aktivitas latar belakang,
+aktivitas yang memulai operasi yang berjalan lama mungkin lebih baik memulai <a href="{@docRoot}guide/components/services.html">layanan</a> untuk operasi itu, daripada hanya
 membuat thread pekerja&mdash;khususnya jika operasi mungkin akan berlangsung lebih lama daripada aktivitas.
- Misalnya, aktivitas yang mengunggah gambar ke situs web harus memulai layanan 
+ Misalnya, aktivitas yang mengunggah gambar ke situs web harus memulai layanan
 untuk mengunggah sehingga unggahan bisa terus berjalan di latar belakang meskipun pengguna meninggalkan aktivitas tersebut.
-Menggunakan layanan akan memastikan operasi paling tidak memiliki prioritas "proses layanan", 
-apa pun yang terjadi pada aktivitas. Ini menjadi alasan yang sama yang membuat penerima siaran harus 
+Menggunakan layanan akan memastikan operasi paling tidak memiliki prioritas "proses layanan",
+apa pun yang terjadi pada aktivitas. Ini menjadi alasan yang sama yang membuat penerima siaran harus
 menjalankan layanan daripada hanya menempatkan operasi yang menghabiskan waktu di thread.</p>
 
 
@@ -188,35 +188,35 @@
 
 <h2 id="Threads">Thread</h2>
 
-<p>Bila aplikasi diluncurkan, sistem akan membuat thread eksekusi untuk aplikasi tersebut, yang diberi nama, 
+<p>Bila aplikasi diluncurkan, sistem akan membuat thread eksekusi untuk aplikasi tersebut, yang diberi nama,
 "main". Thread ini sangat penting karena bertugas mengirim kejadian ke widget
 antarmuka pengguna yang sesuai, termasuk kejadian menggambar. Ini juga merupakan thread yang
 membuat aplikasi berinteraksi dengan komponen dari Android UI toolkit (komponen dari paket {@link
-android.widget} dan {@link android.view}). Karena itu, thread 'main' juga terkadang 
+android.widget} dan {@link android.view}). Karena itu, thread 'main' juga terkadang
 disebut thread UI.</p>
 
-<p>Sistem ini <em>tidak</em> membuat thread terpisah untuk setiap instance komponen. Semua 
-komponen yang berjalan di proses yang sama akan dibuat instance-nya dalam thread UI, dan sistem akan memanggil 
+<p>Sistem ini <em>tidak</em> membuat thread terpisah untuk setiap instance komponen. Semua
+komponen yang berjalan di proses yang sama akan dibuat instance-nya dalam thread UI, dan sistem akan memanggil
 setiap komponen yang dikirim dari thread itu. Akibatnya, metode yang merespons callback sistem
  (seperti {@link android.view.View#onKeyDown onKeyDown()} untuk melaporkan tindakan pengguna atau metode callback daur hidup)
  selalu berjalan di thread UI proses.</p>
 
-<p>Misalnya saat pengguna menyentuh tombol pada layar, thread UI aplikasi akan mengirim kejadian 
-sentuh ke widget, yang selanjutnya menetapkan status ditekan dan mengirim permintaan yang tidak divalidasi ke 
+<p>Misalnya saat pengguna menyentuh tombol pada layar, thread UI aplikasi akan mengirim kejadian
+sentuh ke widget, yang selanjutnya menetapkan status ditekan dan mengirim permintaan yang tidak divalidasi ke
 antrean kejadian. Thread UI akan menghapus antrean permintaan dan memberi tahu widget bahwa widget harus menggambar
 dirinya sendiri.</p>
 
-<p>Saat aplikasi melakukan pekerjaan intensif sebagai respons terhadap interaksi pengguna, model 
+<p>Saat aplikasi melakukan pekerjaan intensif sebagai respons terhadap interaksi pengguna, model
 thread tunggal ini bisa menghasilkan kinerja yang buruk kecuali jika Anda mengimplementasikan aplikasi dengan benar. Khususnya jika
  semua terjadi di thread UI, melakukan operasi yang panjang seperti akses ke jaringan atau query
 database akan memblokir seluruh UI. Bila thread diblokir, tidak ada kejadian yang bisa dikirim,
-termasuk kejadian menggambar. Dari sudut pandang pengguna, aplikasi 
+termasuk kejadian menggambar. Dari sudut pandang pengguna, aplikasi
 tampak mogok (hang). Lebih buruk lagi, jika thread UI diblokir selama lebih dari beberapa detik
 (saat ini sekitar 5 detik) pengguna akan ditampilkan dialog "<a href="http://developer.android.com/guide/practices/responsiveness.html">aplikasi tidak
-merespons</a>" (ANR) yang populer karena reputasi buruknya. Pengguna nanti bisa memutuskan untuk keluar dari aplikasi dan menghapus aplikasi 
+merespons</a>" (ANR) yang populer karena reputasi buruknya. Pengguna nanti bisa memutuskan untuk keluar dari aplikasi dan menghapus aplikasi
 jika mereka tidak suka.</p>
 
-<p>Selain itu, toolkit Android UI <em>bukan</em> thread-safe. Jadi, Anda tidak harus memanipulasi 
+<p>Selain itu, toolkit Android UI <em>bukan</em> thread-safe. Jadi, Anda tidak harus memanipulasi
 UI dari thread pekerja&mdash;Anda harus melakukan semua manipulasi pada antarmuka pengguna dari thread
 UI. Sehingga hanya ada dua aturan untuk model thread tunggal Android:</p>
 
@@ -227,12 +227,12 @@
 
 <h3 id="WorkerThreads">Thread pekerja</h3>
 
-<p>Karena model thread tunggal yang dijelaskan di atas, Anda dilarang memblokir thread 
+<p>Karena model thread tunggal yang dijelaskan di atas, Anda dilarang memblokir thread
 UI demi daya respons UI aplikasi. Jika memiliki operasi untuk dijalankan
 yang tidak seketika, Anda harus memastikan untuk melakukannya di thread terpisah (thread "latar belakang" atau
 thread "pekerja").</p>
 
-<p>Misalnya, berikut ini beberapa kode untuk listener klik yang mengunduh gambar dari 
+<p>Misalnya, berikut ini beberapa kode untuk listener klik yang mengunduh gambar dari
 thread terpisah dan menampilkannya dalam {@link android.widget.ImageView}:</p>
 
 <pre>
@@ -246,13 +246,13 @@
 }
 </pre>
 
-<p>Awalnya hal ini tampak bekerja dengan baik, karena menciptakan thread baru untuk menangani 
+<p>Awalnya hal ini tampak bekerja dengan baik, karena menciptakan thread baru untuk menangani
 operasi jaringan. Akan tetapi, hal tersebut melanggar aturan kedua model thread tunggal: <em>jangan mengakses
  toolkit Android UI dari luar thread UI</em>&mdash;sampel ini memodifikasi {@link
 android.widget.ImageView} dari thread pekerja sebagai ganti thread UI. Ini bisa
 mengakibatkan perilaku yang tidak terdefinisi dan tidak diharapkan, yang bisa menyulitkan dan menghabiskan waktu untuk melacaknya.</p>
 
-<p>Untuk memperbaiki masalah ini, Android menawarkan beberapa cara untuk mengakses thread UI dari 
+<p>Untuk memperbaiki masalah ini, Android menawarkan beberapa cara untuk mengakses thread UI dari
 thread lainnya. Berikut ini daftar metode yang bisa membantu:</p>
 
 <ul>
@@ -284,10 +284,10 @@
 <p>Kini implementasi ini thread-safe: operasi jaringan dilakukan terpisah dari thread
  sementara {@link android.widget.ImageView} dimanipulasi dari thread UI.</p>
 
-<p>Akan tetapi, karena operasi semakin kompleks, jenis kode seperti ini bisa semakin rumit 
-dan sulit dipertahankan. Untuk menangani interaksi yang lebih kompleks dengan thread pekerja, Anda bisa mempertimbangkan 
+<p>Akan tetapi, karena operasi semakin kompleks, jenis kode seperti ini bisa semakin rumit
+dan sulit dipertahankan. Untuk menangani interaksi yang lebih kompleks dengan thread pekerja, Anda bisa mempertimbangkan
  penggunaan {@link android.os.Handler}di thread pekerja, untuk memproses pesan yang dikirim dari
- thread UI. Mungkin solusi terbaiknya adalah memperpanjang kelas {@link android.os.AsyncTask}, 
+ thread UI. Mungkin solusi terbaiknya adalah memperpanjang kelas {@link android.os.AsyncTask},
 yang akan menyederhanakan eksekusi tugas-tugas thread pekerja yang perlu berinteraksi dengan UI.</p>
 
 
@@ -298,10 +298,10 @@
 di thread UI, tanpa mengharuskan Anda untuk menangani sendiri thread dan/atau handler sendiri.</p>
 
 <p>Untuk menggunakannya, Anda harus menempatkan {@link android.os.AsyncTask} sebagai subkelas dan mengimplementasikan metode callback {@link
-android.os.AsyncTask#doInBackground doInBackground()} yang berjalan di kumpulan 
+android.os.AsyncTask#doInBackground doInBackground()} yang berjalan di kumpulan
 thread latar belakang. Untuk memperbarui UI, Anda harus mengimplementasikan {@link
 android.os.AsyncTask#onPostExecute onPostExecute()}, yang memberikan hasil dari {@link
-android.os.AsyncTask#doInBackground doInBackground()} dan berjalan di thread UI, jadi Anda bisa 
+android.os.AsyncTask#doInBackground doInBackground()} dan berjalan di thread UI, jadi Anda bisa
 memperbarui UI dengan aman. Selanjutnya Anda bisa menjalankan tugas dengan memanggil {@link android.os.AsyncTask#execute execute()}
 dari thread UI.</p>
 
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
@@ -328,16 +328,16 @@
 }
 </pre>
 
-<p>Kini UI aman dan kode jadi lebih sederhana, karena memisahkan pekerjaan ke 
+<p>Kini UI aman dan kode jadi lebih sederhana, karena memisahkan pekerjaan ke
 dalam bagian-bagian yang harus dilakukan pada thread pekerja dan thread UI.</p>
 
-<p>Anda harus membaca acuan {@link android.os.AsyncTask} untuk memahami sepenuhnya 
+<p>Anda harus membaca acuan {@link android.os.AsyncTask} untuk memahami sepenuhnya
 cara menggunakan kelas ini, namun berikut ini ikhtisar singkat cara kerjanya:</p>
 
 <ul>
 <li>Anda bisa menetapkan tipe parameter, nilai kemajuan, dan nilai
  akhir tugas, dengan menggunakan generik</li>
-<li>Metode {@link android.os.AsyncTask#doInBackground doInBackground()} berjalan secara otomatis pada 
+<li>Metode {@link android.os.AsyncTask#doInBackground doInBackground()} berjalan secara otomatis pada
 thread pekerja</li>
 <li>{@link android.os.AsyncTask#onPreExecute onPreExecute()}, {@link
 android.os.AsyncTask#onPostExecute onPostExecute()}, dan {@link
@@ -352,23 +352,23 @@
 
 <p class="caution"><strong>Perhatian:</strong> Masalah lain yang mungkin Anda temui saat menggunakan
 thread pekerja adalah restart tak terduga dalam aktivitas karena <a href="{@docRoot}guide/topics/resources/runtime-changes.html">perubahan konfigurasi runtime</a>
- (seperti saat pengguna mengubah orientasi layar), yang bisa memusnahkan thread pekerja. Untuk 
-melihat cara mempertahankan tugas selama restart ini dan cara membatalkan 
+ (seperti saat pengguna mengubah orientasi layar), yang bisa memusnahkan thread pekerja. Untuk
+melihat cara mempertahankan tugas selama restart ini dan cara membatalkan
 tugas dengan benar saat aktivitas dimusnahkan, lihat kode sumber untuk aplikasi sampel <a href="http://code.google.com/p/shelves/">Shelves</a>.</p>
 
 
 <h3 id="ThreadSafe">Metode thread-safe</h3>
 
-<p> Dalam beberapa situasi, metode yang Anda implementasikan bisa dipanggil dari lebih dari satu thread, 
+<p> Dalam beberapa situasi, metode yang Anda implementasikan bisa dipanggil dari lebih dari satu thread,
 dan karena itu harus ditulis agar menjadi thread-safe. </p>
 
-<p>Ini terutama terjadi untuk metode yang bisa dipanggil dari jauh &mdash;seperti metode dalam <a href="{@docRoot}guide/components/bound-services.html">layanan terikat</a>. Bila sebuah panggilan pada 
-metode yang dijalankan dalam {@link android.os.IBinder} berasal dari proses yang sama di mana 
+<p>Ini terutama terjadi untuk metode yang bisa dipanggil dari jauh &mdash;seperti metode dalam <a href="{@docRoot}guide/components/bound-services.html">layanan terikat</a>. Bila sebuah panggilan pada
+metode yang dijalankan dalam {@link android.os.IBinder} berasal dari proses yang sama di mana
 {@link android.os.IBinder IBinder} berjalan, metode ini akan dieksekusi di thread pemanggil.
 Akan tetapi, bila panggilan berasal proses lain, metode akan dieksekusi dalam thread yang dipilih dari
  kumpulan (pool) thread yang dipertahankan sistem dalam proses yang sama seperti{@link android.os.IBinder
-IBinder} (tidak dieksekusi dalam thread UI proses).  Misalnya, karena metode 
-{@link android.app.Service#onBind onBind()} layanan akan dipanggil dari thread UI 
+IBinder} (tidak dieksekusi dalam thread UI proses).  Misalnya, karena metode
+{@link android.app.Service#onBind onBind()} layanan akan dipanggil dari thread UI
 proses layanan, metode yang diimplementasikan dalam objek yang dikembalikan {@link android.app.Service#onBind
 onBind()} (misalnya, subkelas yang mengimplementasikan metode RPC) akan dipanggil dari thread
 di pool. Karena layanan bisa memiliki lebih dari satu klien, maka lebih dari satu pool thread bisa melibatkan
@@ -382,19 +382,19 @@
 android.content.ContentProvider#query query()}, {@link android.content.ContentProvider#insert
 insert()}, {@link android.content.ContentProvider#delete delete()}, {@link
 android.content.ContentProvider#update update()}, dan {@link android.content.ContentProvider#getType
-getType()}&mdash; dipanggil dari pool thread pada proses penyedia konten, bukan thread UI 
-untuk proses tersebut.  Mengingat metode ini bisa dipanggil dari thread mana pun 
+getType()}&mdash; dipanggil dari pool thread pada proses penyedia konten, bukan thread UI
+untuk proses tersebut.  Mengingat metode ini bisa dipanggil dari thread mana pun
 sekaligus, metode-metode ini juga harus diimplementasikan sebagai thread-safe. </p>
 
 
 <h2 id="IPC">Komunikasi Antarproses</h2>
 
 <p>Android menawarkan mekanisme komunikasi antarproses (IPC) menggunakan panggilan prosedur jauh
- (RPC), yang mana metode ini dipanggil oleh aktivitas atau komponen aplikasi lain, namun dieksekusi dari 
+ (RPC), yang mana metode ini dipanggil oleh aktivitas atau komponen aplikasi lain, namun dieksekusi dari
 jauh (di proses lain), bersama hasil yang dikembalikan ke
-pemanggil. Ini mengharuskan penguraian panggilan metode dan datanya ke tingkat yang bisa 
-dipahami sistem operasi, mentransmisikannya dari proses lokal dan ruang alamat untuk proses jauh 
-dan ruang proses, kemudian merakit kembali dan menetapkannya kembali di sana.  Nilai-nilai yang dikembalikan 
+pemanggil. Ini mengharuskan penguraian panggilan metode dan datanya ke tingkat yang bisa
+dipahami sistem operasi, mentransmisikannya dari proses lokal dan ruang alamat untuk proses jauh
+dan ruang proses, kemudian merakit kembali dan menetapkannya kembali di sana.  Nilai-nilai yang dikembalikan
 akan ditransmisikan dalam arah berlawanan.  Android menyediakan semua kode untuk melakukan transaksi IPC
  ini, sehingga Anda bisa fokus pada pendefinisian dan implementasi antarmuka pemrograman RPC. </p>
 
diff --git a/docs/html-intl/intl/in/guide/components/recents.jd b/docs/html-intl/intl/in/guide/components/recents.jd
index dcfcda7..286fdc1 100644
--- a/docs/html-intl/intl/in/guide/components/recents.jd
+++ b/docs/html-intl/intl/in/guide/components/recents.jd
@@ -60,23 +60,23 @@
 <h2 id="adding">Menambahkan Tugas ke Layar Ikhtisar</h2>
 
 <p>Penggunaan flag kelas {@link android.content.Intent} untuk menambahkan tugas memberi kontrol lebih besar
-atas waktu dan cara dokumen dibuka atau dibuka kembali di layar ikhtisar. Bila menggunakan atribut 
+atas waktu dan cara dokumen dibuka atau dibuka kembali di layar ikhtisar. Bila menggunakan atribut
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
-, Anda dapat memilih antara selalu membuka dokumen dalam tugas baru atau menggunakan kembali tugas 
+, Anda dapat memilih antara selalu membuka dokumen dalam tugas baru atau menggunakan kembali tugas
 yang ada untuk dokumen tersebut.</p>
 
 <h3 id="flag-new-doc">Menggunakan flag Intent untuk menambahkan tugas</h3>
 
-<p>Bila membuat dokumen baru untuk aktivitas, Anda memanggil metode 
+<p>Bila membuat dokumen baru untuk aktivitas, Anda memanggil metode
 {@link android.app.ActivityManager.AppTask#startActivity(android.content.Context, android.content.Intent, android.os.Bundle) startActivity()}
- dari kelas {@link android.app.ActivityManager.AppTask}, dengan meneruskannya ke intent yang 
+ dari kelas {@link android.app.ActivityManager.AppTask}, dengan meneruskannya ke intent yang
 menjalankan aktivitas tersebut. Untuk menyisipkan jeda logis agar sistem memperlakukan aktivitas Anda sebagai tugas
-baru di layar ikhtisar, teruskan flag {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} 
+baru di layar ikhtisar, teruskan flag {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
 dalam metode {@link android.content.Intent#addFlags(int) addFlags()} dari {@link android.content.Intent}
 yang memulai aktivitas itu.</p>
 
 <p class="note"><strong>Catatan:</strong> Flag {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
-menggantikan flag {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET}, 
+menggantikan flag {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET},
 yang tidak digunakan lagi pada Android 5.0 (API level 21).</p>
 
 <p>Jika Anda menetapkan flag {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} saat membuat
@@ -169,18 +169,18 @@
 
   <dt>"{@code none”}"</dt>
   <dd>Aktivitas ini tidak membuat tugas baru untuk dokumen. Layar ikhtisar memperlakukan
- aktivitas seperti itu secara default: satu tugas ditampilkan untuk aplikasi, yang 
+ aktivitas seperti itu secara default: satu tugas ditampilkan untuk aplikasi, yang
 dilanjutkan dari aktivitas apa pun yang terakhir dipanggil pengguna.</dd>
 
   <dt>"{@code never}"</dt>
   <dd>Aktivitas ini tidak membuat tugas baru untuk dokumen. Mengatur nilai ini akan mengesampingkan
  perilaku flag {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
- dan {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}, jika salah satunya ditetapkan di 
+ dan {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}, jika salah satunya ditetapkan di
 intent, dan layar ikhtisar menampilkan satu tugas untuk aplikasi, yang dilanjutkan dari
  aktivitas apa pun yang terakhir dipanggil pengguna.</dd>
 </dl>
 
-<p class="note"><strong>Catatan:</strong> Untuk nilai selain {@code none} dan {@code never}, 
+<p class="note"><strong>Catatan:</strong> Untuk nilai selain {@code none} dan {@code never},
 aktivitas harus didefinisikan dengan {@code launchMode="standard"}. Jika atribut ini tidak ditetapkan, maka
 {@code documentLaunchMode="none"} akan digunakan.</p>
 
@@ -219,8 +219,8 @@
 </pre>
 
 <p class="note"><strong>Catatan:</strong> Penggunaan metode
-{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 
-akan mengesampingkan penggunaan tag {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS}, seperti 
+{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()}
+akan mengesampingkan penggunaan tag {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS}, seperti
 dibahas di bawah ini.</p>
 
 <h3 id="#retain-finished">Mempertahankan tugas yang telah selesai</h3>
diff --git a/docs/html-intl/intl/in/guide/components/services.jd b/docs/html-intl/intl/in/guide/components/services.jd
index 7ecd8cd..b36e565 100644
--- a/docs/html-intl/intl/in/guide/components/services.jd
+++ b/docs/html-intl/intl/in/guide/components/services.jd
@@ -186,7 +186,7 @@
 aplikasi Anda.</p>
 
 <p>Untuk mendeklarasikan layanan Anda, tambahkan sebuah elemen <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a>
-sebagai anak 
+sebagai anak
 elemen <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>. Misalnya:</p>
 
 <pre>
@@ -539,7 +539,7 @@
 komponen lain bisa menghentikannya dengan memanggil {@link android.content.Context#stopService stopService()}.</p>
 
 <p>Setelah diminta untuk berhenti dengan {@link android.app.Service#stopSelf stopSelf()} atau {@link
-android.content.Context#stopService stopService()}, sistem akan menghapus layanan 
+android.content.Context#stopService stopService()}, sistem akan menghapus layanan
 secepatnya.</p>
 
 <p>Akan tetapi, bila layanan Anda menangani beberapa permintaan ke {@link
diff --git a/docs/html-intl/intl/in/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/in/guide/components/tasks-and-back-stack.jd
index 279442f..4c344ae 100644
--- a/docs/html-intl/intl/in/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/in/guide/components/tasks-and-back-stack.jd
@@ -29,7 +29,7 @@
 <ol>
   <li><a href="{@docRoot}design/patterns/navigation.html">Desain Android:
 Navigasi</a></li>
-  <li><a href="{@docRoot}guide/topics/manifest/activity-element.html">Elemen manifes 
+  <li><a href="{@docRoot}guide/topics/manifest/activity-element.html">Elemen manifes
 {@code &lt;activity&gt;}</a></li>
   <li><a href="{@docRoot}guide/components/recents.html">Layar Ikhtisar</a></li>
 </ol>
@@ -52,7 +52,7 @@
 aktivitas mungkin dari aplikasi yang berbeda, Android akan tetap mempertahankan pengalaman pengguna yang mulus
 dengan menjalankan kedua aktivitas dalam <em>tugas</em> yang sama.</p>
 
-<p>Tugas adalah kumpulan aktivitas yang berinteraksi dengan pengguna 
+<p>Tugas adalah kumpulan aktivitas yang berinteraksi dengan pengguna
 saat melakukan pekerjaan tertentu. Aktivitas tersebut diatur dalam tumpukan (<em>back-stack</em>), dalam
 urutan membuka setiap aktivitas.</p>
 
@@ -93,7 +93,7 @@
 aktivitas saat ini dan dikeluarkan bila pengguna meninggalkannya menggunakan tombol <em>Back</em>. Dengan demikian,
 back-stack
 beroperasi sebagai struktur objek "masuk terakhir, keluar pertama". Gambar 1 melukiskan perilaku
-ini dengan jangka waktu yang menunjukkan kemajuan antar aktivitas beserta 
+ini dengan jangka waktu yang menunjukkan kemajuan antar aktivitas beserta
 back-stack pada setiap waktu.</p>
 
 <img src="{@docRoot}images/fundamentals/diagram_backstack.png" alt="" />
@@ -148,7 +148,7 @@
 aktivitas tersebut akan dibuat dan didorong ke back-stack (bukannya memunculkan instance sebelumnya dari
 aktivitas ke atas). Dengan demikian, satu aktivitas pada aplikasi Anda mungkin dibuat beberapa
 kali (bahkan dari beberapa tugas), seperti yang ditampilkan dalam gambar 3. Dengan demikian, jika pengguna mengarahkan mundur
-menggunakan tombol <em>Back</em>, setiap instance aktivitas ini akan ditampilkan dalam urutan saat 
+menggunakan tombol <em>Back</em>, setiap instance aktivitas ini akan ditampilkan dalam urutan saat
 dibuka (masing-masing
 dengan status UI sendiri). Akan tetapi, Anda bisa memodifikasi perilaku ini jika tidak ingin aktivitas
 dibuat instance-nya lebih dari sekali. Caranya dibahas di bagian selanjutnya tentang <a href="#ManagingTasks">Mengelola Tugas</a>.</p>
@@ -347,7 +347,7 @@
 selalu dibuka dalam tugasnya sendiri&mdash;dengan menetapkan mode pembuka {@code singleTask} dalam elemen<a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>.
 Ini berarti bahwa jika aplikasi Anda mengeluarkan
 intent untuk membuka Browser Android, aktivitasnya <em>tidak</em> akan ditempatkan dalam tugas
-yang sama seperti aplikasi Anda. Sebagai gantinya, tugas baru akan dimulai untuk Browser atau, jika Browser 
+yang sama seperti aplikasi Anda. Sebagai gantinya, tugas baru akan dimulai untuk Browser atau, jika Browser
 sudah memiliki tugas yang berjalan di latar belakang, tugas tersebut akan dimajukan untuk menangani intent
 baru.</p>
 
@@ -387,13 +387,13 @@
     <dd>Memulai aktivitas dalam tugas baru. Jika tugas sudah dijalankan untuk aktivitas yang sekarang
 Anda mulai, tugas tersebut akan dibawa ke latar depan dengan status terakhir yang dipulihkan dan aktivitas
 akan menerima intent baru dalam {@link android.app.Activity#onNewIntent onNewIntent()}.
-    <p>Ini menghasilkan perilaku yang sama dengan nilai {@code "singleTask"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 
+    <p>Ini menghasilkan perilaku yang sama dengan nilai {@code "singleTask"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a>
 yang dibahas di bagian sebelumnya.</p></dd>
   <dt>{@link android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP}</dt>
     <dd>Jika aktivitas yang dimulai adalah aktivitas saat ini (di bagian teratas back-stack), maka
 instance yang ada akan menerima panggilan ke {@link android.app.Activity#onNewIntent onNewIntent()}
 sebagai ganti membuat instance baru aktivitas.
-    <p>Ini menghasilkan perilaku yang sama dengan nilai {@code "singleTop"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 
+    <p>Ini menghasilkan perilaku yang sama dengan nilai {@code "singleTop"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a>
 yang dibahas di bagian sebelumnya.</p></dd>
   <dt>{@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}</dt>
     <dd>Jika aktivitas yang dimulai sudah berjalan dalam tugas saat ini, maka sebagai
@@ -427,8 +427,8 @@
 aplikasi yang berbeda bisa berbagi afinitas, atau aktivitas yang didefinisikan dalam aplikasi yang sama bisa
 diberi afinitas tugas yang berbeda.</p>
 
-<p>Anda bisa memodifikasi afinitas untuk setiap yang diberikan 
-dengan atribut <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a> 
+<p>Anda bisa memodifikasi afinitas untuk setiap yang diberikan
+dengan atribut <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a>
 elemen <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>.</p>
 
 <p>Atribut <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a>
@@ -444,7 +444,7 @@
   {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}
 .
 
-<p>Aktivitas baru, secara default, diluncurkan ke dalam tugas aktivitas 
+<p>Aktivitas baru, secara default, diluncurkan ke dalam tugas aktivitas
 yang disebut {@link android.app.Activity#startActivity startActivity()}. Ini didorong ke back-stack
 yang sama seperti caller.  Akan tetapi, jika intent yang diteruskan ke
 {@link android.app.Activity#startActivity startActivity()}
@@ -473,7 +473,7 @@
 yang didefinisikan sebagai bagian dari aplikasi perjalanan.  Aktivitas memiliki afinitas yang sama dengan aktivitas lain dalam aplikasi
 yang sama (afinitas aplikasi default) dan aktivitas ini memungkinkan re-parenting dengan atribut ini.
 Bila salah satu aktivitas Anda memulai aktivitas laporan cuaca, awalnya aktivitas ini dimiliki oleh tugas
-yang sama dengan aktivitas Anda. Akan tetapi, bila tugas aplikasi perjalanan di bawa ke latar depan, 
+yang sama dengan aktivitas Anda. Akan tetapi, bila tugas aplikasi perjalanan di bawa ke latar depan,
 aktivitas laporan cuaca akan ditetapkan kembali ke tugas itu dan ditampilkan di dalamnya.</p>
 </li>
 </ul>
@@ -497,7 +497,7 @@
 <dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#always">alwaysRetainTaskState</a></code>
 </dt>
-<dd>Jika atribut ini ditetapkan ke {@code "true"} dalam aktivitas akar tugas, 
+<dd>Jika atribut ini ditetapkan ke {@code "true"} dalam aktivitas akar tugas,
 perilaku default yang baru dijelaskan tidak akan terjadi.
  Tugas akan mempertahankan semua aktivitas dalam back-stack bahkan setelah sekian lama.</dd>
 
@@ -516,7 +516,7 @@
 <dd>Atribut ini seperti <a href="{@docRoot}guide/topics/manifest/activity-element.html#clear">{@code clearTaskOnLaunch}</a>,
 namun beroperasi pada
 satu aktivitas, bukan pada seluruh tugas.  Hal ini juga bisa menyebabkan aktivitas
-hilang, termasuk aktivitas akar.  Bila ini diatur ke {@code "true"}, 
+hilang, termasuk aktivitas akar.  Bila ini diatur ke {@code "true"},
 aktivitas akan tetap menjadi bagian dari tugas hanya untuk sesi saat ini.  Jika pengguna
 keluar dan kemudian kembali ke tugas tersebut, tugas tidak akan ada lagi.</dd>
 </dl>
@@ -552,14 +552,14 @@
 {@code "singleInstance"}, hanya boleh digunakan bila aktivitas memiliki filter
 {@link android.content.Intent#ACTION_MAIN}
 dan {@link android.content.Intent#CATEGORY_LAUNCHER}. Bayangkan, misalnya, apa yang akan
-terjadi jika filter tidak ada: Intent meluncurkan aktivitas{@code "singleTask"}, memulai 
-tugas yang baru, dan pengguna menghabiskan lebih banyak waktu mengerjakan tugas tersebut. Pengguna kemudian menekan tombol 
+terjadi jika filter tidak ada: Intent meluncurkan aktivitas{@code "singleTask"}, memulai
+tugas yang baru, dan pengguna menghabiskan lebih banyak waktu mengerjakan tugas tersebut. Pengguna kemudian menekan tombol
 <em>Home</em>. Tugas kini dikirim ke latar belakang dan tidak terlihat. Sekarang pengguna tidak memiliki cara untuk kembali
 ke tugas tersebut, karena tidak dinyatakan dalam launcher aplikasi.</p>
 
-<p>Untuk kasus-kasus di mana Anda tidak ingin pengguna bisa kembali ke aktivitas, atur dalam 
+<p>Untuk kasus-kasus di mana Anda tidak ingin pengguna bisa kembali ke aktivitas, atur dalam
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
- pada 
+ pada
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#finish">{@code finishOnTaskLaunch}</a>
 elemen ke {@code "true"} (lihat <a href="#Clearing">Menghapus back-stack</a>).</p>
 
diff --git a/docs/html-intl/intl/in/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/in/guide/topics/manifest/manifest-intro.jd
index 6d6a3ad..050abf4 100644
--- a/docs/html-intl/intl/in/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/in/guide/topics/manifest/manifest-intro.jd
@@ -23,7 +23,7 @@
   Setiap aplikasi harus memiliki file AndroidManifest.xml (bernama persis seperti ini) di direktori akar.
  <span itemprop="description">File manifes
  menyediakan informasi penting tentang aplikasi ke sistem Android,
- informasi yang harus dimiliki sistem agar bisa menjalankan setiap kode 
+ informasi yang harus dimiliki sistem agar bisa menjalankan setiap kode
 aplikasi.</span> Di antaranya, manifes melakukan hal berikut ini:
 </p>
 
@@ -32,26 +32,26 @@
 Nama paket berfungsi sebagai identifier unik untuk aplikasi.</li>
 
 <li>Menjelaskan berbagai komponen aplikasi&mdash;aktivitas,
- layanan, penerima siaran, dan penyedia konten 
-yang membentuk aplikasi.  Menamai kelas yang mengimplementasikan setiap komponen dan 
-mempublikasikan kemampuannya (misalnya, pesan {@link android.content.Intent 
-Intent} mana yang bisa ditanganinya).  Deklarasi ini memberi tahu sistem Android mengenai 
+ layanan, penerima siaran, dan penyedia konten
+yang membentuk aplikasi.  Menamai kelas yang mengimplementasikan setiap komponen dan
+mempublikasikan kemampuannya (misalnya, pesan {@link android.content.Intent
+Intent} mana yang bisa ditanganinya).  Deklarasi ini memberi tahu sistem Android mengenai
 komponennya dan dalam kondisi apa bisa diluncurkan.</li>
 
-<li>Menentukan proses yang akan menjadi host komponen aplikasi.</li>  
+<li>Menentukan proses yang akan menjadi host komponen aplikasi.</li>
 
-<li>Mendeklarasikan izin aplikasi mana yang harus dimiliki untuk 
-mengakses bagian yang dilindungi pada API dan berinteraksi dengan aplikasi lain.</li>  
+<li>Mendeklarasikan izin aplikasi mana yang harus dimiliki untuk
+mengakses bagian yang dilindungi pada API dan berinteraksi dengan aplikasi lain.</li>
 
-<li>Juga mendeklarasikan izin lain yang harus dimiliki untuk 
+<li>Juga mendeklarasikan izin lain yang harus dimiliki untuk
 untuk berinteraksi dengan komponen aplikasi.</li>
 
-<li>Mencantumkan daftar kelas {@link android.app.Instrumentation} yang memberikan 
-profil dan informasi lain saat aplikasi berjalan.  Deklarasi ini 
+<li>Mencantumkan daftar kelas {@link android.app.Instrumentation} yang memberikan
+profil dan informasi lain saat aplikasi berjalan.  Deklarasi ini
 hanya ada di manifes saat aplikasi dibuat dan diuji;
  deklarasi dihapus sebelum aplikasi dipublikasikan.</li>
 
-<li>Mendeklarasikan tingkat minimum API Android yang diperlukan 
+<li>Mendeklarasikan tingkat minimum API Android yang diperlukan
 aplikasi.</li>
 
 <li>Mencantumkan daftar pustaka yang harus ditautkan aplikasi.</li>
@@ -61,12 +61,12 @@
 <h2 id="filestruct">Struktur File Manifes</h2>
 
 <p>
-Diagram di bawah ini menampilkan struktur umum file manifes dan setiap 
-elemen yang bisa ditampungnya.  Setiap elemen, bersama 
-atributnya, didokumentasikan secara lengkap dalam file terpisah.  Untuk melihat 
-informasi terperinci tentang setiap elemen, klik nama elemen dalam diagram, 
-dalam daftar abjad elemen yang mengikuti diagram, atau penyebutan nama 
-elemen lainnya. 
+Diagram di bawah ini menampilkan struktur umum file manifes dan setiap
+elemen yang bisa ditampungnya.  Setiap elemen, bersama
+atributnya, didokumentasikan secara lengkap dalam file terpisah.  Untuk melihat
+informasi terperinci tentang setiap elemen, klik nama elemen dalam diagram,
+dalam daftar abjad elemen yang mengikuti diagram, atau penyebutan nama
+elemen lainnya.
 </p>
 
 <pre>
@@ -126,9 +126,9 @@
 </pre>
 
 <p>
-Semua elemen yang bisa muncul dalam file manifes tercantum di bawah ini 
-dalam urutan abjad.  Ini adalah satu-satunya elemen legal; Anda tidak bisa 
-menambahkan elemen atau atribut sendiri.  
+Semua elemen yang bisa muncul dalam file manifes tercantum di bawah ini
+dalam urutan abjad.  Ini adalah satu-satunya elemen legal; Anda tidak bisa
+menambahkan elemen atau atribut sendiri.
 </p>
 
 <p style="margin-left: 2em">
@@ -158,74 +158,74 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">Konvensi File</h2>
 
 <p>
-Sebagian konvensi dan aturan berlaku secara umum untuk semua elemen 
+Sebagian konvensi dan aturan berlaku secara umum untuk semua elemen
 dan atribut di manifes:
 </p>
 
 <dl>
 <dt><b>Elemen</b></dt>
-<dd>Hanya elemen 
+<dd>Hanya elemen
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> dan
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-yang diwajibkan, masing-masing harus ada dan hanya boleh terjadi sekali.  
-Umumnya elemen lain bisa terjadi berkali-kali atau sama sekali tidak terjadi &mdash; meskipun 
-setidaknya sebagian dari elemen itu harus ada untuk agar manifes mencapai sesuatu yang 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+yang diwajibkan, masing-masing harus ada dan hanya boleh terjadi sekali.
+Umumnya elemen lain bisa terjadi berkali-kali atau sama sekali tidak terjadi &mdash; meskipun
+setidaknya sebagian dari elemen itu harus ada untuk agar manifes mencapai sesuatu yang
 berarti.
 
 <p>
-Jika elemen tidak berisi apa pun, berarti elemen itu berisi elemen lain.  
+Jika elemen tidak berisi apa pun, berarti elemen itu berisi elemen lain.
 Semua nilai diatur melalui atribut, bukan sebagai data karakter dalam elemen.
 </p>
 
 <p>
-Elemen yang sama tingkatan umumnya tidak diurutkan.  Misalnya, elemen 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>, dan 
-<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 
-bisa dicampur dalam urutan apa pun.  (Elemen 
+Elemen yang sama tingkatan umumnya tidak diurutkan.  Misalnya, elemen
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>, dan
+<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
+bisa dicampur dalam urutan apa pun.  (Elemen
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
- merupakan eksepsi untuk aturan ini:  Elemen ini harus mengikuti 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
+ merupakan eksepsi untuk aturan ini:  Elemen ini harus mengikuti
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 ini aliasnya.)
 </p></dd>
 
 <dt><b>Atribut</b></dt>
-<dd>Secara formal, semua atribut opsional.  Akan tetapi, ada sebagian 
-yang harus ditetapkan agar elemen bisa mencapai tujuannya.  Gunakan 
-dokumentasi sebagai panduan.  Bagi atribut yang benar-benar opsional, ini menyebutkan 
+<dd>Secara formal, semua atribut opsional.  Akan tetapi, ada sebagian
+yang harus ditetapkan agar elemen bisa mencapai tujuannya.  Gunakan
+dokumentasi sebagai panduan.  Bagi atribut yang benar-benar opsional, ini menyebutkan
 nilai default atau menyatakan apa yang terjadi jika tidak ada spesifikasi.
 
-<p>Selain untuk beberapa atribut elemen akar 
+<p>Selain untuk beberapa atribut elemen akar
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>,
- semua nama atribut dimulai dengan awalan {@code android:} &mdash; 
-misalnya, {@code android:alwaysRetainTaskState}.  Karena awalan ini universal, dokumentasi umumnya meniadakannya saat mengacu atribut 
+ semua nama atribut dimulai dengan awalan {@code android:} &mdash;
+misalnya, {@code android:alwaysRetainTaskState}.  Karena awalan ini universal, dokumentasi umumnya meniadakannya saat mengacu atribut
 dengan nama.
 </p></dd>
 
 <dt><b>Mendeklarasikan nama kelas</b></dt>
-<dd>Banyak elemen berhubungan dengan objek Java, termasuk elemen 
-aplikasi itu sendiri (elemen 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-) dan aktivitas komponen &mdash; utamanya 
-(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>), 
-layanan 
-(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>), 
-penerima siaran 
-(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>), 
-dan penyedia konten 
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).  
+<dd>Banyak elemen berhubungan dengan objek Java, termasuk elemen
+aplikasi itu sendiri (elemen
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+) dan aktivitas komponen &mdash; utamanya
+(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>),
+layanan
+(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>),
+penerima siaran
+(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>),
+dan penyedia konten
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).
 
 <p>
-Jika mendefinisikan subkelas, seperti yang selalu Anda definisikan untuk kelas komponen 
-({@link android.app.Activity}, {@link android.app.Service}, 
-{@link android.content.BroadcastReceiver}, dan {@link android.content.ContentProvider}), 
-subkelas dideklarasikan melalui atribut {@code name}.  Nama harus menyertakan tujuan 
-paket lengkap.  
+Jika mendefinisikan subkelas, seperti yang selalu Anda definisikan untuk kelas komponen
+({@link android.app.Activity}, {@link android.app.Service},
+{@link android.content.BroadcastReceiver}, dan {@link android.content.ContentProvider}),
+subkelas dideklarasikan melalui atribut {@code name}.  Nama harus menyertakan tujuan
+paket lengkap.
 Misalnya, subkelas {@link android.app.Service} mungkin dideklarasikan sebagai berikut:
 </p>
 
@@ -239,12 +239,12 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Akan tetapi, sebagai shorthand, jika karakter pertama string adalah titik, 
-string akan ditambahkan ke nama paket aplikasi (seperti yang ditetapkan dalam elemen 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
- melalui atribut 
+Akan tetapi, sebagai shorthand, jika karakter pertama string adalah titik,
+string akan ditambahkan ke nama paket aplikasi (seperti yang ditetapkan dalam elemen
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
+ melalui atribut
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
-).  Penetapan berikut sama dengan di atas: 
+).  Penetapan berikut sama dengan di atas:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -257,13 +257,13 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Saat memulai komponen, Android akan membuat instance subkelas yang diberi nama.  
+Saat memulai komponen, Android akan membuat instance subkelas yang diberi nama.
 Jika subkelas tidak ditetapkan, maka akak dibuat instance kelas dasar.
 </p></dd>
 
 <dt><b>Banyak nilai</b></dt>
-<dd>Jika lebih dari satu nilai yang dapat ditetapkan, elemen ini hampir selalu 
-diulangi, bukan menampilkan daftar banyak nilai dalam satu elemen.  
+<dd>Jika lebih dari satu nilai yang dapat ditetapkan, elemen ini hampir selalu
+diulangi, bukan menampilkan daftar banyak nilai dalam satu elemen.
 Misalnya, filter intent dapat mencantumkan beberapa tindakan:
 
 <pre>&lt;intent-filter . . . &gt;
@@ -275,23 +275,23 @@
 
 <dt><b>Nilai sumber daya</b></dt>
 <dd>Beberapa atribut memiliki nilai yang bisa ditampilkan kepada pengguna &mdash; misalnya
-, label dan ikon aktivitas.  Nilai atribut ini 
-harus dilokalkan dan karenanya ditetapkan dari sumber daya atau tema.  Nilai sumber 
+, label dan ikon aktivitas.  Nilai atribut ini
+harus dilokalkan dan karenanya ditetapkan dari sumber daya atau tema.  Nilai sumber
 daya dinyatakan dalam format berikut,</p>
 
 <p style="margin-left: 2em">{@code @[<i>package</i>:]<i>type</i>:<i>name</i>}</p>
 
 <p>
-dalam hal ini nama <i>package</i> boleh dihilangkan jika sumber daya ada dalam paket yang sama dengan 
-dengan aplikasi, <i>type</i> adalah tipe sumber daya &mdash; seperti "string" atau 
-"drawable" &mdash; dan <i>name</i> adalah nama yang mengidentifikasi sumber daya tertentu.  
+dalam hal ini nama <i>package</i> boleh dihilangkan jika sumber daya ada dalam paket yang sama dengan
+dengan aplikasi, <i>type</i> adalah tipe sumber daya &mdash; seperti "string" atau
+"drawable" &mdash; dan <i>name</i> adalah nama yang mengidentifikasi sumber daya tertentu.
 Misalnya:
 </p>
 
 <pre>&lt;activity android:icon="@drawable/smallPic" . . . &gt</pre>
 
 <p>
-Nilai tema diekspresikan dengan cara yang sama, namun dengan awal '{@code ?}' 
+Nilai tema diekspresikan dengan cara yang sama, namun dengan awal '{@code ?}'
 dan bukan '{@code @}':
 </p>
 
@@ -299,8 +299,8 @@
 </p></dd>
 
 <dt><b>Nilai-nilai string</b></dt>
-<dd>Bila nilai atribut adalah string, dua garis miring kiri ('{@code \\}') 
-harus digunakan untuk meninggalkan karakter &mdash; misalnya, '{@code \\n}' untuk 
+<dd>Bila nilai atribut adalah string, dua garis miring kiri ('{@code \\}')
+harus digunakan untuk meninggalkan karakter &mdash; misalnya, '{@code \\n}' untuk
 baris baru atau '{@code \\uxxxx}' untuk karakter Unicode.</dd>
 </dl>
 
@@ -308,7 +308,7 @@
 <h2 id="filef">Fitur File</h2>
 
 <p>
-Bagian berikut menjelaskan cara menerapkan sebagian fitur Android 
+Bagian berikut menjelaskan cara menerapkan sebagian fitur Android
 dalam file manifest.
 </p>
 
@@ -316,37 +316,37 @@
 <h3 id="ifs">Filter Intent</h3>
 
 <p>
-Komponen inti dari aplikasi (aktivitasnya, layanannya, dan penerima 
-siaran) diaktifkan oleh <i>intent</i>.  Intent adalah 
-sekumpulan informasi (objek {@link android.content.Intent}) yang menjelaskan 
-tindakan yang diinginkan &mdash; termasuk data yang akan ditindaklanjuti, kategori 
-komponen yang harus melakukan tindakan, dan petunjuk terkait lainnya.  
-Android mencari komponen yang sesuai untuk merespons intent, meluncurkan 
-instance komponen baru jika diperlukan, dan meneruskannya ke 
+Komponen inti dari aplikasi (aktivitasnya, layanannya, dan penerima
+siaran) diaktifkan oleh <i>intent</i>.  Intent adalah
+sekumpulan informasi (objek {@link android.content.Intent}) yang menjelaskan
+tindakan yang diinginkan &mdash; termasuk data yang akan ditindaklanjuti, kategori
+komponen yang harus melakukan tindakan, dan petunjuk terkait lainnya.
+Android mencari komponen yang sesuai untuk merespons intent, meluncurkan
+instance komponen baru jika diperlukan, dan meneruskannya ke
 objek Intent.
 </p>
 
 <p>
-Komponen mengiklankan kemampuannya &mdash; jenis intent yang bisa diresponsnya 
- &mdash; melalui <i>filter intent</i>.  Karena sistem Android 
-harus mempelajari intent yang dapat ditangani komponen sebelum meluncurkan komponen, 
-filter intent ditetapkan dalam manifes sebagai elemen 
+Komponen mengiklankan kemampuannya &mdash; jenis intent yang bisa diresponsnya
+ &mdash; melalui <i>filter intent</i>.  Karena sistem Android
+harus mempelajari intent yang dapat ditangani komponen sebelum meluncurkan komponen,
+filter intent ditetapkan dalam manifes sebagai elemen
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
-.  Sebuah komponen dapat memiliki filter dalam jumlah berapa saja, masing-masing menjelaskan 
+.  Sebuah komponen dapat memiliki filter dalam jumlah berapa saja, masing-masing menjelaskan
 kemampuan yang berbeda.
 </p>
 
 <p>
 Intent yang secara eksplisit menamai komponen target akan mengaktifkan komponen itu;
-filter tidak berperan.  Namun intent yang tidak menetapkan target 
-dengan nama dapat mengaktifkan komponen hanya jika dapat melewati salah satu filter 
+filter tidak berperan.  Namun intent yang tidak menetapkan target
+dengan nama dapat mengaktifkan komponen hanya jika dapat melewati salah satu filter
 komponen.
 </p>
 
 <p>
-Untuk informasi tentang cara objek Intent diuji terhadap filter intent, 
-lihat dokumen terpisah, 
-<a href="{@docRoot}guide/components/intents-filters.html">Intent 
+Untuk informasi tentang cara objek Intent diuji terhadap filter intent,
+lihat dokumen terpisah,
+<a href="{@docRoot}guide/components/intents-filters.html">Intent
 dan Filter Intent</a>.
 </p>
 
@@ -354,42 +354,42 @@
 <h3 id="iconlabel">Ikon dan Label</h3>
 
 <p>
-Sejumlah elemen memiliki atribut {@code icon} dan {@code label} untuk 
-ikon kecil dan label teks yang bisa ditampilkan kepada pengguna.  Sebagian ada juga yang memiliki atribut 
-{@code description}untuk teks penjelasan yang lebih panjang yang juga bisa 
-ditampilkan pada layar.  Misalnya, elemen 
+Sejumlah elemen memiliki atribut {@code icon} dan {@code label} untuk
+ikon kecil dan label teks yang bisa ditampilkan kepada pengguna.  Sebagian ada juga yang memiliki atribut
+{@code description}untuk teks penjelasan yang lebih panjang yang juga bisa
+ditampilkan pada layar.  Misalnya, elemen
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
- memiliki ketiga atribut ini, jadi saat pengguna ditanya apakah akan 
-memberi izin bagi aplikasi yang memintanya, ikon yang mewakili 
-izin, nama izin, dan keterangan yang 
+ memiliki ketiga atribut ini, jadi saat pengguna ditanya apakah akan
+memberi izin bagi aplikasi yang memintanya, ikon yang mewakili
+izin, nama izin, dan keterangan yang
 mengikutinya bisa ditampilkan kepada pengguna.
 </p>
 
 <p>
-Dalam setiap kasus, ikon dan label yang ditetapkan dalam elemen yang memuatnya menjadi 
-{@code icon} default dan pengaturan {@code label} untuk semua subelemen kontainer ini.  
-Karena itu, ikon dan label yang ditetapkan dalam elemen 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-adalah ikon dan label default untuk setiap komponen aplikasi.  
-Demikian pula, ikon dan label yang ditetapkan untuk komponen &mdash; misalnya, elemen 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
-&mdash; adalah pengaturan default untuk setiap elemen komponen 
+Dalam setiap kasus, ikon dan label yang ditetapkan dalam elemen yang memuatnya menjadi
+{@code icon} default dan pengaturan {@code label} untuk semua subelemen kontainer ini.
+Karena itu, ikon dan label yang ditetapkan dalam elemen
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+adalah ikon dan label default untuk setiap komponen aplikasi.
+Demikian pula, ikon dan label yang ditetapkan untuk komponen &mdash; misalnya, elemen
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+&mdash; adalah pengaturan default untuk setiap elemen komponen
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
-.  Jika elemen 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-menetapkan label, namun suatu aktivitas dan filter intent-nya tidak menetapkan label, 
-maka label aplikasi akan dianggap sama-sama sebagai label aktvitas dan 
+.  Jika elemen
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+menetapkan label, namun suatu aktivitas dan filter intent-nya tidak menetapkan label,
+maka label aplikasi akan dianggap sama-sama sebagai label aktvitas dan
 filter intent.
 </p>
 
 <p>
-Ikon dan label yang ditetapkan untuk filter intent digunakan untuk mewakili komponen 
-kapan saja komponen ditampilkan kepada pengguna saat memenuhi fungsi yang 
-diiklankan oleh filter.  Misalnya, filter dengan pengaturan 
-"{@code android.intent.action.MAIN}" dan 
-"{@code android.intent.category.LAUNCHER}" mengiklankan aktivitas 
-sebagai aktivitas yang memulai aplikasi&mdash;, yaitu 
-sebagai salah satu aktivitas yang harus ditampilkan dalam launcher aplikasi.  Ikon dan label yang 
+Ikon dan label yang ditetapkan untuk filter intent digunakan untuk mewakili komponen
+kapan saja komponen ditampilkan kepada pengguna saat memenuhi fungsi yang
+diiklankan oleh filter.  Misalnya, filter dengan pengaturan
+"{@code android.intent.action.MAIN}" dan
+"{@code android.intent.category.LAUNCHER}" mengiklankan aktivitas
+sebagai aktivitas yang memulai aplikasi&mdash;, yaitu
+sebagai salah satu aktivitas yang harus ditampilkan dalam launcher aplikasi.  Ikon dan label yang
 diatur dalam filter karenanya adalah ikon dan label yang ditampilkan dalam launcher.
 </p>
 
@@ -397,14 +397,14 @@
 <h3 id="perms">Izin</h3>
 
 <p>
-Sebuah <i>izin</i> adalah pembatasan yang membatasi akses ke bagian 
-kode atau ke data pada perangkat.   Pembatasan diberlakukan untuk melindungi data dan kode 
-penting yang bisa disalahgunakan untuk mengganggu atau merusak pengalaman pengguna.  
+Sebuah <i>izin</i> adalah pembatasan yang membatasi akses ke bagian
+kode atau ke data pada perangkat.   Pembatasan diberlakukan untuk melindungi data dan kode
+penting yang bisa disalahgunakan untuk mengganggu atau merusak pengalaman pengguna.
 </p>
 
 <p>
-Setiap izin diidentifikasi melalui label yang unik.  Sering kali, label menunjukkan 
-tindakan yang dibatasi.  Misalnya, berikut ini adalah beberapa izin yang didefinisikan 
+Setiap izin diidentifikasi melalui label yang unik.  Sering kali, label menunjukkan
+tindakan yang dibatasi.  Misalnya, berikut ini adalah beberapa izin yang didefinisikan
 oleh Android:
 </p>
 
@@ -418,25 +418,25 @@
 </p>
 
 <p>
-Jika aplikasi memerlukan akses ke fitur yang dilindungi oleh izin, 
-aplikasi harus mendeklarasikan bahwa aplikasi memerlukan izin itu dengan elemen 
+Jika aplikasi memerlukan akses ke fitur yang dilindungi oleh izin,
+aplikasi harus mendeklarasikan bahwa aplikasi memerlukan izin itu dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
- dalam manifes.  Kemudian, bila aplikasi telah diinstal pada 
-perangkat, installer akan menentukan apakah izin yang diminta akan diberikan atau tidak 
-dengan memeriksa otoritas yang menandatangani 
-sertifikat aplikasi dan, dalam beberapa kasus, bertanya pada pengguna.  
-Jika izin diberikan, aplikasi tersebut bisa menggunakan 
-fitur yang dilindungi.  Jika tidak, upaya aplikasi untuk mengakses fitur tersebut akan gagal 
-tanpa ada pemberitahuan apa pun kepada pengguna. 
+ dalam manifes.  Kemudian, bila aplikasi telah diinstal pada
+perangkat, installer akan menentukan apakah izin yang diminta akan diberikan atau tidak
+dengan memeriksa otoritas yang menandatangani
+sertifikat aplikasi dan, dalam beberapa kasus, bertanya pada pengguna.
+Jika izin diberikan, aplikasi tersebut bisa menggunakan
+fitur yang dilindungi.  Jika tidak, upaya aplikasi untuk mengakses fitur tersebut akan gagal
+tanpa ada pemberitahuan apa pun kepada pengguna.
 </p>
 
 <p>
-Aplikasi juga bisa melindungi komponennya sendiri (aktivitas, layanan, 
-penerima siaran, dan penyedia konten) dengan izin.  Aplikasi bisa menerapkan 
-izin mana pun yang didefinisikan oleh Android (tercantum dalam 
-{@link android.Manifest.permission android.Manifest.permission}) atau dideklarasikan 
-oleh aplikasi lain.  Atau aplikasi bisa mendefinisikannya sendiri.  Izin baru dideklarasikan 
-dengan elemen 
+Aplikasi juga bisa melindungi komponennya sendiri (aktivitas, layanan,
+penerima siaran, dan penyedia konten) dengan izin.  Aplikasi bisa menerapkan
+izin mana pun yang didefinisikan oleh Android (tercantum dalam
+{@link android.Manifest.permission android.Manifest.permission}) atau dideklarasikan
+oleh aplikasi lain.  Atau aplikasi bisa mendefinisikannya sendiri.  Izin baru dideklarasikan
+dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 .  Misalnya, aktivitas dapat dilindungi sebagai berikut:
 </p>
@@ -457,43 +457,43 @@
 </pre>
 
 <p>
-Perhatikan, dalam contoh ini izin {@code DEBIT_ACCT} tidak hanya 
-dideklarasikan dengan elemen 
+Perhatikan, dalam contoh ini izin {@code DEBIT_ACCT} tidak hanya
+dideklarasikan dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-, penggunaannya juga diminta dengan elemen 
+, penggunaannya juga diminta dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
-.  Penggunaannya harus diminta agar komponen 
-aplikasi lainnya bisa menjalankan aktivitas yang dilindungi, meskipun perlindungan itu 
-diberlakukan oleh aplikasi itu sendiri.  
+.  Penggunaannya harus diminta agar komponen
+aplikasi lainnya bisa menjalankan aktivitas yang dilindungi, meskipun perlindungan itu
+diberlakukan oleh aplikasi itu sendiri.
 </p>
 
 <p>
-Dalam contoh yang sama, jika atribut {@code permission} ditetapkan 
-untuk izin yang dideklarasikan di tempat lain 
-lain (seperti {@code android.permission.CALL_EMERGENCY_NUMBERS}, maka atribut 
-tidak perlu mendeklarasikannya lagi dengan elemen 
+Dalam contoh yang sama, jika atribut {@code permission} ditetapkan
+untuk izin yang dideklarasikan di tempat lain
+lain (seperti {@code android.permission.CALL_EMERGENCY_NUMBERS}, maka atribut
+tidak perlu mendeklarasikannya lagi dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-.  Akan tetapi, penggunaannya masih perlu dengan 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>. 
+.  Akan tetapi, penggunaannya masih perlu dengan
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>.
 </p>
 
 <p>
-Elemen 
-<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code> 
-mendeklarasikan namespace untuk grup izin yang akan didefinisikan dalam 
-kode.  Dan 
+Elemen
+<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code>
+mendeklarasikan namespace untuk grup izin yang akan didefinisikan dalam
+kode.  Dan
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-mendefinisikan label untuk seperangkat izin (yang sama-sama dideklarasikan dalam manifes dengan elemen 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-dan yang dideklarasikan di tempat lain).  Ini hanya memengaruhi cara izin 
-dikelompokkan saat ditampilkan kepada pengguna.  Elemen 
+mendefinisikan label untuk seperangkat izin (yang sama-sama dideklarasikan dalam manifes dengan elemen
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+dan yang dideklarasikan di tempat lain).  Ini hanya memengaruhi cara izin
+dikelompokkan saat ditampilkan kepada pengguna.  Elemen
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
- tidak menetapkan izin mana dimiliki grup; 
+ tidak menetapkan izin mana dimiliki grup;
 elemen hanya memberi nama grup.  Izin ditempatkan dalam grup
-dengan memberikan nama grup ke elemen 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
- melalui atribut 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code> 
+dengan memberikan nama grup ke elemen
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+ melalui atribut
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code>
 .
 </p>
 
@@ -501,17 +501,17 @@
 <h3 id="libs">Pustaka</h3>
 
 <p>
-Setiap aplikasi ditautkan dengan pustaka default Android, yang 
-menyertakan paket dasar untuk membangun aplikasi (dengan kelas umum 
-seperti Activity, Service, Intent, View, Button, Application, ContentProvider, 
+Setiap aplikasi ditautkan dengan pustaka default Android, yang
+menyertakan paket dasar untuk membangun aplikasi (dengan kelas umum
+seperti Activity, Service, Intent, View, Button, Application, ContentProvider,
 dan sebagainya).
 </p>
 
 <p>
-Akan tetapi, sebagian paket berada dalam pustakanya sendiri.  Jika aplikasi Anda 
-menggunakan kode salah satu paket ini, aplikasi secara eksplisit meminta untuk ditautkan dengan 
-paket tersebut.  Manifes harus berisi elemen 
-<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code> yang 
-terpisah untuk menamai setiap pustaka.  (Nama pustaka bisa ditemukan 
+Akan tetapi, sebagian paket berada dalam pustakanya sendiri.  Jika aplikasi Anda
+menggunakan kode salah satu paket ini, aplikasi secara eksplisit meminta untuk ditautkan dengan
+paket tersebut.  Manifes harus berisi elemen
+<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code> yang
+terpisah untuk menamai setiap pustaka.  (Nama pustaka bisa ditemukan
 dalam dokumentasi paket.)
 </p>
diff --git a/docs/html-intl/intl/in/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/in/guide/topics/providers/calendar-provider.jd
index 76bc991..3058815 100644
--- a/docs/html-intl/intl/in/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/in/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">Menggunakan intent untuk menampilkan data kalender</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">Adaptor Sinkronisasi</a></li>
 </ol>
 
@@ -63,8 +63,8 @@
 
 <p>API Penyedia Kalender bisa digunakan oleh aplikasi dan adaptor sinkronisasi. Aturannya
 bervariasi menurut tipe program yang membuat panggilan. Dokumen ini
-terutama berfokus pada penggunaan API Penyedia Kalender sebagai sebuah aplikasi. Untuk 
-pembahasan ragam adaptor sinkronisasi, lihat 
+terutama berfokus pada penggunaan API Penyedia Kalender sebagai sebuah aplikasi. Untuk
+pembahasan ragam adaptor sinkronisasi, lihat
 <a href="#sync-adapter">Adaptor Sinkronisasi</a>.</p>
 
 
@@ -89,7 +89,7 @@
 <p>Setiap penyedia konten membuka sebuah URI publik (yang dibungkus sebagai objek
 {@link android.net.Uri}
 ) yang mengidentifikasikan set datanya secara unik.  Penyedia konten yang mengontrol
- beberapa set data (beberapa tabel) mengekspos URI terpisah untuk tiap set.  Semua 
+ beberapa set data (beberapa tabel) mengekspos URI terpisah untuk tiap set.  Semua
 URI untuk penyedia diawali dengan string "content://".  String ini
 mengidentifikasi data sebagai dikontrol oleh penyedia konten. Penyedia Kalender
 mendefinisikan konstanta untuk URI masing-masing kelas (tabel). URI ini
@@ -113,26 +113,26 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
-    <td>Tabel ini menyimpan 
+
+    <td>Tabel ini menyimpan
 informasi khusus kalender. Tiap baris dalam tabel ini berisi data untuk
 satu kalender, seperti nama, warna, informasi sinkronisasi, dan seterusnya.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>Tabel ini menyimpan
 informasi khusus kejadian. Tiap baris dalam tabel ini berisi informasi untuk satu
 kejadian&mdash;misalnya, judul kejadian, lokasi, waktu mulai, waktu
 selesai, dan seterusnya. Kejadian bisa terjadi satu kali atau bisa berulang beberapa kali. Peserta,
-pengingat, dan properti perluasan disimpan dalam tabel terpisah. 
-Masing-masing memiliki sebuah {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+pengingat, dan properti perluasan disimpan dalam tabel terpisah.
+Masing-masing memiliki sebuah {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 yang mengacu {@link android.provider.BaseColumns#_ID} dalam tabel Events.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>Tabel ini menyimpan
 waktu mulai dan waktu selesai setiap bentuk kejadian. Tiap baris dalam tabel ini
 mewakili satu bentuk kejadian. Untuk kejadian satu kali ada pemetaan 1:1
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>Tabel ini menyimpan
 informasi peserta (tamu) kejadian. Tiap baris mewakili satu tamu
 kejadian. Ini menetapkan tipe tamu dan respons kehadiran tamu
@@ -149,17 +149,17 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>Tabel ini menyimpan
 data peringatan/pemberitahuan. Tiap baris mewakili satu peringatan untuk sebuah kejadian. Sebuah
 kejadian bisa memiliki beberapa pengingat. Jumlah maksimum pengingat per kejadian
-ditetapkan dalam 
-{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS}, 
+ditetapkan dalam
+{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS},
 yang diatur oleh adaptor sinkronisasi yang
 memiliki kalender yang diberikan. Pengingat ditetapkan dalam menit sebelum kejadian
 dan memiliki metode yang menentukan cara pengguna akan diperingatkan.</td>
   </tr>
-  
+
 </table>
 
 <p>API Penyedia Kalender didesain agar luwes dan tangguh. Sementara itu
@@ -178,9 +178,9 @@
 
 
 <li><strong>Adaptor sinkronisasi.</strong> Adaptor sinkronisasi menyinkronkan data kalender
-pada perangkat pengguna dengan server atau sumber data lain. Dalam tabel 
+pada perangkat pengguna dengan server atau sumber data lain. Dalam tabel
 {@link android.provider.CalendarContract.Calendars} dan
-{@link android.provider.CalendarContract.Events}, 
+{@link android.provider.CalendarContract.Events},
 ada kolom yang dicadangkan untuk digunakan adaptor sinkronisasi.
 Penyedia dan aplikasi tidak boleh memodifikasinya. Sebenarnya, tabel-tabel itu tidak
 terlihat kecuali jika diakses sebagai adaptor sinkronisasi. Untuk informasi selengkapnya tentang
@@ -211,7 +211,7 @@
 
 <p>Tabel {@link android.provider.CalendarContract.Calendars} berisi data
 untuk tiap kalender. Kolom-kolom
-berikut ini bisa ditulisi oleh aplikasi maupun <a href="#sync-adapter">adaptor sinkronisasi</a>. 
+berikut ini bisa ditulisi oleh aplikasi maupun <a href="#sync-adapter">adaptor sinkronisasi</a>.
 Untuk mengetahui daftar lengkap bidang-bidang yang didukung, lihat
 acuan {@link android.provider.CalendarContract.Calendars}.</p>
 <table>
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>Sebuah boolean yang menunjukkan apakah kalender dipilih untuk ditampilkan. Nilai
 0 menunjukkan bahwa kejadian yang terkait dengan kalender ini tidak boleh
 ditampilkan.  Nilai 1 menunjukkan bahwa kejadian yang terkait dengan kalender ini harus
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>Sebuah boolean yang menunjukkan apakah kalender harus disinkronkan dan apakah
 kejadiannya harus disimpan pada perangkat. Nilai 0 berarti jangan menyinkronkan kalender ini atau
 simpan kejadiannya pada perangkat.  Nilai 1 berarti menyinkronkan kejadian untuk kalender ini
@@ -253,8 +253,8 @@
 <p>Berikut ini adalah contoh yang menampilkan cara mendapatkan kalender yang dimiliki oleh
 pengguna tertentu. Untuk memudahkan, dalam contoh ini, operasi query ditampilkan dalam
 thread antarmuka pengguna ("thread utama"). Dalam praktiknya, hal ini harus dilakukan dalam
-thread asinkron, sebagai ganti pada thread utama. Untuk diskusi selengkapnya, lihat 
-<a href="{@docRoot}guide/components/loaders.html">Loader</a>. Jika Anda tidak sekadar 
+thread asinkron, sebagai ganti pada thread utama. Untuk diskusi selengkapnya, lihat
+<a href="{@docRoot}guide/components/loaders.html">Loader</a>. Jika Anda tidak sekadar
 membaca data melainkan memodifikasinya, lihat {@link android.content.AsyncQueryHandler}.
 </p>
 
@@ -268,18 +268,18 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Mengapa Anda harus menyertakan
 ACCOUNT_TYPE?</h3> <p>Jika Anda membuat query pada {@link
 android.provider.CalendarContract.Calendars#ACCOUNT_NAME
-Calendars.ACCOUNT_NAME}, Anda juga harus menyertakan 
+Calendars.ACCOUNT_NAME}, Anda juga harus menyertakan
 {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
 dalam pemilihan. Itu karena akun yang bersangkutan
 hanya dianggap unik mengingat <code>ACCOUNT_NAME</code> dan
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} untuk kalender
 yang tidak terkait dengan akun perangkat. Akun {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} tidak
-disinkronkan.</p> </div> </div> 
+disinkronkan.</p> </div> </div>
 
 
 <p> Di bagian berikutnya pada contoh ini, Anda akan membuat query. Pemilihan
@@ -301,59 +301,59 @@
 telah ditampilkan pengguna, bukan hanya kalender yang dimiliki pengguna, hilangkan <code>OWNER_ACCOUNT</code>.
 Query tersebut akan menghasilkan objek {@link android.database.Cursor}
 yang bisa Anda gunakan untuk menyusuri set hasil yang dikembalikan oleh
-query database. Untuk diskusi selengkapnya tentang penggunaan query dalam penyedia konten, 
+query database. Untuk diskusi selengkapnya tentang penggunaan query dalam penyedia konten,
 lihat <a href="{@docRoot}guide/topics/providers/content-providers.html">Penyedia Kalender</a>.</p>
 
 
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>Bagian berikutnya ini menggunakan kursor untuk merunut set hasil. Bagian ini menggunakan
 konstanta yang disiapkan pada awal contoh ini untuk menghasilkan nilai-nilai
 bagi tiap bidang.</p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">Memodifikasi kalender</h3>
 
 <p>Untuk melakukan pembaruan kalender, Anda bisa menyediakan {@link
 android.provider.BaseColumns#_ID} kalender itu baik sebagai ID yang ditambahkan ke
-URI 
+URI
 
-({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 atau sebagai item pemilihan pertama. Pemilihan
 harus diawali dengan <code>&quot;_id=?&quot;</code>, dan
 <code>selectionArg</code> pertama harus berupa {@link
-android.provider.BaseColumns#_ID} kalender. 
+android.provider.BaseColumns#_ID} kalender.
 Anda juga bisa melakukan pembaruan dengan menuliskan kode ID dalam URI. Contoh ini mengubah
-nama tampilan kalender dengan pendekatan 
-({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+nama tampilan kalender dengan pendekatan
+({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 :</p>
 
 <pre>private static final String DEBUG_TAG = "MyActivity";
@@ -375,7 +375,7 @@
 penyisipan kalender sebagai adaptor sinkronisasi, menggunakan {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} dari {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}.
-{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} 
+{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 adalah sebuah tipe akun khusus untuk kalender yang tidak
 terkait dengan akun perangkat. Kalender tipe ini tidak disinkronkan dengan server. Untuk
 diskusi tentang adaptor sinkronisasi, lihat <a href="#sync-adapter">Adaptor Sinkronisasi</a>.</p>
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>Durasi kejadian dalam format <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a>.
 Misalnya, nilai <code>&quot;PT1H&quot;</code> menyatakan bahwa kejadian
 akan berlangsung satu jam, dan nilai <code>&quot;P2W&quot;</code> menunjukkan
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>Nilai 1 menunjukkan kejadian ini memakan waktu sehari penuh, seperti yang didefinisikan oleh
 zona waktu lokal. Nilai 0 menunjukkan kejadian adalah kejadian biasa yang mungkin dimulai
 dan selesai pada sembarang waktu selama suatu hari.</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>Aturan perulangan untuk format kejadian. Misalnya,
 <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>. Anda bisa menemukan
 contoh selengkapnya <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">di sini</a>.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>Tanggal perulangan kejadian. 
-    Anda biasanya menggunakan {@link android.provider.CalendarContract.EventsColumns#RDATE} 
-    bersama dengan {@link android.provider.CalendarContract.EventsColumns#RRULE} 
+    <td>Tanggal perulangan kejadian.
+    Anda biasanya menggunakan {@link android.provider.CalendarContract.EventsColumns#RDATE}
+    bersama dengan {@link android.provider.CalendarContract.EventsColumns#RRULE}
     untuk mendefinisikan satu set agregat
 kejadian berulang. Untuk diskusi selengkapnya, lihat <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">Spesifikasi RFC5545</a>.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
-    <td>Jika kejadian ini dihitung sebagai waktu sibuk atau waktu bebas yang bisa 
+
+    <td>Jika kejadian ini dihitung sebagai waktu sibuk atau waktu bebas yang bisa
 dijadwalkan. </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 Anda menyisipkan kejadian melalui Intent {@link
 android.content.Intent#ACTION_INSERT INSERT}, yang dijelaskan dalam <a href="#intent-insert">Menggunakan intent untuk menyisipkan kejadian</a>&mdash;dalam
 skenario itu, sebuah zona waktu default akan diberikan.</li>
-  
+
   <li>Untuk kejadian tidak-berulang, Anda harus menyertakan {@link
 android.provider.CalendarContract.EventsColumns#DTEND}. </li>
-  
-  
+
+
   <li>Untuk kejadian berulang, Anda harus menyertakan sebuah {@link
 android.provider.CalendarContract.EventsColumns#DURATION} selain {@link
 android.provider.CalendarContract.EventsColumns#RRULE} atau {@link
@@ -526,9 +526,9 @@
 Anda menyisipkan kejadian melalui Intent {@link
 android.content.Intent#ACTION_INSERT INSERT}, yang dijelaskan dalam <a href="#intent-insert">Menggunakan intent untuk menyisipkan kejadian</a>&mdash;dalam
 skenario itu, Anda bisa menggunakan {@link
-android.provider.CalendarContract.EventsColumns#RRULE} bersama {@link android.provider.CalendarContract.EventsColumns#DTSTART} dan {@link android.provider.CalendarContract.EventsColumns#DTEND}, dan aplikasi Calendar 
+android.provider.CalendarContract.EventsColumns#RRULE} bersama {@link android.provider.CalendarContract.EventsColumns#DTSTART} dan {@link android.provider.CalendarContract.EventsColumns#DTEND}, dan aplikasi Calendar
 akan mengubahnya menjadi durasi secara otomatis.</li>
-  
+
 </ul>
 
 <p>Berikut ini adalah contoh penyisipan kejadian. Penyisipan ini dilakukan dalam thread UI
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -578,14 +578,14 @@
 gunakan Intent {@link android.content.Intent#ACTION_EDIT EDIT}, seperti
 dijelaskan dalam <a href="#intent-edit">Menggunakan intent untuk mengedit kejadian</a>.
 Akan tetapi, jika perlu, Anda bisa mengedit kejadian secara langsung. Untuk melakukan pembaruan
-suatu kejadian, Anda bisa memberikan <code>_ID</code> 
+suatu kejadian, Anda bisa memberikan <code>_ID</code>
 kejadian itu sebagai ID yang ditambahkan ke URI ({@link
-android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
-atau sebagai item pemilihan pertama. 
+android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
+atau sebagai item pemilihan pertama.
 Pemilihan harus dimulai dengan <code>&quot;_id=?&quot;</code>, dan
 <code>selectionArg</code> yang pertama harus berupa <code>_ID</code> kejadian. Anda juga bisa
 melakukan pembaruan dengan menggunakan pemilihan tanpa ID. Berikut ini adalah contoh pembaruan
-kejadian. Contoh ini mengubah judul kejadian dengan pendekatan 
+kejadian. Contoh ini mengubah judul kejadian dengan pendekatan
 {@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}
 :</p>
 
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,22 +625,22 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Tabel Peserta</h2>
 
 <p>Tiap baris tabel {@link android.provider.CalendarContract.Attendees}
-mewakili satu peserta atau tamu dari sebuah kejadian. Memanggil 
-{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 
+mewakili satu peserta atau tamu dari sebuah kejadian. Memanggil
+{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 akan menghasilkan daftar peserta untuk
-kejadian dengan {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} yang diberikan. 
-{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} ini 
+kejadian dengan {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} yang diberikan.
+{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} ini
 harus cocok dengan {@link
-android.provider.BaseColumns#_ID} kejadian tertentu.</p> 
+android.provider.BaseColumns#_ID} kejadian tertentu.</p>
 
 <p>Tabel berikut mencantumkan
-bidang-bidang yang bisa ditulis. Saat menyisipkan peserta baru, Anda harus menyertakan semuanya 
+bidang-bidang yang bisa ditulis. Saat menyisipkan peserta baru, Anda harus menyertakan semuanya
 kecuali <code>ATTENDEE_NAME</code>.
 </p>
 
@@ -698,7 +698,7 @@
 <h3 id="add-attendees">Menambahkan Peserta</h3>
 
 <p>Berikut ini adalah contoh yang menambahkan satu peserta ke kejadian. Perhatikan bahwa
-{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 diperlukan:</p>
 
 <pre>
@@ -718,17 +718,17 @@
 <h2 id="reminders">Tabel Pengingat</h2>
 
 <p>Tiap baris tabel {@link android.provider.CalendarContract.Reminders}
-mewakili satu pengingat untuk sebuah kejadian. Memanggil 
+mewakili satu pengingat untuk sebuah kejadian. Memanggil
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} akan menghasilkan daftar pengingat untuk
-kejadian dengan 
+kejadian dengan
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} yang diberikan.</p>
 
 
 <p>Tabel berikut mencantumkan bidang-bidang yang bisa ditulis untuk pengingat. Semua bidang harus
 disertakan saat menyisipkan pengingat baru. Perhatikan bahwa adaptor sinkronisasi menetapkan
 tipe pengingat yang didukungnya dalam tabel {@link
-android.provider.CalendarContract.Calendars}. Lihat 
-{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS} 
+android.provider.CalendarContract.Calendars}. Lihat
+{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}
 untuk detailnya.</p>
 
 
@@ -773,16 +773,16 @@
 
 <h2 id="instances">Tabel Instances</h2>
 
-<p>Tabel 
+<p>Tabel
 {@link android.provider.CalendarContract.Instances} menyimpan
 waktu mulai dan waktu selesai kejadian. Tiap baris dalam tabel ini
 mewakili satu bentuk kejadian. Tabel instance tidak bisa ditulis dan hanya
 menyediakan sebuah cara untuk membuat query kejadian. </p>
 
-<p>Tabel berikut mencantumkan beberapa bidang yang bisa Anda query untuk suatu instance. Perhatikan 
-bahwa zona waktu didefinisikan oleh 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 
-dan 
+<p>Tabel berikut mencantumkan beberapa bidang yang bisa Anda query untuk suatu instance. Perhatikan
+bahwa zona waktu didefinisikan oleh
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
+dan
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}.</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>Hari selesai Julian dari instance, relatif terhadap
-zona waktu Kalender. 
-    
+zona waktu Kalender.
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>Menit selesai dari instance yang diukur dari tengah malam di zona waktu
 Kalender.</td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>Hari mulai Julian dari instance, relatif terhadap zona waktu Kalender. 
+    <td>Hari mulai Julian dari instance, relatif terhadap zona waktu Kalender.
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>Menit mulai dari instance yang diukur dari tengah malam, relatif terhadap
-zona waktu Kalender. 
+zona waktu Kalender.
 </td>
-    
+
   </tr>
 
 </table>
@@ -840,7 +840,7 @@
 dalam URI. Dalam contoh ini, {@link android.provider.CalendarContract.Instances}
 mendapatkan akses ke bidang {@link
 android.provider.CalendarContract.EventsColumns#TITLE} melalui
-implementasi antarmuka {@link android.provider.CalendarContract.EventsColumns}-nya. 
+implementasi antarmuka {@link android.provider.CalendarContract.EventsColumns}-nya.
 Dengan kata lain, {@link
 android.provider.CalendarContract.EventsColumns#TITLE} dihasilkan melalui
 tampilan database, bukan melalui query terhadap tabel {@link
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -922,9 +922,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    Anda juga bisa mengacu ke URI dengan 
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}. 
-Untuk contoh yang menggunakan intent ini, lihat <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Menggunakan intent untuk menampilkan data kalender</a>. 
+    Anda juga bisa mengacu ke URI dengan
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}.
+Untuk contoh yang menggunakan intent ini, lihat <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Menggunakan intent untuk menampilkan data kalender</a>.
 
     </td>
     <td>Membuka kalender pada waktu yang ditetapkan oleh <code>&lt;ms_since_epoch&gt;</code>.</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    Anda juga bisa mengacu ke URI dengan 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+    Anda juga bisa mengacu ke URI dengan
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Untuk contoh yang menggunakan intent ini, lihat <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Menggunakan intent untuk menampilkan data kalender</a>.
-    
+
     </td>
     <td>Menampilkan kejadian yang ditetapkan oleh <code>&lt;event_id&gt;</code>.</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  Anda juga bisa mengacu ke URI dengan 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+  Anda juga bisa mengacu ke URI dengan
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Untuk contoh penggunaan intent ini, lihat <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">Menggunakan intent untuk mengedit kejadian</a>.
-    
-    
+
+
     </td>
     <td>Mengedit kejadian yang ditetapkan oleh <code>&lt;event_id&gt;</code>.</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   Anda juga bisa mengacu ke URI dengan 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+   Anda juga bisa mengacu ke URI dengan
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Untuk contoh penggunaan intent ini, lihat <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">Menggunakan intent untuk menyisipkan kejadian</a>.
-    
+
     </td>
 
     <td>Membuat sebuah kejadian.</td>
@@ -996,7 +996,7 @@
     <td>Nama kejadian.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>Waktu mulai kejadian dalam milidetik sejak waktu patokan.</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>Waktu selesai kejadian dalam milidetik sejak waktu patokan.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>Sebuah boolean yang menunjukkan bahwa kejadian sehari penuh. Nilai bisa
 <code>true</code> atau <code>false</code>.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>Lokasi kejadian.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>Keterangan kejadian.</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>Apakah kejadian bersifat privat atau publik.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>Jika kejadian ini dihitung sebagai waktu sibuk atau waktu bebas yang bisa dijadwalkan.</td>
-    
-</table> 
+
+</table>
 <p>Bagian berikut menjelaskan cara menggunakan semua intent ini.</p>
 
 
@@ -1059,23 +1059,23 @@
 Dengan pendekatan ini, aplikasi Anda bahkan tidak perlu menyertakan izin {@link
 android.Manifest.permission#WRITE_CALENDAR} dalam <a href="#manifest">file manifesnya</a>.</p>
 
-  
+
 <p>Bila pengguna menjalankan aplikasi yang menggunakan pendekatan ini, aplikasi akan mengirim
 izin ke Kalender untuk menyelesaikan penambahan kejadian. Intent {@link
 android.content.Intent#ACTION_INSERT INSERT} menggunakan bidang-bidang ekstra
 untuk mengisi formulir lebih dahulu dengan detail kejadian dalam Kalender. Pengguna nanti bisa
 membatalkan kejadian, mengedit formulir sebagaimana diperlukan, atau menyimpan kejadian ke
 kalender mereka.</p>
-  
+
 
 
 <p>Berikut ini adalah cuplikan kode yang menjadwalkan kejadian pada tanggal 19 Januari 2012, yang berjalan
 dari 7:30 pagi hingga 8:30 pagi Perhatikan hal-hal berikut tentang cuplikan kode ini:</p>
 
 <ul>
-  <li>Cuplikan kode ini menetapkan {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 
+  <li>Cuplikan kode ini menetapkan {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}
   sebagai URI-nya.</li>
-  
+
   <li>Cuplikan kode ini menggunakan bidang-bidang ekstra {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} dan {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} untuk mengisi dahulu formulir
 dengan waktu kejadian. Nilai-nilai untuk waktu ini harus dalam milidetik UTC
 sejak waktu patokan.</li>
-  
+
   <li>Cuplikan kode ini menggunakan bidang ekstra {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 untuk memberikan daftar undangan yang dipisah koma, yang ditetapkan melalui alamat email.</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,18 +1158,18 @@
 
 <ul>
   <li>Adaptor sinkronisasi perlu menetapkan bahwa dirinya sebuah adaptor sinkronisasi dengan mengatur {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} ke <code>true</code>.</li>
-  
-  
+
+
   <li>Adaptor sinkronisasi perlu memberikan {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} dan {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} sebagai parameter query dalam URI. </li>
-  
+
   <li>Adaptor sinkronisasi memiliki akses tulis ke lebih banyak kolom daripada aplikasi atau widget.
-  Misalnya, aplikasi hanya bisa mengubah sedikit karakteristik kalender, 
+  Misalnya, aplikasi hanya bisa mengubah sedikit karakteristik kalender,
   misalnya nama, nama tampilan, pengaturan visibilitas, dan apakah kalender
   disinkronkan atau tidak. Sebagai perbandingan, adaptor sinkronisasi bisa mengakses bukan hanya kolom-kolom itu, namun banyak kolom lainnya,
   misalnya warna kalender, zona waktu, tingkat akses, lokasi, dan seterusnya.
-Akan tetapi, adaptor sinkronisasi dibatasi pada <code>ACCOUNT_NAME</code> dan 
+Akan tetapi, adaptor sinkronisasi dibatasi pada <code>ACCOUNT_NAME</code> dan
 <code>ACCOUNT_TYPE</code> yang ditetapkannya.</li> </ul>
 
 <p>Berikut ini adalah metode pembantu yang bisa Anda gunakan untuk menghasilkan URI bagi penggunaan dengan adaptor sinkronisasi:</p>
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>Untuk contoh implementasi adaptor sinkronisasi (yang tidak terkait secara khusus dengan Kalender), lihat 
+<p>Untuk contoh implementasi adaptor sinkronisasi (yang tidak terkait secara khusus dengan Kalender), lihat
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>.
diff --git a/docs/html-intl/intl/in/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/in/guide/topics/providers/content-provider-basics.jd
index c4003ca..4af9277 100644
--- a/docs/html-intl/intl/in/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/in/guide/topics/providers/content-provider-basics.jd
@@ -236,7 +236,7 @@
     Misalnya, untuk mendapatkan daftar kata dan lokalnya dari Penyedia Kamus Pengguna,
     Anda memanggil {@link android.content.ContentResolver#query ContentResolver.query()}.
     Metode {@link android.content.ContentResolver#query query()} memanggil
-    metode {@link android.content.ContentProvider#query ContentProvider.query()} yang didefinisikan oleh 
+    metode {@link android.content.ContentProvider#query ContentProvider.query()} yang didefinisikan oleh
     Penyedia Kamus Pengguna. Baris-baris kode berikut menunjukkan sebuah
     panggilan {@link android.content.ContentResolver#query ContentResolver.query()}:
 <p>
@@ -251,7 +251,7 @@
 </pre>
 <p>
     Tabel 2 menampilkan cara argumen untuk
-    {@link android.content.ContentResolver#query 
+    {@link android.content.ContentResolver#query
     query(Uri,projection,selection,selectionArgs,sortOrder)} cocok dengan sebuah pernyataan SELECT di SQL:
 </p>
 <p class="table-caption">
@@ -310,7 +310,7 @@
     {@link android.provider.UserDictionary.Words#CONTENT_URI} mengandung URI konten dari
     tabel "words" kamus pengguna. Objek {@link android.content.ContentResolver}
     akan mengurai otoritas URI, dan menggunakannya untuk "mengetahui" penyedia dengan
-    membandingkan otoritas tersebut dengan sebuah tabel sistem berisi penyedia yang dikenal. 
+    membandingkan otoritas tersebut dengan sebuah tabel sistem berisi penyedia yang dikenal.
 {@link android.content.ContentResolver}    kemudian bisa mengirim argumen query ke penyedia
     yang benar.
 </p>
@@ -343,8 +343,8 @@
     salah satunya.
 </p>
 <p class="note">
-    <strong>Catatan:</strong> Kelas-kelas {@link android.net.Uri} dan {@link android.net.Uri.Builder} 
-    berisi metode praktis untuk membangun objek dari string URI yang tersusun dengan baik. 
+    <strong>Catatan:</strong> Kelas-kelas {@link android.net.Uri} dan {@link android.net.Uri.Builder}
+    berisi metode praktis untuk membangun objek dari string URI yang tersusun dengan baik.
 {@link android.content.ContentUris}    berisi metode praktis untuk menambahkan nilai ID ke
     URI. Cuplikan kode sebelumnya menggunakan {@link android.content.ContentUris#withAppendedId
     withAppendedId()} untuk menambahkan id ke URI konten User Dictionary.
@@ -359,8 +359,8 @@
 </p>
 <p class="note">
     Demi kejelasan, cuplikan kode di bagian ini memanggil
-    {@link android.content.ContentResolver#query ContentResolver.query()} pada "UI thread"". Akan tetapi, dalam 
-    kode sesungguhnya, Anda harus melakukan query secara asinkron pada sebuah thread terpisah. Satu cara melakukannya 
+    {@link android.content.ContentResolver#query ContentResolver.query()} pada "UI thread"". Akan tetapi, dalam
+    kode sesungguhnya, Anda harus melakukan query secara asinkron pada sebuah thread terpisah. Satu cara melakukannya
     adalah menggunakan kelas {@link android.content.CursorLoader}, yang dijelaskan
     lebih detail dalam panduan <a href="{@docRoot}guide/components/loaders.html">
     Loader</a>. Juga, baris-baris kode tersebut hanyalah cuplikan; tidak menunjukkan sebuah aplikasi
@@ -428,7 +428,7 @@
 <p>
     Cuplikan berikutnya menampilkan cara menggunakan
     {@link android.content.ContentResolver#query ContentResolver.query()}, dengan menggunakan Penyedia Kamus Pengguna
-    sebagai contoh. Query klien penyedia serupa dengan query SQL, dan berisi satu 
+    sebagai contoh. Query klien penyedia serupa dengan query SQL, dan berisi satu
     set kolom yang akan dihasilkan, satu set kriteria pemilihan, dan urutan sortir.
 </p>
 <p>
@@ -438,8 +438,8 @@
 <p>
     Ekspresi yang menetapkan baris yang harus diambil dipecah menjadi klausa pemilihan dan
     argumen pemilihan. Klausa pemilihan adalah kombinasi ekspresi logis dan boolean,
-    nama kolom, dan nilai (variabel <code>mSelectionClause</code>). Jika Anda menetapkan 
-    parameter <code>?</code> yang bisa diganti, sebagai ganti nilai, metode query akan mengambil nilai 
+    nama kolom, dan nilai (variabel <code>mSelectionClause</code>). Jika Anda menetapkan
+    parameter <code>?</code> yang bisa diganti, sebagai ganti nilai, metode query akan mengambil nilai
     dari larik argumen pemilihan (variabel <code>mSelectionArgs</code>).
 </p>
 <p>
@@ -558,21 +558,21 @@
 selectionArgs[0] = mUserInput;
 </pre>
 <p>
-    Sebuah klausa pemilihan yang menggunakan <code>?</code> sebagai parameter yang bisa diganti dan sebuah larik 
+    Sebuah klausa pemilihan yang menggunakan <code>?</code> sebagai parameter yang bisa diganti dan sebuah larik
     argumen pemilihan adalah cara yang lebih disukai untuk menyebutkan pemilihan, sekalipun penyedia tidak
     dibuat berdasarkan database SQL.
 </p>
 <!-- Displaying the results -->
 <h3 id="DisplayResults">Menampilkan hasil query</h3>
 <p>
-    Metode klien {@link android.content.ContentResolver#query ContentResolver.query()} selalu 
-    menghasilkan {@link android.database.Cursor} berisi kolom-kolom yang ditetapkan oleh 
+    Metode klien {@link android.content.ContentResolver#query ContentResolver.query()} selalu
+    menghasilkan {@link android.database.Cursor} berisi kolom-kolom yang ditetapkan oleh
     proyeksi query untuk baris yang cocok dengan kriteria pemilihan query. Objek
-    {@link android.database.Cursor} menyediakan akses baca acak ke baris dan kolom yang 
-    dimuatnya. Dengan metode {@link android.database.Cursor}, Anda bisa mengulang baris-baris dalam 
+    {@link android.database.Cursor} menyediakan akses baca acak ke baris dan kolom yang
+    dimuatnya. Dengan metode {@link android.database.Cursor}, Anda bisa mengulang baris-baris dalam
     hasil, menentukan tipe data tiap kolom, mengambil data dari kolom, dan memeriksa
-    properti lain dari hasil. Beberapa implementasi {@link android.database.Cursor} 
-    akan memperbarui objek secara otomatis bila data penyedia berubah, atau memicu metode dalam objek pengamat 
+    properti lain dari hasil. Beberapa implementasi {@link android.database.Cursor}
+    akan memperbarui objek secara otomatis bila data penyedia berubah, atau memicu metode dalam objek pengamat
     bila {@link android.database.Cursor} berubah, atau keduanya.
 </p>
 <p class="note">
@@ -703,14 +703,14 @@
 <p>
     Untuk mendapatkan izin yang diperlukan untuk mengakses penyedia, aplikasi memintanya dengan elemen
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
-    dalam file manifesnya. Bila Android Package Manager memasang aplikasi, pengguna 
-    harus menyetujui semua izin yang diminta aplikasi. Jika pengguna menyetujui semuanya, 
+    dalam file manifesnya. Bila Android Package Manager memasang aplikasi, pengguna
+    harus menyetujui semua izin yang diminta aplikasi. Jika pengguna menyetujui semuanya,
     Package Manager akan melanjutkan instalasi; jika pengguna tidak menyetujui, Package Manager
     akan membatalkan instalasi.
 </p>
 <p>
     Elemen
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
     berikut meminta akses baca ke Penyedia Kamus Pengguna:
 </p>
 <pre>
@@ -793,8 +793,8 @@
     Untuk memperbarui sebuah baris, gunakan objek {@link android.content.ContentValues} dengan
     nilai-nilai yang diperbarui, persis seperti yang Anda lakukan pada penyisipan, dan kriteria pemilihan persis seperti yang Anda lakukan pada query.
     Metode klien yang Anda gunakan adalah
-    {@link android.content.ContentResolver#update ContentResolver.update()}. Anda hanya perlu menambahkan 
-    nilai-nilai ke objek {@link android.content.ContentValues} untuk kolom yang sedang Anda perbarui. Jika Anda 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. Anda hanya perlu menambahkan
+    nilai-nilai ke objek {@link android.content.ContentValues} untuk kolom yang sedang Anda perbarui. Jika Anda
     ingin membersihkan konten kolom, aturlah nilai ke <code>null</code>.
 </p>
 <p>
@@ -828,7 +828,7 @@
 </pre>
 <p>
     Anda juga harus membersihkan input pengguna bila memanggil
-    {@link android.content.ContentResolver#update ContentResolver.update()}. Untuk mengetahui selengkapnya tentang 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. Untuk mengetahui selengkapnya tentang
     hal ini, bacalah bagian <a href="#Injection">Melindungi dari input merusak</a>.
 </p>
 <h3 id="Deleting">Menghapus data</h3>
@@ -858,7 +858,7 @@
 </pre>
 <p>
     Anda juga harus membersihkan input pengguna bila memanggil
-    {@link android.content.ContentResolver#delete ContentResolver.delete()}. Untuk mengetahui selengkapnya tentang 
+    {@link android.content.ContentResolver#delete ContentResolver.delete()}. Untuk mengetahui selengkapnya tentang
     hal ini, bacalah bagian <a href="#Injection">Melindungi dari input merusak</a>.
 </p>
 <!-- Provider Data Types -->
@@ -883,7 +883,7 @@
     </ul>
 <p>
     Tipe data lain yang sering digunakan penyedia adalah Binary Large OBject (BLOB) yang diimplementasikan sebagai
-    larik byte 64 KB. Anda bisa melihat tipe data yang tersedia dengan memperhatikan metode "get" 
+    larik byte 64 KB. Anda bisa melihat tipe data yang tersedia dengan memperhatikan metode "get"
     kelas {@link android.database.Cursor}.
 </p>
 <p>
@@ -905,7 +905,7 @@
     {@link android.content.ContentResolver#getType ContentResolver.getType()}.
 </p>
 <p>
-    Bagian <a href="#MIMETypeReference">Acuan Tipe MIME</a> menerangkan 
+    Bagian <a href="#MIMETypeReference">Acuan Tipe MIME</a> menerangkan
     sintaks tipe MIME baik yang standar maupun custom.
 </p>
 
@@ -946,9 +946,9 @@
     Untuk mengakses penyedia dalam "mode batch",
     buat satu larik objek {@link android.content.ContentProviderOperation}, kemudian
     kirim larik itu ke penyedia konten dengan
-    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. Anda meneruskan 
-    <em>otoritas</em> penyedia konten ke metode ini, daripada URI konten tertentu. 
-    Ini memungkinkan tiap objek {@link android.content.ContentProviderOperation} dalam larik untuk bekerja 
+    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. Anda meneruskan
+    <em>otoritas</em> penyedia konten ke metode ini, daripada URI konten tertentu.
+    Ini memungkinkan tiap objek {@link android.content.ContentProviderOperation} dalam larik untuk bekerja
     terhadap tabel yang berbeda. Panggilan ke {@link android.content.ContentResolver#applyBatch
     ContentResolver.applyBatch()} menghasilkan satu larik hasil.
 </p>
@@ -1011,7 +1011,7 @@
 <p>
     Penyedia mendefinisikan izin URI untuk URI konten dalam manifesnya, dengan menggunakan atribut
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">android:grantUriPermission</a></code>
-    dari elemen 
+    dari elemen
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
 ,   serta elemen anak
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code>
@@ -1184,7 +1184,7 @@
 vnd.android.cursor.<strong>item</strong>/vnd.example.line2
 </pre>
 <p>
-    Kebanyakan penyedia konten mendefinisikan konstanta kelas kontrak untuk tipe MIME yang digunakannya. Kelas kontrak 
+    Kebanyakan penyedia konten mendefinisikan konstanta kelas kontrak untuk tipe MIME yang digunakannya. Kelas kontrak
     {@link android.provider.ContactsContract.RawContacts} pada Penyedia Kontak
     misalnya, mendefinisikan konstanta
     {@link android.provider.ContactsContract.RawContacts#CONTENT_ITEM_TYPE} untuk tipe MIME
diff --git a/docs/html-intl/intl/in/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/in/guide/topics/providers/content-provider-creating.jd
index fefce70..7fbc613 100644
--- a/docs/html-intl/intl/in/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/in/guide/topics/providers/content-provider-creating.jd
@@ -1171,7 +1171,7 @@
             <li>
                 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#label">
                 android:label</a></code>: Label informatif yang menjelaskan penyedia atau
-                datanya, atau keduanya. Label ini muncul dalam daftar aplikasi di 
+                datanya, atau keduanya. Label ini muncul dalam daftar aplikasi di
                 <em>Settings</em> &gt; <em>Apps</em> &gt; <em>All</em>.
             </li>
         </ul>
@@ -1189,7 +1189,7 @@
     Aplikasi bisa mengakses penyedia konten secara tidak langsung dengan sebuah {@link android.content.Intent}.
     Aplikasi tidak memanggil satu pun dari metode-metode {@link android.content.ContentResolver} atau
     {@link android.content.ContentProvider}. Sebagai gantinya, aplikasi mengirim intent yang memulai aktivitas,
-    yang sering kali merupakan bagian dari aplikasi penyedia sendiri. Aktivitas tujuan bertugas 
+    yang sering kali merupakan bagian dari aplikasi penyedia sendiri. Aktivitas tujuan bertugas
     mengambil dan menampilkan data dalam UI-nya. Bergantung pada tindakan dalam intent,
     aktivitas tujuan juga bisa meminta pengguna untuk membuat modifikasi pada data penyedia.
     Intent juga bisa berisi data "ekstra" yang menampilkan aktivitas tujuan
diff --git a/docs/html-intl/intl/in/guide/topics/providers/content-providers.jd b/docs/html-intl/intl/in/guide/topics/providers/content-providers.jd
index fc6f12b..2dcd55e 100644
--- a/docs/html-intl/intl/in/guide/topics/providers/content-providers.jd
+++ b/docs/html-intl/intl/in/guide/topics/providers/content-providers.jd
@@ -69,7 +69,7 @@
 <p>
     Android sendiri berisi penyedia konten yang mengelola data seperti informasi audio, video, gambar, dan
  kontak pribadi. Anda bisa melihat sebagian informasi ini tercantum dalam dokumentasi
- acuan untuk paket 
+ acuan untuk paket
  <code><a href="{@docRoot}reference/android/provider/package-summary.html">android.provider</a>
     </code>. Dengan beberapa batasan, semua penyedia ini bisa diakses oleh aplikasi Android
  apa saja.
diff --git a/docs/html-intl/intl/in/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/in/guide/topics/providers/document-provider.jd
index c066e85..f857467 100644
--- a/docs/html-intl/intl/in/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/in/guide/topics/providers/document-provider.jd
@@ -96,7 +96,7 @@
 Platform Android terdiri dari beberapa penyedia dokumen bawaan, seperti
 Downloads, Images, dan Videos.</li>
 
-<li><strong>Aplikasi klien</strong>&mdash;Aplikasi custom yang memanggil intent 
+<li><strong>Aplikasi klien</strong>&mdash;Aplikasi custom yang memanggil intent
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} dan/atau
 {@link android.content.Intent#ACTION_CREATE_DOCUMENT} dan menerima
 file yang dihasilkan penyedia dokumen.</li>
@@ -446,7 +446,7 @@
 
 <h3 id="delete">Menghapus dokumen</h3>
 
-<p>Jika Anda memiliki URI dokumen dan 
+<p>Jika Anda memiliki URI dokumen dan
 {@link android.provider.DocumentsContract.Document#COLUMN_FLAGS Document.COLUMN_FLAGS}
  dokumen berisi
 {@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_DELETE SUPPORTS_DELETE},
diff --git a/docs/html-intl/intl/in/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/in/guide/topics/resources/accessing-resources.jd
index e4a0bea..6774557 100644
--- a/docs/html-intl/intl/in/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/in/guide/topics/resources/accessing-resources.jd
@@ -60,7 +60,7 @@
 string}, {@code drawable}, dan {@code layout}. Untuk mengetahui selengkapnya tentang berbagai tipe, lihat <a href="available-resources.html">Tipe Sumber Daya</a>.
   </li>
   <li><em>Nama sumber daya</em>, bisa berupa: nama file,
-tidak termasuk ekstensi; atau nilai dalam atribut {@code android:name} XML, jika 
+tidak termasuk ekstensi; atau nilai dalam atribut {@code android:name} XML, jika
 sumber daya itu sebuah nilai sederhana (misalnya sebuah string).</li>
 </ul>
 
@@ -259,8 +259,8 @@
     android:text=&quot;&#64;string/hello&quot; /&gt;
 </pre>
 
-<p class="note"><strong>Catatan:</strong> Anda harus menggunakan sumber daya string sepanjang 
-waktu, sehingga aplikasi Anda bisa dilokalkan untuk bahasa lain. 
+<p class="note"><strong>Catatan:</strong> Anda harus menggunakan sumber daya string sepanjang
+waktu, sehingga aplikasi Anda bisa dilokalkan untuk bahasa lain.
 Untuk informasi tentang cara menciptakan
 sumber daya alternatif (seperti string lokal), lihat <a href="providing-resources.html#AlternativeResources">Menyediakan Sumber Daya Alternatif
 </a>. Untuk panduan lengkap melokalkan aplikasi Anda ke bahasa lain,
@@ -332,6 +332,6 @@
 
 <p>Dalam contoh ini, {@link android.R.layout#simple_list_item_1} adalah sumber daya layout yang didefinisikan oleh
 platform untuk item di {@link android.widget.ListView}. Anda bisa menggunakannya sebagai ganti menciptakan
-layout sendiri untuk item daftar. Untuk informasi selengkapnya, lihat panduan pengembang 
+layout sendiri untuk item daftar. Untuk informasi selengkapnya, lihat panduan pengembang
 <a href="{@docRoot}guide/topics/ui/layout/listview.html">List View</a>.</p>
 
diff --git a/docs/html-intl/intl/in/guide/topics/resources/overview.jd b/docs/html-intl/intl/in/guide/topics/resources/overview.jd
index 966800c..def4932 100644
--- a/docs/html-intl/intl/in/guide/topics/resources/overview.jd
+++ b/docs/html-intl/intl/in/guide/topics/resources/overview.jd
@@ -24,7 +24,7 @@
 sumber daya juga membuat Anda dapat menyediakan sumber daya alternatif yang mendukung konfigurasi
 perangkat tertentu seperti bahasa atau ukuran layar yang berbeda, yang semakin penting
 seiring semakin banyak tersedianya perangkat berbasis Android dengan konfigurasi berbeda. Untuk
-memberikan kompatibilitas dengan konfigurasi berbeda, Anda harus menata sumber daya dalam 
+memberikan kompatibilitas dengan konfigurasi berbeda, Anda harus menata sumber daya dalam
 direktori {@code res/} proyek Anda, menggunakan berbagai subdirektori yang mengelompokkan sumber daya menurut tipe
 dan konfigurasinya.</p>
 
@@ -46,7 +46,7 @@
 <em>alternatif</em> untuk aplikasi Anda:</p>
 <ul>
   <li>Sumber daya default adalah sumber daya yang harus digunakan apa pun
-konfigurasi perangkatnya atau jika tidak ada sumber daya alternatif yang sesuai 
+konfigurasi perangkatnya atau jika tidak ada sumber daya alternatif yang sesuai
 dengan konfigurasi saat ini.</li>
   <li>Sumber daya alternatif adalah sumber daya yang Anda desain untuk digunakan dengan
 konfigurasi tertentu. Untuk menetapkan bahwa satu kelompok sumber daya ditujukan bagi konfigurasi tertentu,
diff --git a/docs/html-intl/intl/in/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/in/guide/topics/resources/providing-resources.jd
index d6bbfc5..9bccd24 100644
--- a/docs/html-intl/intl/in/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/in/guide/topics/resources/providing-resources.jd
@@ -176,7 +176,7 @@
         <li>styles.xml untuk <a href="style-resource.html">gaya</a>.</li>
       </ul>
       <p>Lihat <a href="string-resource.html">Sumber Daya String</a>,
-        <a href="style-resource.html">Sumber Daya Gaya</a>, dan 
+        <a href="style-resource.html">Sumber Daya Gaya</a>, dan
         <a href="more-resources.html">Tipe Sumber Daya Lainnya</a>.</p>
     </td>
   </tr>
@@ -289,7 +289,7 @@
  dari kartu SIM dalam perangkat. Misalnya, <code>mcc310</code> adalah AS untuk operator mana saja,
  <code>mcc310-mnc004</code> adalah AS untuk Verizon, dan <code>mcc208-mnc00</code> Prancis untuk
 Orange.</p>
-        <p>Jika perangkat menggunakan koneksi radio (ponsel GSM), nilai-nilai MCC dan MNC berasal 
+        <p>Jika perangkat menggunakan koneksi radio (ponsel GSM), nilai-nilai MCC dan MNC berasal
 dari kartu SIM.</p>
         <p>Anda juga dapat menggunakan MNC saja (misalnya, untuk menyertakan sumber daya legal
 spesifik untuk negara itu di aplikasi Anda). Jika Anda perlu menetapkan hanya berdasarkan bahasa, maka gunakan qualifier
@@ -312,7 +312,7 @@
         dll.
       </td>
       <td><p>Bahasa didefinisikan oleh kode bahasa dua huruf <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">ISO
-639-1</a>, bisa juga diikuti dengan kode wilayah 
+639-1</a>, bisa juga diikuti dengan kode wilayah
 dua huruf <a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO
 3166-1-alpha-2</a> (diawali dengan huruf kecil "{@code r}").
         </p><p>
@@ -428,8 +428,8 @@
         <p>Bila aplikasi Anda menyediakan beberapa direktori sumber daya dengan nilai yang berbeda
  untuk konfigurasi ini, sistem akan menggunakan nilai terdekat dengan (tanpa melebihi)
  lebar layar perangkat saat ini.  Nilai
-di sini memperhitungkan dekorasi layar akun, jadi jika perangkat memiliki beberapa 
-elemen UI persisten di tepi kiri atau kanan, layar 
+di sini memperhitungkan dekorasi layar akun, jadi jika perangkat memiliki beberapa
+elemen UI persisten di tepi kiri atau kanan, layar
 menggunakan nilai lebar yang lebih kecil daripada ukuran layar sebenarnya, yang memperhitungkan
 elemen UI ini dan mengurangi ruang aplikasi yang tersedia.</p>
         <p><em>Ditambahkan dalam API level 13.</em></p>
@@ -455,14 +455,14 @@
 berubah antara lanskap dan potret agar cocok dengan tinggi sebenarnya saat ini.</p>
         <p>Bila aplikasi menyediakan beberapa direktori sumber daya dengan nilai yang berbeda
  untuk konfigurasi ini, sistem akan menggunakan nilai yang terdekat dengan (tanpa melebihi)
- tinggi layar perangkat saat ini.  Nilai 
+ tinggi layar perangkat saat ini.  Nilai
 di sini memperhitungkan dekorasi layar akun, jadi jika perangkat memiliki beberapa
 elemen UI persisten di tepi atas atau bawah, layar akan
 menggunakan nilai tinggi yang lebih kecil daripada ukuran layar sebenarnya, memperhitungkan
-elemen UI ini dan mengurangi ruang aplikasi yang tersedia.  Dekorasi 
-layar yang tidak tetap (misalnya baris status (status-bar) telepon yang bisa 
-disembunyikan saat layar penuh) di sini <em>tidak</em> diperhitungkan, demikian pula 
-dekorasi jendela seperti baris judul (title-bar)atau baris tindakan (action-bar), jadi aplikasi harus disiapkan 
+elemen UI ini dan mengurangi ruang aplikasi yang tersedia.  Dekorasi
+layar yang tidak tetap (misalnya baris status (status-bar) telepon yang bisa
+disembunyikan saat layar penuh) di sini <em>tidak</em> diperhitungkan, demikian pula
+dekorasi jendela seperti baris judul (title-bar)atau baris tindakan (action-bar), jadi aplikasi harus disiapkan
 untuk menangani ruang yang agak lebih kecil daripada yang ditetapkan.
         <p><em>Ditambahkan dalam API level 13.</em></p>
         <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#screenHeightDp}
@@ -482,35 +482,35 @@
       </td>
       <td>
         <ul class="nolist">
-        <li>{@code small}: Layar yang berukuran serupa dengan 
-layar QVGA densitas rendah. Ukuran layout minimum untuk layar kecil 
-adalah sekitar 320x426 satuan dp.  Misalnya QVGA densitas rendah 
+        <li>{@code small}: Layar yang berukuran serupa dengan
+layar QVGA densitas rendah. Ukuran layout minimum untuk layar kecil
+adalah sekitar 320x426 satuan dp.  Misalnya QVGA densitas rendah
 dan VGA densitas tinggi.</li>
-        <li>{@code normal}: Layar yang berukuran serupa dengan 
+        <li>{@code normal}: Layar yang berukuran serupa dengan
 layar HVGA densitas sedang. Ukuran layout minimum untuk
-layar normal adalah sekitar 320x470 satuan dp.  Contoh layar seperti itu adalah 
+layar normal adalah sekitar 320x470 satuan dp.  Contoh layar seperti itu adalah
 WQVGA densitas rendah, HVGA densitas sedang, WVGA
      densitas tinggi.</li>
-        <li>{@code large}: Layar yang berukuran serupa dengan 
+        <li>{@code large}: Layar yang berukuran serupa dengan
 layar VGA densitas sedang.
         Ukuran layout minimum untuk layar besar adalah sekitar 480x640 satuan dp.
         Misalnya layar VGA dan WVGA densitas sedang.</li>
-        <li>{@code xlarge}: Layar yang jauh lebih besar dari layar HVGA 
-densitas sedang tradisional. Ukuran layout minimum untuk 
-layar ekstra besar adalah sekitar 720x960 satuan dp.  Perangkat dengan layar ekstra besar 
+        <li>{@code xlarge}: Layar yang jauh lebih besar dari layar HVGA
+densitas sedang tradisional. Ukuran layout minimum untuk
+layar ekstra besar adalah sekitar 720x960 satuan dp.  Perangkat dengan layar ekstra besar
 seringkali terlalu besar untuk dibawa dalam saku dan kemungkinan besar
  berupa perangkat bergaya tablet. <em>Ditambahkan dalam API level 9.</em></li>
         </ul>
-        <p class="note"><strong>Catatan:</strong> Menggunakan qualifier ukuran tidak berarti bahwa 
+        <p class="note"><strong>Catatan:</strong> Menggunakan qualifier ukuran tidak berarti bahwa
 sumber daya <em>hanya</em> untuk layar ukuran itu saja. Jika Anda tidak menyediakan sumber
 daya alternatif dengan qualifier yang lebih cocok dengan konfigurasi perangkat saat ini, sistem dapat menggunakan sumber daya
 mana saja yang <a href="#BestMatch">paling cocok</a>.</p>
-        <p class="caution"><strong>Perhatian:</strong> Jika semua sumber daya Anda menggunakan 
-qualifier yang berukuran <em>lebih besar</em> daripada layar saat ini, sistem <strong>tidak</strong> akan menggunakannya dan aplikasi 
+        <p class="caution"><strong>Perhatian:</strong> Jika semua sumber daya Anda menggunakan
+qualifier yang berukuran <em>lebih besar</em> daripada layar saat ini, sistem <strong>tidak</strong> akan menggunakannya dan aplikasi
 Anda akan crash saat runtime (misalnya, jika semua sumber daya layout ditandai dengan qualifier {@code
 xlarge}, namun perangkat memiliki ukuran layar normal).</p>
         <p><em>Ditambahkan dalam API level 4.</em></p>
-        
+
         <p>Lihat <a href="{@docRoot}guide/practices/screens_support.html">Mendukung Beberapa
 Layar</a> untuk informasi selengkapnya.</p>
         <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#screenLayout},
@@ -552,7 +552,7 @@
         <p>Ini bisa berubah selama masa pakai aplikasi Anda jika pengguna memutar
 layar. Lihat <a href="runtime-changes.html">Menangani Perubahan Runtime</a> untuk
  informasi tentang bagaimana hal ini memengaruhi aplikasi Anda selama runtime.</p>
-        <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#orientation}, 
+        <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#orientation},
 yang menunjukkan orientasi perangkat saat ini.</p>
       </td>
     </tr>
@@ -569,19 +569,19 @@
         <ul class="nolist">
           <li>{@code car}: Perangkat sedang menampilkan di dudukan perangkat di mobil</li>
           <li>{@code desk}: Perangkat sedang menampilkan di dudukan perangkat di meja</li>
-          <li>{@code television}: Perangkat sedang menampilkan di televisi, yang menyediakan 
+          <li>{@code television}: Perangkat sedang menampilkan di televisi, yang menyediakan
 pengalaman "sepuluh kaki" dengan UI-nya pada layar besar yang berada jauh dari pengguna,
-terutama diorientasikan seputar DPAD atau 
+terutama diorientasikan seputar DPAD atau
 interaksi non-pointer lainnya</li>
-          <li>{@code appliance}: Perangkat berlaku sebagai 
+          <li>{@code appliance}: Perangkat berlaku sebagai
 alat, tanpa tampilan</li>
           <li>{@code watch}: Perangkat memiliki tampilan dan dikenakan di pergelangan tangan</li>
         </ul>
         <p><em>Ditambahkan dalam API level 8, televisi ditambahkan dalam API 13, jam ditambahkan dalam API 20.</em></p>
-        <p>Untuk informasi tentang cara aplikasi merespons saat perangkat dimasukkan 
+        <p>Untuk informasi tentang cara aplikasi merespons saat perangkat dimasukkan
 ke dalam atau dilepaskan dari dudukannya, bacalah <a href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">Menentukan
 dan Memantau Kondisi dan Tipe Dudukan</a>.</p>
-        <p>Ini bisa berubah selama masa pakai aplikasi jika pengguna menempatkan perangkat di 
+        <p>Ini bisa berubah selama masa pakai aplikasi jika pengguna menempatkan perangkat di
 dudukannya. Anda dapat mengaktifkan atau menonaktifkan sebagian mode ini menggunakan {@link
 android.app.UiModeManager}. Lihat <a href="runtime-changes.html">Menangani Perubahan Runtime</a> untuk
 informasi tentang bagaimana hal ini memengaruhi aplikasi Anda selama runtime.</p>
@@ -601,7 +601,7 @@
         <p><em>Ditambahkan dalam API level 8.</em></p>
         <p>Ini bisa berubah selama masa pakai aplikasi jika mode malam dibiarkan dalam
 mode otomatis (default), dalam hal ini perubahan mode berdasarkan pada waktu hari.  Anda dapat mengaktifkan
-atau menonaktifkan mode ini menggunakan {@link android.app.UiModeManager}. Lihat <a href="runtime-changes.html">Menangani Perubahan Runtime</a> untuk informasi tentang bagaimana hal ini memengaruhi 
+atau menonaktifkan mode ini menggunakan {@link android.app.UiModeManager}. Lihat <a href="runtime-changes.html">Menangani Perubahan Runtime</a> untuk informasi tentang bagaimana hal ini memengaruhi
 aplikasi Anda selama runtime.</p>
       </td>
     </tr>
@@ -627,8 +627,8 @@
 Level 8.</em></li>
           <li>{@code xxhdpi}: Layar densitas ekstra-ekstra-tinggi; sekitar 480 dpi. <em>Ditambahkan dalam API
 Level 16.</em></li>
-          <li>{@code xxxhdpi}: Densitas ekstra-ekstra-ekstra-tinggi (hanya ikon launcher, 
-lihat <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">catatan</a> 
+          <li>{@code xxxhdpi}: Densitas ekstra-ekstra-ekstra-tinggi (hanya ikon launcher,
+lihat <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">catatan</a>
  dalam <em>Mendukung Beberapa Layar</em>); sekitar 640 dpi. <em>Ditambahkan dalam API
 Level 18.</em></li>
           <li>{@code nodpi}: Ini bisa digunakan untuk sumber daya bitmap yang tidak ingin Anda
@@ -696,7 +696,7 @@
 hal ini memengaruhi aplikasi Anda selama runtime.</p>
         <p>Lihat juga bidang konfigurasi {@link
 android.content.res.Configuration#hardKeyboardHidden} dan {@link
-android.content.res.Configuration#keyboardHidden}, yang menunjukkan visibilitas 
+android.content.res.Configuration#keyboardHidden}, yang menunjukkan visibilitas
 keyboard fisik dan visibilitas segala jenis keyboard (termasuk keyboard perangkat lunak), masing-masing.</p>
       </td>
     </tr>
@@ -716,7 +716,7 @@
           <li>{@code 12key}: Perangkat memiliki keyboard fisik 12 tombol, baik terlihat maupun tidak
 pada pengguna.</li>
         </ul>
-        <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#keyboard}, 
+        <p>Lihat juga bidang konfigurasi {@link android.content.res.Configuration#keyboard},
 yang menunjukkan metode utama input teks yang tersedia.</p>
       </td>
     </tr>
@@ -810,7 +810,7 @@
     <li>Anda bisa menetapkan beberapa qualifier untuk satu set sumber daya, yang dipisahkan dengan tanda hubung. Misalnya,
 <code>drawable-en-rUS-land</code> berlaku untuk perangkat bahasa Inggris-AS dalam orientasi
 lanskap.</li>
-    <li>Qualifier harus dalam urutan seperti yang tercantum dalam <a href="#table2">tabel 2</a>. 
+    <li>Qualifier harus dalam urutan seperti yang tercantum dalam <a href="#table2">tabel 2</a>.
 Misalnya:
       <ul>
         <li>Salah: <code>drawable-hdpi-port/</code></li>
@@ -947,7 +947,7 @@
 {@code layout/} untuk lanskap dan {@code layout-port/} untuk potret.</p>
 
 <p>Sumber daya default perlu disediakan bukan hanya karena aplikasi mungkin berjalan pada
-konfigurasi yang belum Anda antisipasi, namun juga karena versi baru Android terkadang menambahkan 
+konfigurasi yang belum Anda antisipasi, namun juga karena versi baru Android terkadang menambahkan
 qualifier konfigurasi yang tidak didukung oleh versi lama. Jika Anda menggunakan qualifier sumber daya baru,
 namun mempertahankan kompatibilitas kode dengan versi Android yang lebih lama, maka saat versi lama
 Android menjalankan aplikasi, aplikasi itu akan crash jika Anda tidak menyediakan sumber daya default, aplikasi
@@ -1058,7 +1058,7 @@
   </li>
 
   <li>Kembali dan ulangi langkah 2, 3, dan 4 hingga tersisa satu direktori. Dalam contoh ini, orientasi
-layar adalah qualifier berikutnya yang memiliki kecocokan. 
+layar adalah qualifier berikutnya yang memiliki kecocokan.
 Jadi, sumber daya yang tidak menetapkan orientasi layar akan dihapus:
 <pre class="classic no-pretty-print">
 <strike>drawable-en/</strike>
diff --git a/docs/html-intl/intl/in/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/in/guide/topics/resources/runtime-changes.jd
index c9a5ead..09ad60c 100644
--- a/docs/html-intl/intl/in/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/in/guide/topics/resources/runtime-changes.jd
@@ -82,12 +82,12 @@
 <p>Untuk mempertahankan objek stateful dalam fragmen selama perubahan konfigurasi runtime:</p>
 
 <ol>
-  <li>Perluas kelas {@link android.app.Fragment} dan deklarasikan referensi ke objek stateful 
+  <li>Perluas kelas {@link android.app.Fragment} dan deklarasikan referensi ke objek stateful
 Anda.</li>
   <li>Panggil {@link android.app.Fragment#setRetainInstance(boolean)} saat fragmen dibuat.
       </li>
   <li>Tambahkan fragmen ke aktivitas.</li>
-  <li>Gunakan {@link android.app.FragmentManager} untuk mengambil fragmen saat aktivitas 
+  <li>Gunakan {@link android.app.FragmentManager} untuk mengambil fragmen saat aktivitas
 di-restart.</li>
 </ol>
 
@@ -125,8 +125,8 @@
 berarti bahwa aplikasi Anda tetap menyimpannya dan tidak bisa dijadikan kumpulan sampah, sehingga bisa banyak
 memori yang hilang.)</p>
 
-<p>Selanjutnya gunakan {@link android.app.FragmentManager} untuk menambahkan fragmen ke aktivitas. 
-Anda bisa memperoleh objek data dari fragmen saat aktivitas memulai kembali selama perubahan 
+<p>Selanjutnya gunakan {@link android.app.FragmentManager} untuk menambahkan fragmen ke aktivitas.
+Anda bisa memperoleh objek data dari fragmen saat aktivitas memulai kembali selama perubahan
 konfigurasi runtime. Misalnya, definisikan aktivitas Anda sebagai berikut:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/in/guide/topics/ui/controls.jd b/docs/html-intl/intl/in/guide/topics/ui/controls.jd
index 7ee2957..3ebf48b 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">Tombol radio</a></td>
         <td>Mirip dengan kotak cek, hanya saja cuma satu opsi yang bisa dipilih dalam kumpulan tersebut.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/in/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/in/guide/topics/ui/declaring-layout.jd
index 83ff746..1c8a0d6 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/declaring-layout.jd
@@ -74,7 +74,7 @@
 <code>EditText.setText()</code>. </p>
 
 <p class="note"><strong>Tip:</strong> Ketahui selengkapnya berbagai tipe layout dalam <a href="{@docRoot}guide/topics/ui/layout-objects.html">Objek
-Layout Umum</a>. Ada juga sekumpulan tutorial tentang cara membangun berbagai layout dalam panduan tutorial 
+Layout Umum</a>. Ada juga sekumpulan tutorial tentang cara membangun berbagai layout dalam panduan tutorial
 <a href="{@docRoot}resources/tutorials/views/index.html">Hello Views</a>.</p>
 
 <h2 id="write">Tulis XML</h2>
@@ -107,7 +107,7 @@
 
 <h2 id="load">Muat Sumber Daya XML</h2>
 
-<p>Saat mengompilasi aplikasi, masing-masing file layout XML akan dikompilasi dalam sebuah sumber daya 
+<p>Saat mengompilasi aplikasi, masing-masing file layout XML akan dikompilasi dalam sebuah sumber daya
 {@link android.view.View}. Anda harus memuat sumber daya layout dari kode aplikasi, dalam implementasi
 callback {@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()}.
 Lakukan dengan memanggil <code>{@link android.app.Activity#setContentView(int) setContentView()}</code>,
@@ -367,8 +367,8 @@
 
 <h2 id="AdapterViews" style="clear:left">Membangun Layout dengan Adaptor</h2>
 
-<p>Bila isi layout bersifat dinamis atau tidak dipastikan sebelumnya, Anda bisa menggunakan layout yang menjadi 
-subkelas {@link android.widget.AdapterView} untuk mengisi layout dengan tampilan saat runtime. 
+<p>Bila isi layout bersifat dinamis atau tidak dipastikan sebelumnya, Anda bisa menggunakan layout yang menjadi
+subkelas {@link android.widget.AdapterView} untuk mengisi layout dengan tampilan saat runtime.
 Subkelas dari kelas {@link android.widget.AdapterView} menggunakan {@link android.widget.Adapter} untuk
 mengikat data ke layoutnya. {@link android.widget.Adapter} berfungsi sebagai penghubung antara sumber data
 dan layout{@link android.widget.AdapterView}&mdash;{@link android.widget.Adapter}
@@ -445,7 +445,7 @@
 nama orang dan nomor telepon, Anda bisa melakukan query yang menghasilkan {@link
 android.database.Cursor} yang berisi satu baris untuk tiap orang dan kolom-kolom untuk nama dan
 nomor. Selanjutnya Anda membuat larik string yang menentukan kolom dari {@link
-android.database.Cursor} yang Anda inginkan dalam layout untuk setiap hasil dan larik integer yang menentukan 
+android.database.Cursor} yang Anda inginkan dalam layout untuk setiap hasil dan larik integer yang menentukan
 tampilan yang sesuai untuk menempatkan masing-masing kolom:</p>
 <pre>
 String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME,
diff --git a/docs/html-intl/intl/in/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/in/guide/topics/ui/dialogs.jd
index 65714a9..06a25ac 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>Lihat juga</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">Panduan desain dialog</a></li>
@@ -89,7 +89,7 @@
 
 <p>Bagian-bagian berikutnya dalam panduan ini akan menjelaskan cara menggunakan {@link
 android.support.v4.app.DialogFragment} yang dikombinasikan dengan objek {@link android.app.AlertDialog}
-. Jika Anda ingin membuat picker tanggal atau waktu, Anda harus membaca panduan 
+. Jika Anda ingin membuat picker tanggal atau waktu, Anda harus membaca panduan
 <a href="{@docRoot}guide/topics/ui/controls/pickers.html">Picker</a>.</p>
 
 <p class="note"><strong>Catatan:</strong>
@@ -235,8 +235,8 @@
 </pre>
 
 <p>Metode <code>set...Button()</code> mengharuskan adanya judul bagi tombol (disediakan
-oleh suatu <a href="{@docRoot}guide/topics/resources/string-resource.html">sumber daya string</a>) dan 
-{@link android.content.DialogInterface.OnClickListener} yang mendefinisikan tindakan yang diambil 
+oleh suatu <a href="{@docRoot}guide/topics/resources/string-resource.html">sumber daya string</a>) dan
+{@link android.content.DialogInterface.OnClickListener} yang mendefinisikan tindakan yang diambil
 bila pengguna menekan tombol.</p>
 
 <p>Ada tiga macam tombol tindakan yang Anda bisa tambahkan:</p>
@@ -247,8 +247,8 @@
   <dd>Anda harus menggunakan tipe ini untuk membatalkan tindakan.</dd>
   <dt>Netral</dt>
   <dd>Anda harus menggunakan tipe ini bila pengguna mungkin tidak ingin melanjutkan tindakan,
-  namun tidak ingin membatalkan. Tipe ini muncul antara tombol positif dan 
-tombol negatif. Misalnya, tindakan bisa berupa "Ingatkan saya nanti".</dd> 
+  namun tidak ingin membatalkan. Tipe ini muncul antara tombol positif dan
+tombol negatif. Misalnya, tindakan bisa berupa "Ingatkan saya nanti".</dd>
 </dl>
 
 <p>Anda hanya bisa menambahkan salah satu tipe tombol ke {@link
@@ -271,7 +271,7 @@
 <li>Daftar pilihan ganda persisten (kotak cek)</li>
 </ul>
 
-<p>Untuk membuat daftar pilihan tunggal seperti dalam gambar 3, 
+<p>Untuk membuat daftar pilihan tunggal seperti dalam gambar 3,
 gunakan metode {@link android.app.AlertDialog.Builder#setItems setItems()}:</p>
 
 <pre style="clear:right">
@@ -291,7 +291,7 @@
 
 <p>Karena daftar muncul dalam area konten dialog,
 dialog tidak bisa menampilkan pesan dan daftar sekaligus dan Anda harus menetapkan judul untuk
-dialog dengan {@link android.app.AlertDialog.Builder#setTitle setTitle()}. 
+dialog dengan {@link android.app.AlertDialog.Builder#setTitle setTitle()}.
 Untuk menentukan item daftar, panggil {@link
 android.app.AlertDialog.Builder#setItems setItems()}, dengan meneruskan larik.
 Atau, Anda bisa menetapkan daftar menggunakan {@link
@@ -300,7 +300,7 @@
 
 <p>Jika Anda memilih untuk mendukung daftar dengan {@link android.widget.ListAdapter},
 selalu gunakan sebuah {@link android.support.v4.content.Loader} agar konten dimuat
-secara asinkron. Hal ini dijelaskan lebih jauh dalam panduan 
+secara asinkron. Hal ini dijelaskan lebih jauh dalam panduan
 <a href="{@docRoot}guide/topics/ui/declaring-layout.html#AdapterViews">Membuat Layout
 dengan Adaptor</a> dan <a href="{@docRoot}guide/components/loaders.html">Loader</a>
 .</p>
@@ -317,11 +317,11 @@
 
 <h4 id="Checkboxes">Menambahkan daftar pilihan ganda atau pilihan tunggal persisten</h4>
 
-<p>Untuk menambahkan daftar item pilihan ganda (kotak cek) atau 
-item pilihan tunggal (tombol radio), gunakan masing-masing metode 
+<p>Untuk menambahkan daftar item pilihan ganda (kotak cek) atau
+item pilihan tunggal (tombol radio), gunakan masing-masing metode
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()}, atau 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()}, atau
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()}.</p>
 
 <p>Misalnya, berikut ini cara membuat daftar pilihan ganda seperti
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -373,7 +373,7 @@
 
 <p>Walaupun daftar tradisional maupun daftar dengan tombol radio
 menyediakan tindakan "pilihan tunggal", Anda harus menggunakan {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} jika ingin mempertahankan pilihan pengguna.
 Yakni, jika nanti membuka dialog lagi untuk menunjukkan pilihan pengguna,
 maka Anda perlu membuat daftar dengan tombol radio.</p>
@@ -442,7 +442,7 @@
 gaya font yang cocok.</p>
 
 <p>Untuk memekarkan layout dalam {@link android.support.v4.app.DialogFragment} Anda,
-ambillah {@link android.view.LayoutInflater} dengan 
+ambillah {@link android.view.LayoutInflater} dengan
 {@link android.app.Activity#getLayoutInflater()} dan panggil
 {@link android.view.LayoutInflater#inflate inflate()}, dengan parameter pertama
 adalah ID sumber daya layout dan parameter kedua adalah tampilan induk untuk layout.
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -638,12 +638,12 @@
 
 <p>Akan tetapi, dalam hal ini Anda tidak bisa menggunakan {@link android.app.AlertDialog.Builder AlertDialog.Builder}
 atau objek {@link android.app.Dialog} lain untuk membangun dialog. Jika
-Anda ingin {@link android.support.v4.app.DialogFragment} 
+Anda ingin {@link android.support.v4.app.DialogFragment}
 bisa ditanamkan, Anda harus mendefinisikan dialog UI dalam layout, lalu memuat layout itu dalam metode callback
 {@link android.support.v4.app.DialogFragment#onCreateView
 onCreateView()}.</p>
 
-<p>Berikut ini adalah contoh {@link android.support.v4.app.DialogFragment} yang bisa muncul sebagai 
+<p>Berikut ini adalah contoh {@link android.support.v4.app.DialogFragment} yang bisa muncul sebagai
 dialog maupun fragmen yang bisa ditanamkan (menggunakan layout bernama <code>purchase_items.xml</code>):</p>
 
 <pre>
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -776,7 +776,7 @@
 android.support.v4.app.DialogFragment} Anda.</p>
 
 <p>Anda juga bisa <em>membatalkan</em> dialog. Ini merupakan kejadian khusus yang menunjukkan bahwa pengguna
-secara eksplisit meninggalkan dialog tanpa menyelesaikan tugas. Hal ini terjadi jika pengguna menekan tombol 
+secara eksplisit meninggalkan dialog tanpa menyelesaikan tugas. Hal ini terjadi jika pengguna menekan tombol
 <em>Back</em>, menyentuh layar di luar area dialog,
 atau jika Anda secara eksplisit memanggil {@link android.app.Dialog#cancel()} pada {@link
 android.app.Dialog} (seperti saat merespons tombol "Cancel" dalam dialog).</p>
diff --git a/docs/html-intl/intl/in/guide/topics/ui/menus.jd b/docs/html-intl/intl/in/guide/topics/ui/menus.jd
index 2cd3e6a..1ee0244 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/menus.jd
@@ -60,7 +60,7 @@
 tindakan dan opsi lain dalam aktivitas kepada pengguna.</p>
 
 <p>Mulai dengan Android 3.0 (API level 11), perangkat berbasis Android tidak perlu lagi
-menyediakan tombol <em>Menu</em> tersendiri. Dengan perubahan ini, aplikasi Android harus bermigrasi dari 
+menyediakan tombol <em>Menu</em> tersendiri. Dengan perubahan ini, aplikasi Android harus bermigrasi dari
 dependensi pada panel menu 6 item biasa, dan sebagai ganti menyediakan action-bar untuk menyajikan
 berbagai tindakan pengguna yang lazim.</p>
 
@@ -83,9 +83,9 @@
 opsi lainnya.</p>
   <p>Lihat bagian tentang <a href="#options-menu">Membuat Menu Opsi</a>.</p>
     </dd>
-    
+
   <dt><strong>Menu konteks dan mode tindakan kontekstual</strong></dt>
-  
+
    <dd>Menu konteks adalah <a href="#FloatingContextMenu">menu mengambang</a> yang muncul saat
 pengguna mengklik lama pada suatu elemen. Menu ini menyediakan tindakan yang memengaruhi konten atau
 bingkai konteks yang dipilih.
@@ -94,7 +94,7 @@
 memilih beberapa item sekaligus.</p>
   <p>Lihat bagian tentang <a href="#context-menu">Membuat Menu Kontekstual</a>.</p>
 </dd>
-    
+
   <dt><strong>Menu popup</strong></dt>
     <dd>Menu popup menampilkan daftar item secara vertikal yang dipasang pada tampilan yang
 memanggil menu. Ini cocok untuk menyediakan kelebihan tindakan yang terkait dengan konten tertentu atau
@@ -128,14 +128,14 @@
 proyek dan buat menu dengan elemen-elemen berikut:</p>
 <dl>
   <dt><code>&lt;menu></code></dt>
-    <dd>Mendefinisikan {@link android.view.Menu}, yang merupakan sebuah kontainer untuk item menu. Elemen 
+    <dd>Mendefinisikan {@link android.view.Menu}, yang merupakan sebuah kontainer untuk item menu. Elemen
 <code>&lt;menu></code> harus menjadi simpul akar untuk file dan bisa menampung salah satu atau beberapa dari elemen
 <code>&lt;item></code> dan <code>&lt;group></code>.</dd>
 
   <dt><code>&lt;item></code></dt>
     <dd>Membuat {@link android.view.MenuItem}, yang mewakili satu item menu. Elemen ini
 bisa berisi elemen <code>&lt;menu></code> tersarang guna untuk membuat submenu.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>Kontainer opsional tak terlihat untuk elemen-elemen {@code &lt;item&gt;}. Kontainer ini memungkinkan Anda
 mengelompokkan item menu untuk berbagi properti seperti status aktif dan visibilitas. Untuk informasi
@@ -253,7 +253,7 @@
 dalam setiap {@code &lt;item&gt;} yang perlu Anda pindahkan.</p>
 
 <p>Untuk menetapkan menu opsi suatu aktivitas, kesampingkan {@link
-android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} (fragmen-fragmen menyediakan 
+android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} (fragmen-fragmen menyediakan
 callback {@link android.app.Fragment#onCreateOptionsMenu onCreateOptionsMenu()} sendiri). Dalam metode ini
 , Anda bisa memekarkan sumber daya menu (<a href="#xml">yang didefinisikan dalam XML</a>) menjadi {@link
 android.view.Menu} yang disediakan dalam callback. Misalnya:</p>
@@ -273,7 +273,7 @@
 
 <p>Jika Anda mengembangkan aplikasi untuk Android 2.3.x dan yang lebih rendah, sistem akan memanggil {@link
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} untuk membuat menu opsi
-bila pengguna membuka menu untuk pertama kali. Jika Anda mengembangkan aplikasi untuk Android 3.0 dan yang lebih tinggi, 
+bila pengguna membuka menu untuk pertama kali. Jika Anda mengembangkan aplikasi untuk Android 3.0 dan yang lebih tinggi,
 sistem akan memanggil {@link android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} saat
 memulai aktivitas, untuk menampilkan item menu pada action-bar.</p>
 
@@ -285,7 +285,7 @@
 sistem akan memanggil metode {@link android.app.Activity#onOptionsItemSelected(MenuItem)
 onOptionsItemSelected()} aktivitas Anda. Metode ini meneruskan {@link android.view.MenuItem} yang dipilih. Anda
 bisa mengidentifikasi item dengan memanggil {@link android.view.MenuItem#getItemId()}, yang menghasilkan
-ID unik untuk item menu itu (yang didefinisikan oleh atribut {@code android:id} dalam sumber daya menu atau dengan 
+ID unik untuk item menu itu (yang didefinisikan oleh atribut {@code android:id} dalam sumber daya menu atau dengan
 integer yang diberikan ke metode {@link android.view.Menu#add(int,int,int,int) add()}). Anda bisa mencocokkan
 ID ini dengan item menu yang diketahui untuk melakukan tindakan yang sesuai. Misalnya:</p>
 
@@ -317,7 +317,7 @@
 {@code true} atau semua fragmen telah dipanggil.</p>
 
 <p class="note"><strong>Tip:</strong> Android 3.0 menambahkan kemampuan mendefinisikan perilaku on-click
-untuk item menu dalam XML, dengan menggunakan atribut {@code android:onClick}. Nilai atribut 
+untuk item menu dalam XML, dengan menggunakan atribut {@code android:onClick}. Nilai atribut
 harus berupa nama metode yang didefinisikan aktivitas dengan menggunakan menu. Metode
 harus bersifat publik dan menerima satu parameter {@link android.view.MenuItem}&mdash;bila sistem
 memanggilnya, metode ini akan meneruskan item menu yang dipilih. Untuk informasi selengkapnya dan contoh, lihat dokumen <a href="{@docRoot}guide/topics/resources/menu-resource.html">Sumber Daya Menu</a>.</p>
@@ -346,7 +346,7 @@
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} hanya untuk membuat
 status menu awal dan tidak untuk membuat perubahan selama daur hidup aktivitas.</p>
 
-<p>Jika Anda ingin mengubah menu opsi berdasarkan 
+<p>Jika Anda ingin mengubah menu opsi berdasarkan
 kejadian yang terjadi selama daur hidup aktivitas, Anda bisa melakukannya dalam metode
 {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}. Metode ini
 meneruskan objek {@link android.view.Menu} sebagaimana adanya saat ini sehingga Anda bisa mengubahnya,
@@ -363,7 +363,7 @@
 memanggil {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()} untuk meminta
 sistem memanggil {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}.</p>
 
-<p class="note"><strong>Catatan:</strong> 
+<p class="note"><strong>Catatan:</strong>
 Anda tidak boleh mengubah item dalam menu opsi berdasarkan {@link android.view.View} yang saat ini
 difokus. Saat dalam mode sentuh (bila pengguna tidak sedang menggunakan trackball atau d-pad), tampilan
 tidak bisa mengambil fokus, sehingga Anda tidak boleh menggunakan fokus sebagai dasar untuk mengubah
@@ -419,7 +419,7 @@
 </li>
 
   <li>Implementasikan metode {@link
-android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()} 
+android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()}
 dalam {@link android.app.Activity} atau {@link android.app.Fragment} Anda.
   <p>Bila tampilan yang terdaftar menerima kejadian klik-lama, sistem akan memanggil metode {@link
 android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()}
@@ -445,7 +445,7 @@
 
 <li>Implementasikan {@link android.app.Activity#onContextItemSelected(MenuItem)
 onContextItemSelected()}.
-  <p>Bila pengguna memilih item menu, sistem akan memanggil metode ini sehingga Anda bisa melakukan 
+  <p>Bila pengguna memilih item menu, sistem akan memanggil metode ini sehingga Anda bisa melakukan
 tindakan yang sesuai. Misalnya:</p>
 
 <pre>
@@ -609,7 +609,7 @@
 
 <p>Bila Anda memanggil {@link android.app.Activity#startActionMode startActionMode()}, sistem akan mengembalikan
 {@link android.view.ActionMode} yang dibuat. Dengan menyimpannya dalam variabel anggota, Anda bisa
-membuat perubahan ke action-bar kontekstual sebagai respons terhadap kejadian lainnya. Dalam contoh di atas, 
+membuat perubahan ke action-bar kontekstual sebagai respons terhadap kejadian lainnya. Dalam contoh di atas,
 {@link android.view.ActionMode} digunakan untuk memastikan bahwa instance {@link android.view.ActionMode}
 tidak dibuat kembali jika sudah aktif, dengan memeriksa apakah anggota bernilai nol sebelum memulai
 mode tindakan.</p>
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -1010,7 +1010,7 @@
 <p>Anda juga bisa menawarkan layanan aktivitas Anda pada aplikasi lainnya, sehingga
 aplikasi Anda bisa disertakan dalam menu aplikasi lain (membalik peran yang dijelaskan di atas).</p>
 
-<p>Agar bisa dimasukkan dalam menu aplikasi lain, Anda perlu mendefinisikan 
+<p>Agar bisa dimasukkan dalam menu aplikasi lain, Anda perlu mendefinisikan
 filter intent seperti biasa, tetapi pastikan menyertakan nilai-nilai {@link android.content.Intent#CATEGORY_ALTERNATIVE}
 dan/atau {@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE} untuk
 kategori filter intent. Misalnya:</p>
@@ -1026,6 +1026,6 @@
 <p>Baca selengkapnya tentang penulisan filter intent dalam dokumen
 <a href="/guide/components/intents-filters.html">Intent dan Filter Intent</a>.</p>
 
-<p>Untuk contoh aplikasi yang menggunakan teknik ini, lihat contoh kode 
+<p>Untuk contoh aplikasi yang menggunakan teknik ini, lihat contoh kode
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Note
 Pad</a>.</p>
diff --git a/docs/html-intl/intl/in/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/in/guide/topics/ui/notifiers/notifications.jd
index 9033b9f..bb48b80 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/notifiers/notifications.jd
@@ -147,7 +147,7 @@
 </p>
 <p>
     Dalam {@link android.app.Notification}, tindakan itu sendiri didefinisikan oleh
-    {@link android.app.PendingIntent} berisi 
+    {@link android.app.PendingIntent} berisi
     {@link android.content.Intent} yang memulai
     {@link android.app.Activity} dalam aplikasi Anda. Untuk mengaitkan
     {@link android.app.PendingIntent} dengan gestur, panggil metode
@@ -174,12 +174,12 @@
     android.support.v4.app.NotificationCompat}. Ada
     lima level prioritas, mulai dari {@link
     android.support.v4.app.NotificationCompat#PRIORITY_MIN} (-2) hingga {@link
-    android.support.v4.app.NotificationCompat#PRIORITY_MAX} (2); jika tidak diatur, 
+    android.support.v4.app.NotificationCompat#PRIORITY_MAX} (2); jika tidak diatur,
     prioritas default akan ditetapkan {@link
     android.support.v4.app.NotificationCompat#PRIORITY_DEFAULT} (0).
 </p>
 <p> Untuk informasi tentang mengatur level prioritas, lihat "Mengatur
-    dan mengelola prioritas pemberitahuan dengan benar" dalam panduan 
+    dan mengelola prioritas pemberitahuan dengan benar" dalam panduan
 Desain <a href="{@docRoot}design/patterns/notifications.html">Pemberitahuan</a>.
 </p>
 <!-- ------------------------------------------------------------------------------------------ -->
@@ -310,7 +310,7 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="Managing">Mengelola Pemberitahuan</h2>
 <p>
-    Bila perlu mengeluarkan pemberitahuan beberapa kali untuk tipe kejadian yang sama, 
+    Bila perlu mengeluarkan pemberitahuan beberapa kali untuk tipe kejadian yang sama,
 hindari membuat pemberitahuan yang sama sekali baru. Sebagai gantinya, Anda harus mempertimbangkan untuk memperbarui
     pemberitahuan sebelumnya, baik dengan mengubah sebagian nilainya atau dengan menambahkan nilai, atau keduanya.
 </p>
@@ -506,7 +506,7 @@
                 TaskStackBuilder.create()}.
             </li>
             <li>
-                Tambahkan back-stack ke stack-builder dengan memanggil 
+                Tambahkan back-stack ke stack-builder dengan memanggil
                 {@link android.support.v4.app.TaskStackBuilder#addParentStack addParentStack()}.
                 Untuk setiap {@link android.app.Activity} dalam hierarki yang telah Anda definisikan dalam
                 manifes, back-stack berisi objek {@link android.content.Intent} yang
@@ -933,7 +933,7 @@
     tampilan normal dibatasi hingga 64 dp, dan layout tampilan yang diperluas dibatasi hingga 256 dp.
 </p>
 <p>
-    Untuk mendefinisikan layout pemberitahuan custom, mulailah dengan membuat instance 
+    Untuk mendefinisikan layout pemberitahuan custom, mulailah dengan membuat instance
     objek {@link android.widget.RemoteViews} yang memekarkan file layout XML. Kemudian,
     sebagai ganti memanggil metode seperti
     {@link android.support.v4.app.NotificationCompat.Builder#setContentTitle setContentTitle()},
diff --git a/docs/html-intl/intl/in/guide/topics/ui/overview.jd b/docs/html-intl/intl/in/guide/topics/ui/overview.jd
index a0b2b06..ca8b420 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>Untuk mendapatkan panduan lengkap mengenai pembuatan layout UI, lihat <a href="declaring-layout.html">Layout
 XML</a>.
 
-  
+
 <h2 id="UIComponents">Komponen Antarmuka Pengguna</h2>
 
 <p>Anda tidak harus membuat semua UI menggunakan objek {@link android.view.View} dan {link
diff --git a/docs/html-intl/intl/in/guide/topics/ui/settings.jd b/docs/html-intl/intl/in/guide/topics/ui/settings.jd
index 5ac61f9..89be52f 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/settings.jd
@@ -82,7 +82,7 @@
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
 <p class="img-caption"><strong>Gambar 1.</strong> Cuplikan layar dari pengaturan
-aplikasi Messaging Android. Memilih item yang didefinisikan oleh {@link android.preference.Preference} 
+aplikasi Messaging Android. Memilih item yang didefinisikan oleh {@link android.preference.Preference}
 akan membuka antarmuka untuk mengubah pengaturan.</p>
 
 
@@ -163,7 +163,7 @@
 java.lang.String}.</dd>
 </dl>
 
-<p>Lihat kelas {@link android.preference.Preference} untuk mengetahui daftar subkelas lain dan 
+<p>Lihat kelas {@link android.preference.Preference} untuk mengetahui daftar subkelas lain dan
 propertinya.</p>
 
 <p>Tentu saja, kelas bawaan tidak mengakomodasi setiap kebutuhan dan aplikasi Anda mungkin memerlukan
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>Atribut ini diperlukan untuk preferensi yang mempertahankan nilai data. Ini menetapkan kunci
 unik (string) yang digunakan sistem saat menyimpan nilai pengaturan ini dalam {@link
-android.content.SharedPreferences}. 
+android.content.SharedPreferences}.
   <p>Instance satu-satunya di mana atribut ini <em>tidak diperlukan</em> adalah bila preferensi berupa
 {@link android.preference.PreferenceCategory} atau {@link android.preference.PreferenceScreen}, atau
 preferensi menetapkan {@link android.content.Intent} untuk dipanggil (dengan elemen <a href="#Intents">{@code &lt;intent&gt;}</a>) atau {@link android.app.Fragment} untuk ditampilkan (dengan atribut <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -370,12 +370,12 @@
 
 <dl>
   <dt>{@code android:action}</dt>
-    <dd>Tindakan yang akan ditetapkan, sesuai metode 
+    <dd>Tindakan yang akan ditetapkan, sesuai metode
 {@link android.content.Intent#setAction setAction()}.</dd>
   <dt>{@code android:data}</dt>
     <dd>Data yang akan ditetapkan, sesuai metode {@link android.content.Intent#setData setData()}.</dd>
   <dt>{@code android:mimeType}</dt>
-    <dd>Tipe MIME yang akan ditetapkan, sesuai metode 
+    <dd>Tipe MIME yang akan ditetapkan, sesuai metode
 {@link android.content.Intent#setType setType()}.</dd>
   <dt>{@code android:targetClass}</dt>
     <dd>Bagian kelas dari nama komponen, sesuai metode {@link android.content.Intent#setComponent
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -672,15 +672,15 @@
 akan dimuat.</p>
 
 <p>Misalnya, ini adalah file XML untuk header preferensi yang menggunakan Android 3.0
-dan yang lebih tinggi ({@code res/xml/preference_headers.xml}):</p> 
+dan yang lebih tinggi ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -879,7 +879,7 @@
 });
 </pre>
 
-<p>Sebagai gantinya, simpan referensi ke listener dalam bidang data instance 
+<p>Sebagai gantinya, simpan referensi ke listener dalam bidang data instance
 objek yang akan ada selama listener dibutuhkan:</p>
 
 <pre>
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/in/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/in/guide/topics/ui/ui-events.jd
index 5068176..0307b34 100644
--- a/docs/html-intl/intl/in/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/ui-events.jd
@@ -26,11 +26,11 @@
 metode <code>onTouchEvent()</code> akan dipanggil pada objek itu. Akan tetapi, untuk mencegatnya, Anda harus memperluas
 kelas dan mengesampingkan metode itu. Akan tetapi, memperluas setiap objek View
 untuk menangani kejadian seperti itu tidaklah praktis. Karena itulah kelas View juga berisi
-sekumpulan antarmuka tersarang dengan callback yang jauh lebih mudah didefinisikan. Antarmuka ini, 
+sekumpulan antarmuka tersarang dengan callback yang jauh lebih mudah didefinisikan. Antarmuka ini,
 yang disebut <a href="#EventListeners">event listener</a>, merupakan tiket Anda untuk menangkap interaksi pengguna dengan UI.</p>
 
 <p>Walaupun Anda akan lebih sering menggunakan event listener ini untuk interaksi pengguna,
-mungkin ada saatnya Anda ingin memperluas kelas View, untuk membuat komponen custom. 
+mungkin ada saatnya Anda ingin memperluas kelas View, untuk membuat komponen custom.
 Mungkin Anda ingin memperluas kelas {@link android.widget.Button}
 untuk membuat sesuatu yang lebih menarik. Dalam hal ini, Anda akan dapat mendefinisikan perilaku kejadian default untuk kelas Anda dengan menggunakan
 kelas <a href="#EventHandlers">event handler</a>.</p>
@@ -46,28 +46,28 @@
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>Dari {@link android.view.View.OnClickListener}. 
+    <dd>Dari {@link android.view.View.OnClickListener}.
     Ini dipanggil baik saat pengguna menyentuh item
  (bila dalam mode sentuh), maupun memfokuskan pada item dengan tombol navigasi atau trackball dan
 menekan tombol "enter" yang sesuai atau menekan trackball.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>Dari {@link android.view.View.OnLongClickListener}. 
-    Ini dipanggil baik saat pengguna menyentuh dan menahan item (bila dalam mode sentuh), 
+    <dd>Dari {@link android.view.View.OnLongClickListener}.
+    Ini dipanggil baik saat pengguna menyentuh dan menahan item (bila dalam mode sentuh),
 maupun memfokuskan pada item dengan tombol navigasi atau trackball dan
 menekan serta menahan tombol "enter" yang sesuai atau menekan dan menahan trackball (selama satu detik).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>Dari {@link android.view.View.OnFocusChangeListener}. 
+    <dd>Dari {@link android.view.View.OnFocusChangeListener}.
     Ini dipanggil saat pengguna menyusuri ke atau dari item, dengan menggunakan tombol navigasi atau trackball.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>Dari {@link android.view.View.OnKeyListener}. 
+    <dd>Dari {@link android.view.View.OnKeyListener}.
     Ini dipanggil saat pengguna memfokuskan pada item dan menekan atau melepas tombol fisik pada perangkat.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>Dari {@link android.view.View.OnTouchListener}. 
+    <dd>Dari {@link android.view.View.OnTouchListener}.
     Ini dipanggil saat pengguna melakukan tindakan yang digolongkan sebagai kejadian sentuh, termasuk penekanan, pelepasan,
 atau gerak perpindahan pada layar (dalam batasan item itu).</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>Dari {@link android.view.View.OnCreateContextMenuListener}. 
-    Ini dipanggil saat Menu Konteks sedang dibuat (akibat "klik lama" terus-menerus). Lihat diskusi 
+    <dd>Dari {@link android.view.View.OnCreateContextMenuListener}.
+    Ini dipanggil saat Menu Konteks sedang dibuat (akibat "klik lama" terus-menerus). Lihat diskusi
 tentang menu konteks di panduan pengembang <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menu</a>.
 </dd>
 </dl>
@@ -75,8 +75,8 @@
 <p>Metode ini satu-satunya yang menempati antarmukanya masing-masing. Untuk mendefinisikan salah satu metode ini
 dan menangani kejadian Anda, implementasikan antarmuka tersarang dalam Aktivitas Anda atau definisikan sebagai kelas anonim.
 Kemudian, teruskan satu
-instance implementasi Anda pada masing-masing metode <code>View.set...Listener()</code>. (Misalnya, panggil 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code> 
+instance implementasi Anda pada masing-masing metode <code>View.set...Listener()</code>. (Misalnya, panggil
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
 dan teruskan implementasi {@link android.view.View.OnClickListener OnClickListener} Anda.)</p>
 
 <p>Contoh di bawah menunjukkan cara mendaftarkan on-click listener untuk Button. </p>
@@ -121,20 +121,20 @@
 nilai hasil, namun beberapa metode event listener lainnya harus mengembalikan boolean. Sebabnya
 bergantung pada kejadian. Untuk sebagian yang mengembalikan boolean, ini sebabnya:</p>
 <ul>
-  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> - 
-    Ini mengembalikan boolean untuk menunjukkan apakah Anda telah menggunakan kejadian dan tidak boleh dibawa lebih jauh. 
-    Yaitu, mengembalikan <em>benar</em> untuk menunjukkan apakah Anda telah menangani kejadian dan semestinya berhenti di sini; 
+  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> -
+    Ini mengembalikan boolean untuk menunjukkan apakah Anda telah menggunakan kejadian dan tidak boleh dibawa lebih jauh.
+    Yaitu, mengembalikan <em>benar</em> untuk menunjukkan apakah Anda telah menangani kejadian dan semestinya berhenti di sini;
     mengembalikan <em>salah</em> jika Anda tidak menanganinya dan/atau kejadian semestinya berlanjut ke
     on-click listener lainnya.</li>
-  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> - 
+  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> -
     Ini mengembalikan boolean untuk menunjukkan apakah Anda telah menggunakan kejadian dan tidak boleh dibawa lebih jauh.
-    Yaitu, mengembalikan <em>benar</em> untuk menunjukkan apakah Anda telah menangani kejadian dan semestinya berhenti di sini; 
+    Yaitu, mengembalikan <em>benar</em> untuk menunjukkan apakah Anda telah menangani kejadian dan semestinya berhenti di sini;
     mengembalikan <em>salah</em> jika Anda tidak menanganinya dan/atau kejadian semestinya berlanjut ke
     on-key listener lainnya.</li>
-  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> - 
-    Ini mengembalikan boolean untuk menunjukkan apakah listener Anda telah menggunakan kejadian ini. Yang penting adalah 
-kejadian ini bisa memiliki beberapa tindakan yang saling mengikuti. Jadi, jika Anda mengembalikan <em>salah</em>saat 
-kejadian tindakan turun diterima, itu menunjukkan bahwa Anda belum menggunakan kejadian itu dan juga 
+  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> -
+    Ini mengembalikan boolean untuk menunjukkan apakah listener Anda telah menggunakan kejadian ini. Yang penting adalah
+kejadian ini bisa memiliki beberapa tindakan yang saling mengikuti. Jadi, jika Anda mengembalikan <em>salah</em>saat
+kejadian tindakan turun diterima, itu menunjukkan bahwa Anda belum menggunakan kejadian itu dan juga
 tidak tertarik dengan tindakan berikutnya dari kejadian ini. Karena itu, Anda tidak akan diminta untuk melakukan tindakan
  lainnya dalam kejadian, seperti gerakan jari, atau kejadian tindakan naik yang akan terjadi.</li>
 </ul>
@@ -142,12 +142,12 @@
 <p>Ingatlah bahwa kejadian tombol fisik selalu disampaikan ke View yang sedang difokus. Kejadian ini dikirim mulai dari atas
 hierarki View, kemudian turun hingga tujuan yang sesuai. Jika View Anda (atau anak View Anda)
 saat ini sedang fokus, maka Anda dapat melihat kejadian berpindah melalui metode.<code>{@link android.view.View#dispatchKeyEvent(KeyEvent)
-dispatchKeyEvent()}</code> Sebagai pengganti untuk menangkap kejadian penting melalui View, Anda juga dapat menerima 
+dispatchKeyEvent()}</code> Sebagai pengganti untuk menangkap kejadian penting melalui View, Anda juga dapat menerima
 semua kejadian dalam Aktivitas Anda dengan <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>
 dan <code>{@link android.app.Activity#onKeyUp(int,KeyEvent) onKeyUp()}</code>.</p>
 
 <p>Selain itu, saat memikirkan tentang input teks aplikasi Anda, ingatlah bahwa banyak perangkat yang hanya memiliki
-metode input perangkat lunak. Metode seperti itu tidak harus berbasis tombol; sebagian mungkin menggunakan input suara, tulisan tangan, dan seterusnya. Meskipun 
+metode input perangkat lunak. Metode seperti itu tidak harus berbasis tombol; sebagian mungkin menggunakan input suara, tulisan tangan, dan seterusnya. Meskipun
 metode input menyajikan antarmuka seperti keyboard, itu umumnya <strong>tidak</strong> memicu keluarga kejadian
 <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>. Anda sama sekali tidak boleh
 membangun UI yang mengharuskan penekanan tombol tertentu dikontrol kecuali jika Anda ingin membatasi aplikasi Anda pada perangkat yang memiliki
@@ -157,14 +157,14 @@
 tentang bagaimana metode input perangkat lunak seharusnya bekerja dan percayalah bahwa metode akan menyediakan teks yang sudah diformat bagi aplikasi Anda.</p>
 
 <p class="note"><strong>Catatan:</strong> Android akan memanggil event handler terlebih dahulu kemudian handler
-default yang sesuai dari definisi kelas. Karena itu, mengembalikan <em>benar</em> dari event listener ini akan menghentikan 
-penyebaran kejadian ke event listener lain dan juga akan memblokir callback ke 
+default yang sesuai dari definisi kelas. Karena itu, mengembalikan <em>benar</em> dari event listener ini akan menghentikan
+penyebaran kejadian ke event listener lain dan juga akan memblokir callback ke
 event handler default di View. Pastikan bahwa Anda ingin mengakhiri kejadian saat mengembalikan <em>true</em>.</p>
 
 
 <h2 id="EventHandlers">Event Handler</h2>
 
-<p>Jika Anda membuat komponen custom dari View, maka Anda dapat mendefinisikan penggunaan beberapa 
+<p>Jika Anda membuat komponen custom dari View, maka Anda dapat mendefinisikan penggunaan beberapa
 metode callback sebagai event handler default.
 Dalam dokumen tentang <a href="{@docRoot}guide/topics/ui/custom-components.html">Komponen
 Custom</a>, Anda akan melihat penggunaan beberapa callback umum untuk penanganan kejadian,
@@ -176,19 +176,19 @@
   <li><code>{@link  android.view.View#onTouchEvent}</code> - Dipanggil bila terjadi kejadian gerakan layar sentuh.</li>
   <li><code>{@link  android.view.View#onFocusChanged}</code> - Dipanggil bila View memperoleh atau kehilangan fokus.</li>
 </ul>
-<p>Ada beberapa metode lain yang harus Anda ketahui, yang bukan bagian dari kelas View, 
+<p>Ada beberapa metode lain yang harus Anda ketahui, yang bukan bagian dari kelas View,
 namun bisa berdampak langsung pada kemampuan Anda menangani kejadian. Jadi, saat mengelola kejadian yang lebih kompleks dalam
 layout, pertimbangkanlah metode-metode lain ini:</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> - Ini memungkinkan {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> - Ini memungkinkan {@link
     android.app.Activity} Anda mencegat semua kejadian sentuh sebelum dikirim ke jendela.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - Ini memungkinkan {@link
     android.view.ViewGroup} memantau kejadian saat dikirim ke View anak.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - Panggil ini
-    pada View induk untuk menunjukan larangan mencegat kejadian sentuh dengan <code>{@link 
+    pada View induk untuk menunjukan larangan mencegat kejadian sentuh dengan <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>.</li>
 </ul>
 
@@ -199,11 +199,11 @@
 yang akan menerima input.  Akan tetapi jika perangkat memiliki kemampuan sentuh, dan pengguna
 mulai berinteraksi dengan antarmuka dengan menyentuhnya, maka Anda tidak perlu lagi
 menyorot item, atau memfokuskan pada View tertentu.  Karena itu, ada mode
-untuk interaksi yang bernama "mode sentuh". 
+untuk interaksi yang bernama "mode sentuh".
 </p>
 <p>
 Untuk perangkat berkemampuan sentuh, setelah pengguna menyentuh layar, perangkat
-akan masuk ke mode sentuh.  Dari sini dan selanjutnya, hanya View dengan 
+akan masuk ke mode sentuh.  Dari sini dan selanjutnya, hanya View dengan
 {@link android.view.View#isFocusableInTouchMode} benar yang akan dapat difokus, seperti widget pengedit teks.
 View lain yang dapat disentuh, seperti tombol, tidak akan difokus bila disentuh; View ini akan
 langsung memicu on-click listener bila ditekan.
@@ -214,7 +214,7 @@
 dengan antarmuka pengguna tanpa menyentuh layar.
 </p>
 <p>
-Status mode sentuh dipertahankan di seluruh sistem (semua jendela dan aktivitas). 
+Status mode sentuh dipertahankan di seluruh sistem (semua jendela dan aktivitas).
 Untuk query status saat ini, Anda bisa memanggil
 {@link android.view.View#isInTouchMode} untuk mengetahui apakah perangkat saat ini sedang dalam mode sentuh.
 </p>
@@ -257,7 +257,7 @@
 mendefinisikan Button bawah sebagai <var>nextFocusUp</var> (dan sebaliknya), fokus navigasi akan
 silih berganti dari atas ke bawah dan bawah ke atas.</p>
 
-<p>Jika Anda ingin mendeklarasikan View sebagai dapat difokus dalam UI (bila biasanya tidak dapat difokus), 
+<p>Jika Anda ingin mendeklarasikan View sebagai dapat difokus dalam UI (bila biasanya tidak dapat difokus),
 tambahkan atribut XML <code>android:focusable</code> ke View, dalam deklarasi layout Anda.
 Atur nilai <var>true</var>. Anda juga bisa mendeklarasikan View
 sebagai dapat difokus saat dalam Mode Sentuh dengan <code>android:focusableInTouchMode</code>.</p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/in/preview/api-overview.jd b/docs/html-intl/intl/in/preview/api-overview.jd
index b0a0317..b652dd9 100644
--- a/docs/html-intl/intl/in/preview/api-overview.jd
+++ b/docs/html-intl/intl/in/preview/api-overview.jd
@@ -815,7 +815,7 @@
 sederhana yang memperinci dengan jelas direktori apa yang aksesnya diminta
 oleh aplikasi.</p>
 
-<p>Untuk informasi selengkapnya, lihat dokumentasi pengembang 
+<p>Untuk informasi selengkapnya, lihat dokumentasi pengembang
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Scoped
 Directory Access</a>.</p>
 
diff --git a/docs/html-intl/intl/in/preview/behavior-changes.jd b/docs/html-intl/intl/in/preview/behavior-changes.jd
index 6e6ebae9..521312e 100644
--- a/docs/html-intl/intl/in/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/in/preview/behavior-changes.jd
@@ -45,7 +45,7 @@
 
 <p>
   Bersama fitur dan kemampuan baru, Android N
-  menyertakan berbagai macam perubahan sistem dan perubahan perilaku API. Dokumen ini 
+  menyertakan berbagai macam perubahan sistem dan perubahan perilaku API. Dokumen ini
   menyoroti beberapa perubahan utama yang harus dipahami dan diperhitungkan
   dalam aplikasi Anda.
 </p>
@@ -482,7 +482,7 @@
   </li>
 
   <li>Pemilik perangkat bisa mengelola pengguna tambahan lebih mudah. Bila perangkat
-  berjalan dalam mode pemilik perangkat, maka pembatasan <code>DISALLOW_ADD_USER</code> 
+  berjalan dalam mode pemilik perangkat, maka pembatasan <code>DISALLOW_ADD_USER</code>
   secara otomatis akan ditetapkan. Ini mencegah pengguna membuat pengguna tambahan yang
   tidak terkelola. Selain itu, <code>CreateUser()</code> dan
   <code>createAndInitializeUser()</code> metode tidak digunakan lagi; metode
diff --git a/docs/html-intl/intl/in/preview/features/background-optimization.jd b/docs/html-intl/intl/in/preview/features/background-optimization.jd
index 5712ab6..c6bf175 100644
--- a/docs/html-intl/intl/in/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/in/preview/features/background-optimization.jd
@@ -297,7 +297,7 @@
   <dd>
     Mengembalikan larik URL yang telah memicu pekerjaan. Ini akan berupa {@code
     null} jika tidak ada URI yang memicu pekerjaan (misalnya, pekerjaan
-    dipicu karena batas waktu atau alasan lainnya), atau jumlah 
+    dipicu karena batas waktu atau alasan lainnya), atau jumlah
     URI yang berubah lebih dari 50.
   </dd>
 
diff --git a/docs/html-intl/intl/in/preview/features/data-saver.jd b/docs/html-intl/intl/in/preview/features/data-saver.jd
index f64609b..6cd64d2 100644
--- a/docs/html-intl/intl/in/preview/features/data-saver.jd
+++ b/docs/html-intl/intl/in/preview/features/data-saver.jd
@@ -50,7 +50,7 @@
 <p>
   N Developer Preview memperluas {@link android.net.ConnectivityManager}
   API untuk menyediakan cara pada aplikasi untuk <a href="#status">menerima preferensi Data Saver
-  pengguna</a> dan <a href="#monitor-changes">memantau perubahan 
+  pengguna</a> dan <a href="#monitor-changes">memantau perubahan
   preferensi</a>. Hal ini dianggap praktik terbaik bagi aplikasi untuk memeriksa apakah
   pengguna telah mengaktifkan DataSaver dan berusaha membatasi penggunaan data latar depan dan
   data latar belakang.
diff --git a/docs/html-intl/intl/in/preview/features/multi-window.jd b/docs/html-intl/intl/in/preview/features/multi-window.jd
index 33399e9..3f75def 100644
--- a/docs/html-intl/intl/in/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/in/preview/features/multi-window.jd
@@ -325,7 +325,7 @@
     <p class="note">
       <strong>Catatan:</strong> Mode gambar-dalam-gambar adalah kasus khusus pada
       mode multi-jendela. Jika <code>myActivity.isInPictureInPictureMode()</code>
-     mengembalikan nilai true, maka <code>myActivity.isInMultiWindowMode()</code> juga 
+     mengembalikan nilai true, maka <code>myActivity.isInMultiWindowMode()</code> juga
       mengembalikan nilai true.
     </p>
   </dd>
diff --git a/docs/html-intl/intl/in/preview/features/security-config.jd b/docs/html-intl/intl/in/preview/features/security-config.jd
index 53f5576..7a0303e 100644
--- a/docs/html-intl/intl/in/preview/features/security-config.jd
+++ b/docs/html-intl/intl/in/preview/features/security-config.jd
@@ -739,7 +739,7 @@
       </dt>
 
       <dd>
-        Algoritme intisari yang digunakan untuk menghasilkan pin. Saat ini, hanya 
+        Algoritme intisari yang digunakan untuk menghasilkan pin. Saat ini, hanya
         {@code "SHA-256"} yang didukung.
       </dd>
     </dl>
diff --git a/docs/html-intl/intl/in/preview/j8-jack.jd b/docs/html-intl/intl/in/preview/j8-jack.jd
index bbb1670..4389184 100644
--- a/docs/html-intl/intl/in/preview/j8-jack.jd
+++ b/docs/html-intl/intl/in/preview/j8-jack.jd
@@ -126,7 +126,7 @@
 </h2>
 
 <p>
-  Agar dapat menggunakan fitur bahasa Java 8 yang baru, Anda juga perlu menggunakan 
+  Agar dapat menggunakan fitur bahasa Java 8 yang baru, Anda juga perlu menggunakan
   <a class="external-link" href="https://source.android.com/source/jack.html">Jack toolchain</a> yang baru.  Toolchain Android
  yang baru ini mengompilasi sumber bahasa Java menjadi dex
   bytecode yang bisa dibaca Android, memiliki format  pustaka {@code .jack} sendiri, dan menyediakan sebagian besar fitur toolchain
diff --git a/docs/html-intl/intl/in/preview/overview.jd b/docs/html-intl/intl/in/preview/overview.jd
index c1fc0b5..c38a579 100644
--- a/docs/html-intl/intl/in/preview/overview.jd
+++ b/docs/html-intl/intl/in/preview/overview.jd
@@ -167,7 +167,7 @@
 <p>
   <strong>Tiga tahapan pencapaian pratinjau pertama</strong> memberikan <strong>ujian
   pertama dan lingkungan pengembangan</strong> yang membantu Anda mengidentifikasi
-  masalah kompatibilitas dalam aplikasi Anda saat ini dan merencanakan migrasi atau menampilkan pekerjaan 
+  masalah kompatibilitas dalam aplikasi Anda saat ini dan merencanakan migrasi atau menampilkan pekerjaan
   yang diperlukan untuk menargetkan platform baru. Ini adalah periode prioritas yang akan
   memberi kami masukan dari Anda tentang fitur dan API serta masalah kompatibilitas file
   &mdash; untuk semua ini, gunakan <a href="{@docRoot}preview/bug">Issue
@@ -314,8 +314,8 @@
 </p>
 
 <ul>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk 
-Android N</a> memiliki 
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk
+Android N</a> memiliki
  petunjuk langkah demi langkah untuk memulai.</li>
   <li> <a href="{@docRoot}preview/behavior-changes.html">Perubahan
   Perilaku</a> akan menunjukkan kepada Anda bidang-bidang utama untuk diuji.</li>
diff --git a/docs/html-intl/intl/in/preview/setup-sdk.jd b/docs/html-intl/intl/in/preview/setup-sdk.jd
index 9999705..c03f388 100644
--- a/docs/html-intl/intl/in/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/in/preview/setup-sdk.jd
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
diff --git a/docs/html-intl/intl/in/preview/support.jd b/docs/html-intl/intl/in/preview/support.jd
index 5571b11..885e7c7 100644
--- a/docs/html-intl/intl/in/preview/support.jd
+++ b/docs/html-intl/intl/in/preview/support.jd
@@ -457,7 +457,7 @@
   versi aplikasi multi-APK yang didesain untuk mendukung Vulkan yang lebih rendah pada
   perangkat dengan dukungan versi yang lebih tinggi. Saat ini, Google Play Store tidak
   menerima unggahan aplikasi yang menggunakan penargetan versi Vulkan. Dukungan ini
-  akan ditambahkan pada Google Play Store di masa mendatang dan diperbaiki dalam 
+  akan ditambahkan pada Google Play Store di masa mendatang dan diperbaiki dalam
   Google Play Services versi berikutnya (akan disertakan dalam rilis Developer Preview
   mendatang). Perangkat N yang menggunakan Google Play Services 9.0.83 akan
   tetap menerima versi Aplikasi yang menargetkan dukungan Vulkan dasar.
diff --git a/docs/html-intl/intl/in/training/material/drawables.jd b/docs/html-intl/intl/in/training/material/drawables.jd
index 56fd17f..493abd4 100644
--- a/docs/html-intl/intl/in/training/material/drawables.jd
+++ b/docs/html-intl/intl/in/training/material/drawables.jd
@@ -66,7 +66,7 @@
 <p>Anda bisa mengambil warna mencolok dari gambar dengan metode getter di kelas
 <code>Palette</code>, misalnya <code>Palette.getVibrantColor</code>.</p>
 
-<p>Untuk menggunakan kelas {@link android.support.v7.graphics.Palette} dalam proyek Anda, tambahkan 
+<p>Untuk menggunakan kelas {@link android.support.v7.graphics.Palette} dalam proyek Anda, tambahkan
 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">dependensi Gradle</a> berikut ke
 modul aplikasi Anda:</p>
 
diff --git a/docs/html-intl/intl/in/training/material/lists-cards.jd b/docs/html-intl/intl/in/training/material/lists-cards.jd
index 358f1d1..46dd19af 100644
--- a/docs/html-intl/intl/in/training/material/lists-cards.jd
+++ b/docs/html-intl/intl/in/training/material/lists-cards.jd
@@ -83,7 +83,7 @@
 <h3>Animasi</h3>
 
 <p>Animasi untuk menambahkan dan menghapus item diaktifkan secara default di {@link
-android.support.v7.widget.RecyclerView}. Untuk menyesuaikan animasi ini, perluas kelas 
+android.support.v7.widget.RecyclerView}. Untuk menyesuaikan animasi ini, perluas kelas
 {@link android.support.v7.widget.RecyclerView.ItemAnimator RecyclerView.ItemAnimator}dan gunakan
 metode {@link android.support.v7.widget.RecyclerView#setItemAnimator RecyclerView.setItemAnimator()}.
 </p>
@@ -253,7 +253,7 @@
 
 <p>Widget {@link android.support.v7.widget.RecyclerView} dan {@link android.support.v7.widget.CardView}
 adalah bagian dari <a href="{@docRoot}tools/support-library/features.html#v7">v7 Support
-Library</a>. Untuk menggunakan widget dalam proyek Anda, tambahkan 
+Library</a>. Untuk menggunakan widget dalam proyek Anda, tambahkan
 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">dependensi Gradle</a> ini ke
 modul aplikasi Anda:</p>
 
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/about.jd b/docs/html-intl/intl/ja/distribute/googleplay/about.jd
index 56eaf2c..6a58cf6 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-<div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
   <h2>Google Play について</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/auto.jd b/docs/html-intl/intl/ja/distribute/googleplay/auto.jd
index 0cbf8b1..bc5a01f 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/auto.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/auto.jd
@@ -160,4 +160,4 @@
     data-query="collection:autolanding"
     data-cardSizes="9x6, 6x3x2"
     data-maxResults="6">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/ja/distribute/googleplay/developer-console.jd
index 8dd562d..29e4145 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/developer-console.jd
@@ -5,7 +5,7 @@
 
 @jd:body
 
-<div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
     <h2>公開機能</h2>
     <ol>
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/families/about.jd b/docs/html-intl/intl/ja/distribute/googleplay/families/about.jd
index 53258de..54c4f34 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/families/about.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/families/about.jd
@@ -36,4 +36,4 @@
 
 <div class="paging-links" style="padding-top:.75em;">
   <a href="{@docRoot}distribute/googleplay/families/start.html" class="next-class-link">次のトピック:オプトイン</a>
-</div> 
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/ja/distribute/googleplay/families/faq.jd
index 206429c..da877f9 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>本書の内容</h2>
@@ -106,7 +106,7 @@
   </dt>
 
   <dd>
-    Designed for Families プログラムにオプトインすると、Google Play はアプリを審査し、ファミリー層に適切かどうか確認します。アプリがすべてのプログラム要件に準拠している場合、公開までの時間は通常よりも長くかかることはないはずです。ただし、Designed for Families 審査で却下された場合、アプリの公開が遅れる可能性があります。 
+    Designed for Families プログラムにオプトインすると、Google Play はアプリを審査し、ファミリー層に適切かどうか確認します。アプリがすべてのプログラム要件に準拠している場合、公開までの時間は通常よりも長くかかることはないはずです。ただし、Designed for Families 審査で却下された場合、アプリの公開が遅れる可能性があります。
   </dd>
 
   <dt>
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/families/start.jd b/docs/html-intl/intl/ja/distribute/googleplay/families/start.jd
index e8e9ee5..023e2c1 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/families/start.jd
@@ -51,7 +51,7 @@
 </p>
 
 <p class="note">
-  <strong>注:</strong> Designed for Families プログラムで公開されたアプリは Google Play ですべてのユーザーも利用できます。 
+  <strong>注:</strong> Designed for Families プログラムで公開されたアプリは Google Play ですべてのユーザーも利用できます。
 </p>
 
 <p>
@@ -67,4 +67,4 @@
 
 <div class="paging-links" style="padding-top:.75em;">
   <a href="{@docRoot}distribute/googleplay/families/faq.html" class="next-class-link">次のトピック:よくある質問</a>
-</div> 
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/guide.jd b/docs/html-intl/intl/ja/distribute/googleplay/guide.jd
index 137c63f..1655017 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/guide.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/guide.jd
@@ -54,4 +54,4 @@
     data-query="collection:play_dev_guide"
     data-cardSizes="9x6"
     data-maxResults="1">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/quality/auto.jd b/docs/html-intl/intl/ja/distribute/googleplay/quality/auto.jd
index eda7297..2870153 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/quality/auto.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/quality/auto.jd
@@ -431,4 +431,4 @@
 
 <p class="caution">
   <strong>重要: </strong>この制限のため、Auto サポートのプロトタイプの作成に、実働 APK を使用してはなりません。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/ja/distribute/googleplay/quality/core.jd
index 5229aa7..ddf4115 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/quality/core.jd
@@ -13,7 +13,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>テスト</h2>
   <ol>
     <li><a href="#test-environment">テスト環境の設定</a></li>
@@ -25,7 +25,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">タブレットのアプリ品質</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">アプリを最適化する</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -70,7 +70,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       説明
@@ -1011,4 +1011,4 @@
 
 <p>
   {@link android.os.StrictMode.ThreadPolicy.Builder#penaltyFlashScreen() penaltyFlashScreen()}  を使用して<code>ThreadPolicy</code> に対するポリシー違反の<strong>視覚通知</strong>を有効にします。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/ja/distribute/googleplay/quality/tablets.jd
index f0cc133..dbdabc2 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/quality/tablets.jd
@@ -46,7 +46,7 @@
 
 <div class="headerLine"><h2 id="core-app-quality">1.タブレット アプリの基本的な品質テスト</h2></div>
 
-<p>タブレット アプリの優れたエクスペリエンスを提供する最初のステップは、アプリがターゲットとしているすべてのデバイスとフォーム ファクタに対して、<em>アプリの中核品質基準</em>に適合していることを確認することです。詳細については、<a href="{@docRoot}distribute/essentials/quality/core.html">アプリの中核品質に関するガイドライン</a>を参照してください。 
+<p>タブレット アプリの優れたエクスペリエンスを提供する最初のステップは、アプリがターゲットとしているすべてのデバイスとフォーム ファクタに対して、<em>アプリの中核品質基準</em>に適合していることを確認することです。詳細については、<a href="{@docRoot}distribute/essentials/quality/core.html">アプリの中核品質に関するガイドライン</a>を参照してください。
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/quality/wear.jd b/docs/html-intl/intl/ja/distribute/googleplay/quality/wear.jd
index 9fa4439..1d92d8c 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/quality/wear.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/quality/wear.jd
@@ -395,4 +395,4 @@
 </p>
 <p>
   はい。上記の要件は、アプリが Google Play で Android Wear アプリとして識別され、Android Wear ユーザーが発見しやすくなるかどうかのみを判断するものです。アプリが Wear アプリとして承認されなくても、電話やタブレットなどの他のデバイス タイプで利用可能です。ウェアラブル端末へのインストールも可能です。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/start.jd b/docs/html-intl/intl/ja/distribute/googleplay/start.jd
index 3c5e548..93aee136 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/start.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/start.jd
@@ -134,4 +134,4 @@
   data-query="collection:distribute/googleplay/gettingstarted"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/tv.jd b/docs/html-intl/intl/ja/distribute/googleplay/tv.jd
index 1a7558d..9532bf4 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/tv.jd
@@ -173,7 +173,7 @@
 <h3 id="track_review">5.審査と承認をトラッキングする</h3>
 
 <p>
-  アプリが上述の Android TV 向けの技術上の基準と品質基準に適合すると、ユーザーはそのアプリを Android TV で活用できるようになります。アプリが基準を満たしていない場合、<strong>デベロッパー アカウント アドレスに送られた通知メール</strong>を受け取ります。このメールには対処が必要な領域の要約が記載されています。必要な調整を行ったら、デベロッパー コンソールにアプリの新規バージョンをアップロードできます。 
+  アプリが上述の Android TV 向けの技術上の基準と品質基準に適合すると、ユーザーはそのアプリを Android TV で活用できるようになります。アプリが基準を満たしていない場合、<strong>デベロッパー アカウント アドレスに送られた通知メール</strong>を受け取ります。このメールには対処が必要な領域の要約が記載されています。必要な調整を行ったら、デベロッパー コンソールにアプリの新規バージョンをアップロードできます。
 </p>
 
 <p>
@@ -190,7 +190,7 @@
   </li>
 
   <li>
-    <em>承認</em> — アプリが審査され、承認されました。アプリは Android TV ユーザーが直接利用できるようになります。 
+    <em>承認</em> — アプリが審査され、承認されました。アプリは Android TV ユーザーが直接利用できるようになります。
   </li>
 
   <li>
@@ -207,4 +207,4 @@
     data-query="collection:tvlanding"
     data-cardSizes="9x6, 6x3x2"
     data-maxResults="6">
-  </div> 
+  </div>
diff --git a/docs/html-intl/intl/ja/distribute/googleplay/wear.jd b/docs/html-intl/intl/ja/distribute/googleplay/wear.jd
index 4e0196e..85cffca 100644
--- a/docs/html-intl/intl/ja/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/ja/distribute/googleplay/wear.jd
@@ -196,4 +196,4 @@
     data-query="collection:wearlanding"
     data-cardSizes="6x2"
     data-maxResults="3">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/ja/distribute/tools/launch-checklist.jd
index b1394f8..a6f1a7f 100644
--- a/docs/html-intl/intl/ja/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/ja/distribute/tools/launch-checklist.jd
@@ -789,4 +789,4 @@
   data-query="collection:distribute/toolsreference/launchchecklist/afterlaunch"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3,9x3,9x3,9x3,9x3,9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/ja/distribute/tools/localization-checklist.jd
index b2c797b..5bb9fe0 100644
--- a/docs/html-intl/intl/ja/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/ja/distribute/tools/localization-checklist.jd
@@ -2,7 +2,7 @@
 page.metaDescription=Android と Google Play から提供される世界中のユーザーを活用します。このチェックリストを読んで、お客様の製品を世界中のマーケットに提供する方法の概要を把握してください。
 meta.tags="localizing, publishing, disttools"
 page.tags="local, l10n, translation, language"
-page.image=/distribute/images/localization-checklist.jpg 
+page.image=/distribute/images/localization-checklist.jpg
 
 @jd:body
 
@@ -713,4 +713,4 @@
   data-query="collection:distribute/toolsreference/localizationchecklist/supportlaunch"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/google/play/filters.jd b/docs/html-intl/intl/ja/google/play/filters.jd
index 5ab6336..eed069f 100644
--- a/docs/html-intl/intl/ja/google/play/filters.jd
+++ b/docs/html-intl/intl/ja/google/play/filters.jd
@@ -263,4 +263,4 @@
 
 <p class="caution"><strong>警告:</strong> 同じアプリに複数の APK を公開することは拡張機能とみなされます。<strong>大部分のアプリは、広範囲のデバイス設定をサポートする APK を 1 つだけ公開すべきです</strong>。複数の APK を公開する場合、フィルタ固有のルールに従う必要があります。また、設定ごとに適切なアップデート パスを確保するため、各 APK のバージョン コードに特別な注意を払う必要があります。</p>
 
-<p>Google Play で複数の APK を公開する方法について詳しくは、<a href="{@docRoot}google/play/publishing/multiple-apks.html">複数の APK サポート(Multiple APK Support)</a>をご覧ください。</p> 
\ No newline at end of file
+<p>Google Play で複数の APK を公開する方法について詳しくは、<a href="{@docRoot}google/play/publishing/multiple-apks.html">複数の APK サポート(Multiple APK Support)</a>をご覧ください。</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/guide/components/activities.jd b/docs/html-intl/intl/ja/guide/components/activities.jd
index 9b06d2c..227f7f4 100644
--- a/docs/html-intl/intl/ja/guide/components/activities.jd
+++ b/docs/html-intl/intl/ja/guide/components/activities.jd
@@ -53,7 +53,7 @@
 <p> 通常、アプリケーションは複数のアクティビティで構成されており、各アプリケーションはそれぞれ緩やかにつながっています。
 一般的には、アプリケーションの 1 つのアクティビティが「メイン」アクティビティとして指定され、ユーザーが初めてアプリケーションを起動したときに表示されるのがこのアクティビティになります。
 その後、各アクティビティで別のアクティビティを開始して別の操作を実行できます。
-新しいアクティビティの開始時には、前のアクティビティは停止しますが、そのアクティビティはシステムによってスタック(「バックスタック」)に維持されます 
+新しいアクティビティの開始時には、前のアクティビティは停止しますが、そのアクティビティはシステムによってスタック(「バックスタック」)に維持されます
 
 新しいアクティビティが開始すると、それがバックスタックに入ってユーザーに表示されます。
 バックスタックは「後入れ先出し」の基本的なスタック メカニズムを順守するため、ユーザーが現在のアクティビティを完了して [<em>戻る</em>] ボタンを押すと、そのアクティビティはスタックから消え(破棄され)、前のアクティビティが再開します。
diff --git a/docs/html-intl/intl/ja/guide/components/fragments.jd b/docs/html-intl/intl/ja/guide/components/fragments.jd
index 31fb7f5..7f90963 100644
--- a/docs/html-intl/intl/ja/guide/components/fragments.jd
+++ b/docs/html-intl/intl/ja/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>関連ドキュメント</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Building a Dynamic UI with Fragments</a></li>
@@ -332,7 +332,7 @@
 fragmentTransaction.commit();
 </pre>
 
-  <p>{@link android.app.FragmentTransaction#add(int,Fragment) add()} に渡される最初の引数はフラグメントを配置する {@link android.view.ViewGroup} でリソース ID で指定されており、2 つ目のパラメータは追加するフラグメントです。 
+  <p>{@link android.app.FragmentTransaction#add(int,Fragment) add()} に渡される最初の引数はフラグメントを配置する {@link android.view.ViewGroup} でリソース ID で指定されており、2 つ目のパラメータは追加するフラグメントです。
 
 </p>
   <p>{@link android.app.FragmentTransaction} で変更を加えたら、{@link android.app.FragmentTransaction#commit} を呼び出して変更を適用する必要があります。
@@ -378,7 +378,7 @@
   <li>{@link
 android.app.FragmentManager#findFragmentById findFragmentById()}(アクティビティ レイアウトで UI を提供するフラグメントの場合)や {@link android.app.FragmentManager#findFragmentByTag
 findFragmentByTag()}(UI を提供しないフラグメントの場合)を使用して、アクティビティにあるフラグメントを取得する。
-</li> 
+</li>
   <li>{@link
 android.app.FragmentManager#popBackStack()} を使用してフラグメントをバックスタックから取り出す(ユーザーによる [<em>戻る</em>] コマンドをシミュレートする)。</li>
   <li>{@link
@@ -785,7 +785,7 @@
 
 <p>2 つ目のフラグメントである {@code DetailsFragment} は、{@code TitlesFragment} のリストで選択された劇のあらすじを表示します。
 </p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>{@code TitlesFragment} クラスで説明したように、ユーザーがリストアイテムをクリックしたときに、現在のレイアウトに{@code R.id.details} ビュー({@code DetailsFragment} が属する場所)が<em>含まれていない</em>場合、アプリケーションは {@code DetailsActivity} のアクティビティを開始してアイテムのコンテンツを表示します。
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>構成が横方向の場合はアクティビティは自ら終了するため、メイン アクティビティが引き継いで {@code DetailsFragment} を {@code TitlesFragment} の横に表示できます。これは、ユーザーが縦方向のときに {@code DetailsActivity} を開始し、その後横方向に回転した(ここで現在のアクティビティが再開される)ときに起こることがあります。
 
 
diff --git a/docs/html-intl/intl/ja/guide/components/fundamentals.jd b/docs/html-intl/intl/ja/guide/components/fundamentals.jd
index 46e9868..e1a26cd 100644
--- a/docs/html-intl/intl/ja/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/ja/guide/components/fundamentals.jd
@@ -379,7 +379,7 @@
 </p>
 
 <p>たとえば、アプリでカメラを使用する必要があり、Android 2.1 で採用された API(<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API レベル</a> 7)を使用する場合、次のようにマニフェスト ファイルでそれを要件として宣言する必要があります。
-</p> 
+</p>
 
 <pre>
 &lt;manifest ... >
diff --git a/docs/html-intl/intl/ja/guide/components/index.jd b/docs/html-intl/intl/ja/guide/components/index.jd
index 803f99b..f4801c9 100644
--- a/docs/html-intl/intl/ja/guide/components/index.jd
+++ b/docs/html-intl/intl/ja/guide/components/index.jd
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>ブログの記事</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>DialogFragments の使用</h4>
       <p>この投稿では、DialogFragments を v4 サポート ライブラリで使用して(Honeycomb 以前の端末での下方互換性のため)ダイアログを編集したり、インターフェースを使用して呼び出し元の Activity に結果を返したりする方法について説明します。</p>
@@ -21,7 +21,7 @@
       <h4>すべてに Fragments を</h4>
       <p>本日、同じ Fragments API を利用できる静的なライブラリが公開され、Android 1.6 以降でもフラグメントを使用してタブレット対応のユーザー インターフェースを作成できるようになりました。 </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>マルチスレッドでパフォーマンス向上</h4>
       <p>応答の速いアプリケーションを作成する上で重要なのは、メイン UI スレッドが最小限の作業を行うようにすることです。
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>トレーニング</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>アクティビティのライフサイクルの管理</h4>
       <p>このレッスンでは、各 Activity インスタンスが受け取る重要なライフサイクル コールバック メソッドについて、それらを使用してユーザーの予期する内容でアクティビティを動作させる方法と、アクティビティがそれらを必要としないときに、システムのリソースを消費しないようにする方法について学習します。
diff --git a/docs/html-intl/intl/ja/guide/components/loaders.jd b/docs/html-intl/intl/ja/guide/components/loaders.jd
index bc93677..6034717 100644
--- a/docs/html-intl/intl/ja/guide/components/loaders.jd
+++ b/docs/html-intl/intl/ja/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>キークラス</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>関連サンプル</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 再度データを問い合わせる必要がない。
 </li>
   </ul>
- 
+
 <h2 id="summary">Loader API の概要</h2>
 
 <p>アプリケーションでローダを使用するのに必要になりそうなクラスやインターフェースは複数あります。
@@ -129,7 +129,7 @@
 </li>
   <li>{@link android.app.LoaderManager.LoaderCallbacks} の実装。ここで、新しいローダを作成して既存のローダへの参照を管理します。
 
-</li> 
+</li>
 <li>{@link
 android.widget.SimpleCursorAdapter} などのローダのデータを表示する方法。</li>
   <li>{@link android.content.CursorLoader} を使用するときの、{@link android.content.ContentProvider} などのデータ ソース。
@@ -140,7 +140,7 @@
 <p>{@link android.app.LoaderManager} は 1 つ以上の {@link
 android.content.Loader} インスタンスを {@link android.app.Activity} や {@link android.app.Fragment} 内で管理します。
 1 つのアクティビティやフラグメントごとに、{@link
-android.app.LoaderManager} は 1 つだけ存在します。</p> 
+android.app.LoaderManager} は 1 つだけ存在します。</p>
 
 <p>通常は、アクティビティの {@link
 android.app.Activity#onCreate onCreate()} メソッドか、フラグメントの {@link android.app.Fragment#onActivityCreated onActivityCreated()} メソッド内で {@link android.content.Loader} を初期化します。
@@ -157,13 +157,13 @@
 <ul>
   <li>ローダを識別する一意の ID。この例では、ID は 0 です。</li>
 <li>ローダの構築時に提供する任意の引数(この例では <code>null</code>)。
-</li> 
+</li>
 
 <li>{@link android.app.LoaderManager} がローダのイベントを報告する際に呼び出す {@link android.app.LoaderManager.LoaderCallbacks} の実装。
 この例では、ローカルクラスが {@link
 android.app.LoaderManager.LoaderCallbacks} インターフェースを実装するため、自身の {@code this} に参照を渡します。
 
-</li> 
+</li>
 </ul>
 <p>{@link android.app.LoaderManager#initLoader initLoader()} の呼び出しによって、ローダが初期化され、アクティブになります。
 結果には次の 2 つの可能性があります。</p>
@@ -366,7 +366,7 @@
 android.app.Fragment} の完全な実装の例です。
 {@link
 android.content.CursorLoader} を使用してプロバイダへのクエリを管理しています。</p>
- 
+
 <p>この例にあるように、アプリケーションがユーザーの連絡先にアクセスするには、マニフェストに {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS} の許可を含める必要があります。
 
 </p>
diff --git a/docs/html-intl/intl/ja/guide/components/processes-and-threads.jd b/docs/html-intl/intl/ja/guide/components/processes-and-threads.jd
index 691a5f4..ae36411 100644
--- a/docs/html-intl/intl/ja/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/ja/guide/components/processes-and-threads.jd
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/ja/guide/publishing/app-signing.jd b/docs/html-intl/intl/ja/guide/publishing/app-signing.jd
index 2d2acfa..efe66f4 100644
--- a/docs/html-intl/intl/ja/guide/publishing/app-signing.jd
+++ b/docs/html-intl/intl/ja/guide/publishing/app-signing.jd
@@ -53,7 +53,7 @@
 <ul>
   <li>すべてのアプリケーションは<em>署名される必要があります</em>。署名されていないアプリケーションはシステムにインストールされません。</li>
   <li>アプリケーションの署名に、自己署名証明書を使用できます。認証機関は不要です。</li>
-  <li>アプリケーションをエンド ユーザーにリリースする準備ができたら、適切な秘密鍵を使用してアプリケーションに署名する必要があります。SDK ツールで生成されたデバッグ キーで署名されたアプリケーションは、公開できません。 
+  <li>アプリケーションをエンド ユーザーにリリースする準備ができたら、適切な秘密鍵を使用してアプリケーションに署名する必要があります。SDK ツールで生成されたデバッグ キーで署名されたアプリケーションは、公開できません。
   </li>
   <li>システムが署名証明書の有効期限を確認するのは、インストール時のみです。アプリケーションのインストール後に署名者証明書が期限切れになった場合、アプリケーションは正常な動作を継続します。</li>
   <li>標準ツールである Keytool と Jarsigner を使用してキーを生成し、アプリケーションの .apk ファイルに署名できます。</li>
@@ -61,7 +61,7 @@
 
 <p>Android システムは、適切に署名されていないアプリケーションをインストールせず、実行もしません。この規則は、実際のデバイスでもエミュレータでも、Android システムが実行されるすべての状況で適用されます。このため、エミュレータまたはデバイス上で実行またはデバッグする前に、アプリケーションの署名を設定する必要があります。</p>
 
-<p>Android SDK ツールは、デバッグ時のアプリケーション署名を支援します。「ADT Plugin for Eclipse」と「Ant ビルド ツール」では両方とも、<em>デバッグ モード</em>と<em>リリース モード</em>の 2 種類の署名モードを利用できます。 
+<p>Android SDK ツールは、デバッグ時のアプリケーション署名を支援します。「ADT Plugin for Eclipse」と「Ant ビルド ツール」では両方とも、<em>デバッグ モード</em>と<em>リリース モード</em>の 2 種類の署名モードを利用できます。
 
 <ul>
 <li>開発およびテスト中は、デバッグ モードでコンパイルできます。デバッグ モードでは、ビルド ツールは JDK に付属の Keytool ユーティリティを使用して、キーストアとキーを既知のエイリアスとパスワードで作成します。コンパイルのたびに、ツールはデバッグ キーを使用してアプリケーションの .apk ファイルに署名します。パスワードは既知のものなので、コンパイルのたびにツールにキーストア/キー パスワードを入力する必要はありません。</li>
@@ -198,8 +198,8 @@
 <ul>
 <li>自分が所有している。</li>
 <li>アプリケーションで識別される、個人、法人、または組織の実体を表す。</li>
-<li>アプリケーションまたはアプリケーション スイートの予期される使用期間を超える有効期間を持っている。有効期間として、25 年以上を推奨します。 
-<p>アプリケーションを Android マーケットに公開する予定の場合、2033 年 10 月 22 日までの有効期間が必要です。有効期間がこの日付以前に期限切れになるキーで署名されたアプリケーションは、アップロードできません。 
+<li>アプリケーションまたはアプリケーション スイートの予期される使用期間を超える有効期間を持っている。有効期間として、25 年以上を推奨します。
+<p>アプリケーションを Android マーケットに公開する予定の場合、2033 年 10 月 22 日までの有効期間が必要です。有効期間がこの日付以前に期限切れになるキーで署名されたアプリケーションは、アップロードできません。
 </p></li>
 <li>Android SDK ツールで生成されたデバッグ キーではない。 </li>
 </ul>
@@ -248,7 +248,7 @@
 
 <p>秘密鍵を生成する Keytool コマンドの例を示します。</p>
 
-<pre>$ keytool -genkey -v -keystore my-release-key.keystore 
+<pre>$ keytool -genkey -v -keystore my-release-key.keystore
 -alias alias_name -keyalg RSA -validity 10000</pre>
 
 <p>上記のコマンド例を実行すると、Keytool からキーストアとキーのパスワードと、キーの識別名フィールドの指定が求められます。キーストアが <code>my-release-key.keystore</code> というファイルとして生成されます。キーストアとキーは、入力したパスワードで保護されます。キーストアには 1 つのキーが含まれ、10000 日間有効です。エイリアスは、後で使用する名前で、アプリケーションに署名するときにこのキーストアを参照する名前です。 </p>
@@ -282,10 +282,10 @@
 </tr>
 </table>
 
-<p>Jarsigner を使用して <code>my_application.apk</code> というアプリケーション パッケージに署名する例を、上記で作成したキーストアを使用して示します。 
+<p>Jarsigner を使用して <code>my_application.apk</code> というアプリケーション パッケージに署名する例を、上記で作成したキーストアを使用して示します。
 </p>
 
-<pre>$ jarsigner -verbose -keystore my-release-key.keystore 
+<pre>$ jarsigner -verbose -keystore my-release-key.keystore
 my_application.apk alias_name</pre>
 
 <p>上記のコマンドを実行すると、Jarsigner からキーストアとキーのパスワードの入力が求められます。.apk がその場で変更され、.apk は署名されます。.apk に別のキーで複数回署名できます。</p>
diff --git a/docs/html-intl/intl/ja/guide/publishing/preparing.jd b/docs/html-intl/intl/ja/guide/publishing/preparing.jd
index c7a2950..a86f70c 100644
--- a/docs/html-intl/intl/ja/guide/publishing/preparing.jd
+++ b/docs/html-intl/intl/ja/guide/publishing/preparing.jd
@@ -68,7 +68,7 @@
 
 <h3 id="eula">2. アプリケーションへのエンドユーザー ライセンス契約の追加を検討する</h3>
 
-<p>個人、組織、知的財産を保護するため、アプリケーションのエンドユーザー ライセンス契約(EULA)を付加することを推奨します。 
+<p>個人、組織、知的財産を保護するため、アプリケーションのエンドユーザー ライセンス契約(EULA)を付加することを推奨します。
 
 <h3 id="iconlabel">3. アプリケーションのマニフェストにアイコンとラベルを指定する</h3>
 
diff --git a/docs/html-intl/intl/ja/guide/publishing/versioning.jd b/docs/html-intl/intl/ja/guide/publishing/versioning.jd
index 1928610..4da05bf 100644
--- a/docs/html-intl/intl/ja/guide/publishing/versioning.jd
+++ b/docs/html-intl/intl/ja/guide/publishing/versioning.jd
@@ -48,13 +48,13 @@
 <p>アプリケーションのバージョン情報を定義するには、アプリケーションのマニフェスト ファイルで属性を設定します。2 つの属性を使用でき、常にこの両方に値を定義することが推奨されています: </p>
 
 <ul>
-<li><code>android:versionCode</code> - アプリケーション コードのバージョンを他のバージョンと相対的に示す整数値。 
+<li><code>android:versionCode</code> - アプリケーション コードのバージョンを他のバージョンと相対的に示す整数値。
 
 <p>この値は整数なので、その他のアプリケーションはプログラムでバージョンの値を評価して関係を確認できます(たとえば、このバージョンがアップグレードかダウングレードなのか、など)。任意の整数値を設定できますが、アプリケーションの後続のリリースでは、現在より大きな値を使用するようにしてください。システムではこのバージョン管理の基準を強制しませんが、後継リリースの値を増加させることは標準的です。 </p>
 
 <p>通常、アプリケーションの最初のバージョンの versionCode を 1 に設定してリリースし、その後は各リリースについて、リリースがメジャー リリースであってもマイナー リリースであっても、値を単調増加させます。これは、<code>android:versionCode</code> の値は、ユーザーに表示されるアプリケーション リリース バージョンと類似している必要性はないことを意味します。以下の <code>android:versionName</code> をご覧ください。アプリケーションと公開サービスでは、このバージョンの値はユーザーには表示されません。</p>
 </li>
-<li><code>android:versionName</code> - アプリケーション コードのリリース バージョンを表す文字列値で、ユーザーに表示される値です。 
+<li><code>android:versionName</code> - アプリケーション コードのリリース バージョンを表す文字列値で、ユーザーに表示される値です。
 <p>値は文字列なので、アプリケーション バージョンを「&lt;major&gt;.&lt;minor&gt;.&lt;point&gt;」といった文字列や、その他のタイプの絶対的または相対的バージョン ID として記述できます。 </p>
 
 <p><code>android:versionCode</code> の場合と同様に、システムではこの値をアプリケーションでユーザーに表示する以外の目的で内部的に利用することはありません。公開サービスでは、ユーザーに表示するために <code>android:versionName</code> 値を取り出す可能性もあります。</p>
@@ -79,7 +79,7 @@
 
 <p>この例では、<code>android:versionCode</code> 値は現在の .apk がこのアプリケーション コードの 2 番目のリリースを含んでいることを表し、これは <code>android:codeName</code> 文字列が示すようにマイナー後継リリースであることを示します。 </p>
 
-<p>Android フレームワークには、アプリケーションがシステムに別のアプリケーションのバージョン情報を問い合わせる API が用意されています。バージョン情報を取得するため、アプリケーションは {@link android.content.pm.PackageManager#getPackageInfo(java.lang.String, int)} 
+<p>Android フレームワークには、アプリケーションがシステムに別のアプリケーションのバージョン情報を問い合わせる API が用意されています。バージョン情報を取得するため、アプリケーションは {@link android.content.pm.PackageManager#getPackageInfo(java.lang.String, int)}
 method of {@link android.content.pm.PackageManager PackageManager}. </p> を使用します。
 
 <h2 id="minsdkversion">最小システム API バージョンの指定</h2>
@@ -89,7 +89,7 @@
 <p>最小システム バージョンをマニフェストに指定するには、次の属性を使用します: </p>
 
 <ul>
-<li><code>android:minSdkVersion</code> - Android プラットフォームのコード バージョンに対応する整数値。 
+<li><code>android:minSdkVersion</code> - Android プラットフォームのコード バージョンに対応する整数値。
 <p>アプリケーションのインストールを準備する際に、システムはこの属性の値を確認して、システム バージョンと比較します。<code>android:minSdkVersion</code> 値がシステム バージョンよりも大きい場合、システムはアプリケーションのインストールを中止します。 </p>
 
 <p>この属性をマニフェストに指定しない場合、システムではアプリケーションがすべてのプラットフォーム バージョンと互換性があると仮定します。</p></li>
diff --git a/docs/html-intl/intl/ja/guide/topics/fundamentals.jd b/docs/html-intl/intl/ja/guide/topics/fundamentals.jd
index d76c92e..2517073 100644
--- a/docs/html-intl/intl/ja/guide/topics/fundamentals.jd
+++ b/docs/html-intl/intl/ja/guide/topics/fundamentals.jd
@@ -80,10 +80,10 @@
 <dl>
 
 <dt><b>アクティビティ</b></dt>
-<dd>アクティビティは、ユーザーが 1 つの操作を集中的に行うための視覚的なユーザー インターフェースを表します。<i></i>たとえば、ユーザーが選択できるメニュー アイテムの一覧を表示するアクティビティや、写真をキャプション付きで表示するアクティビティなどが考えられます。SMS アプリケーションなら、あるアクティビティでメッセージを送信する連絡先の一覧を表示し、別のアクティビティで選択した連絡先へのメッセージを入力し、その他のアクティビティで古いメッセージを参照したり設定を変更したりできます。これらのアクティビティを組み合わせて全体としてのユーザー インターフェースを形成しますが、それぞれのアクティビティは相互に独立しています。各アクティビティは、{@link android.app.Activity} 基本クラスのサブクラスとして実装されます。  
+<dd>アクティビティは、ユーザーが 1 つの操作を集中的に行うための視覚的なユーザー インターフェースを表します。<i></i>たとえば、ユーザーが選択できるメニュー アイテムの一覧を表示するアクティビティや、写真をキャプション付きで表示するアクティビティなどが考えられます。SMS アプリケーションなら、あるアクティビティでメッセージを送信する連絡先の一覧を表示し、別のアクティビティで選択した連絡先へのメッセージを入力し、その他のアクティビティで古いメッセージを参照したり設定を変更したりできます。これらのアクティビティを組み合わせて全体としてのユーザー インターフェースを形成しますが、それぞれのアクティビティは相互に独立しています。各アクティビティは、{@link android.app.Activity} 基本クラスのサブクラスとして実装されます。
 
 <p>
-アプリケーションは、1 つのアクティビティで構成することも、上記のSMS アプリケーションのように複数のアクティビティで構成することもできます。どのようなアクティビティがいくつ必要になるかは、アプリケーションやその設計に応じて異なります。通常は、アクティビティのうちのいずれかを最初のアクティビティとして指定し、ユーザーがアプリケーションを起動したときに表示します。あるアクティビティから別のアクティビティに移動するには、現在のアクティビティから次のアクティビティを開始します。  
+アプリケーションは、1 つのアクティビティで構成することも、上記のSMS アプリケーションのように複数のアクティビティで構成することもできます。どのようなアクティビティがいくつ必要になるかは、アプリケーションやその設計に応じて異なります。通常は、アクティビティのうちのいずれかを最初のアクティビティとして指定し、ユーザーがアプリケーションを起動したときに表示します。あるアクティビティから別のアクティビティに移動するには、現在のアクティビティから次のアクティビティを開始します。
 </p>
 
 <p>
@@ -105,7 +105,7 @@
 典型的な例としては、プレイリストの曲を再生するメディア プレーヤーが挙げられます。プレーヤー アプリケーションは、ユーザーが曲を選んで再生するための 1 つ以上のアクティビティで構成することが予想されますが、ユーザーはプレーヤーを離れて別の操作に移った後も曲を聞いていたいと考えられることから、曲の再生自体をアクティビティで処理するわけにはいきません。音楽の再生を続けるには、メディア プレーヤー アクティビティから、バックグラウンドで実行するサービスを開始します。音楽再生サービスは、それを開始したアクティビティが画面上に見えなくなった後もそのまま実行されます。
 </p>
 
-<p> 
+<p>
 また、実行中のサービスに接続(バインド)することもできます(実行されていない場合はそのサービスを開始することも可能です)。接続中は、サービスが公開しているインターフェースを使ってサービスと対話できます。音楽再生サービスであれは、このインターフェースを使って一時停止、巻き戻し、停止、再生の再開などの操作を実行できるようにします。
 </p>
 
@@ -121,11 +121,11 @@
 </p>
 
 <p>
-ブロードキャスト レシーバがユーザー インターフェースを表示することはありません。ただし、受信した情報への応答としてアクティビティを開始したり、{@link android.app.NotificationManager} を使用してユーザーにアラートを送信したりすることはあります。通知の際には、バックライトを点滅させる、バイブレーションを起動する、音を鳴らすなど、さまざまな方法でユーザーの注意を喚起できます。通常は、ステータス バーに永続アイコンを表示し、ユーザーがこれを開いてメッセージを取得できるようにします。 
+ブロードキャスト レシーバがユーザー インターフェースを表示することはありません。ただし、受信した情報への応答としてアクティビティを開始したり、{@link android.app.NotificationManager} を使用してユーザーにアラートを送信したりすることはあります。通知の際には、バックライトを点滅させる、バイブレーションを起動する、音を鳴らすなど、さまざまな方法でユーザーの注意を喚起できます。通常は、ステータス バーに永続アイコンを表示し、ユーザーがこれを開いてメッセージを取得できるようにします。
 </p></dd>
 
 <dt><b>コンテンツ プロバイダ</b></dt>
-<dd>コンテンツ プロバイダは、アプリケーションのデータを他のアプリケーションでも利用できるようにします。<i></i>データは、ファイル システムや SQLite データベースなど、一般に利用できる方法で格納されていれば使用できます。コンテンツ プロバイダは、{@link android.content.ContentProvider} 基本クラスの拡張です。プロバイダが制御する型のデータを、他のアプリケーションから取得および格納するための標準メソッド セットを実装しています。ただし、これらのメソッドをアプリケーションから直接呼び出すことはできません。代わりに、{@link android.content.ContentResolver} オブジェクトのメソッドを呼び出します。ContentResolver は、すべてのプロバイダと通信でき、プロバイダと連携して関係のあるすべてのプロセス間通信を管理します。 
+<dd>コンテンツ プロバイダは、アプリケーションのデータを他のアプリケーションでも利用できるようにします。<i></i>データは、ファイル システムや SQLite データベースなど、一般に利用できる方法で格納されていれば使用できます。コンテンツ プロバイダは、{@link android.content.ContentProvider} 基本クラスの拡張です。プロバイダが制御する型のデータを、他のアプリケーションから取得および格納するための標準メソッド セットを実装しています。ただし、これらのメソッドをアプリケーションから直接呼び出すことはできません。代わりに、{@link android.content.ContentResolver} オブジェクトのメソッドを呼び出します。ContentResolver は、すべてのプロバイダと通信でき、プロバイダと連携して関係のあるすべてのプロセス間通信を管理します。
 
 <p>
 コンテンツ プロバイダの使用方法について詳しくは、<a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>のドキュメントをご覧ください。
@@ -134,40 +134,40 @@
 </dl>
 
 <p>
-Android では、特定のコンポーネントで処理すべきリクエストがあると、そのコンポーネントのアプリケーション プロセスが実行中かどうかを確認(必要に応じてプロセスを開始)し、そのコンポーネントの適切なインスタンスが利用可能かどうかを確認(必要に応じてインスタンスを作成)します。  
+Android では、特定のコンポーネントで処理すべきリクエストがあると、そのコンポーネントのアプリケーション プロセスが実行中かどうかを確認(必要に応じてプロセスを開始)し、そのコンポーネントの適切なインスタンスが利用可能かどうかを確認(必要に応じてインスタンスを作成)します。
 </p>
 
 
-<h3 id="actcomp">コンポーネントのアクティブ化: インテント</h3> 
+<h3 id="actcomp">コンポーネントのアクティブ化: インテント</h3>
 
 <p>
 コンテンツ プロバイダは、ContentResolver からのリクエストの対象になるとアクティブ化されます。それ以外の 3 つのコンポーネント(アクティビティ、サービス、ブロードキャスト レシーバ)は、インテントと呼ばれる非同期メッセージによってアクティブ化されます。<i></i>インテントは、メッセージのコンテンツを保持する {@link android.content.Intent} オブジェクトです。アクティビティやサービスの場合の Intent オブジェクトの主な役割は、リクエストされているアクションを指名し、その対象となるデータの URI を指定することです。たとえば、ユーザーに画像を表示するためのリクエストや、ユーザーにテキストを編集させるリクエストをアクティビティに伝達できます。ブロードキャスト レシーバの場合は、Intent オブジェクトがこれから通知を行うアクションを指名します。たとえば、カメラのボタンが押されたことを、関係のあるブロードキャスト レシーバに通知できます。
 </p>
 
 <p>
-以下に示すように、コンポーネントのタイプごとに別々のアクティブ化メソッドが用意されています: 
+以下に示すように、コンポーネントのタイプごとに別々のアクティブ化メソッドが用意されています:
 </p>
 
 <ul>
 
-<li>アクティビティを起動する(または何か新しい処理を実行させる)には、Intent オブジェクトを <code>{@link android.content.Context#startActivity 
-Context.startActivity()}</code> または <code>{@link 
-android.app.Activity#startActivityForResult 
-Activity.startActivityForResult()}</code> に渡します。応答アクティビティで <code>{@link android.app.Activity#getIntent getIntent()}</code> メソッドを呼び出すと、最初にそのアクティビティが起動されたときのインテントの内容を確認できます。Android によってアクティビティの <code>{@link 
+<li>アクティビティを起動する(または何か新しい処理を実行させる)には、Intent オブジェクトを <code>{@link android.content.Context#startActivity
+Context.startActivity()}</code> または <code>{@link
+android.app.Activity#startActivityForResult
+Activity.startActivityForResult()}</code> に渡します。応答アクティビティで <code>{@link android.app.Activity#getIntent getIntent()}</code> メソッドを呼び出すと、最初にそのアクティビティが起動されたときのインテントの内容を確認できます。Android によってアクティビティの <code>{@link
 android.app.Activity#onNewIntent onNewIntent()}</code> メソッドが呼び出され、アクティビティが後続のインテントに渡されます。
 
 <p>
-多くの場合、アクティビティから次のアクティビティを開始します。開始するアクティビティから結果が返される場合は、{@code startActivity()} ではなく {@code startActivityForResult()} を呼び出します。たとえば、ユーザーに写真を選択させるアクティビティを開始する場合は、ユーザーによって選択された写真が返されるかもしれません。結果は、呼び出し側のアクティビティの <code>{@link android.app.Activity#onActivityResult 
+多くの場合、アクティビティから次のアクティビティを開始します。開始するアクティビティから結果が返される場合は、{@code startActivity()} ではなく {@code startActivityForResult()} を呼び出します。たとえば、ユーザーに写真を選択させるアクティビティを開始する場合は、ユーザーによって選択された写真が返されるかもしれません。結果は、呼び出し側のアクティビティの <code>{@link android.app.Activity#onActivityResult
 onActivityResult()}</code> メソッドに渡した Intent オブジェクトで返されます。
 </p>
 </li>
 
-<li><p>サービスを開始する(または実行中のサービスに新しい指示を与える)には、<code>{@link 
-android.content.Context#startService Context.startService()}</code> に Intent オブジェクトを渡します。Android により、サービスの <code>{@link android.app.Service#onStart 
+<li><p>サービスを開始する(または実行中のサービスに新しい指示を与える)には、<code>{@link
+android.content.Context#startService Context.startService()}</code> に Intent オブジェクトを渡します。Android により、サービスの <code>{@link android.app.Service#onStart
 onStart()}</code> メソッドが呼び出されて Intent オブジェクトが渡されます。</p>
 
 <p>
-同様に、インテントを <code>{@link 
+同様に、インテントを <code>{@link
 android.content.Context#bindService Context.bindService()}</code> に渡すと、呼び出し側のコンポーネントと対象となるサービスの間の継続中の接続を確立できます。サービスは、<code>{@link android.app.Service#onBind onBind()}</code> 呼び出しで Intent オブジェクトを受け取ります(サービスがまだ開始されていない場合は、必要に応じて {@code bindService()} で開始できます)。たとえば、上で例に挙げた音楽再生サービスとの接続を確立するアクティビティを使用して、ユーザーが再生を操作するための手段(ユーザー インターフェース)を提供できます。アクティビティで {@code bindService()} を呼び出して接続を確立してから、サービスに定義されているメソッドを呼び出して再生を操作します。
 </p>
 
@@ -176,10 +176,10 @@
 </p>
 </li>
 
-<li><p>アプリケーションでブロードキャストを開始するには、<code>{@link 
-android.content.Context#sendBroadcast(Intent) Context.sendBroadcast()}</code>、<code>{@link android.content.Context#sendOrderedBroadcast(Intent, String) 
-Context.sendOrderedBroadcast()}</code>、<code>{@link 
-android.content.Context#sendStickyBroadcast Context.sendStickyBroadcast()}</code> などのメソッドのいずれかのバリエーションに Intent オブジェクトを渡します。Android によって <code>{@link 
+<li><p>アプリケーションでブロードキャストを開始するには、<code>{@link
+android.content.Context#sendBroadcast(Intent) Context.sendBroadcast()}</code>、<code>{@link android.content.Context#sendOrderedBroadcast(Intent, String)
+Context.sendOrderedBroadcast()}</code>、<code>{@link
+android.content.Context#sendStickyBroadcast Context.sendStickyBroadcast()}</code> などのメソッドのいずれかのバリエーションに Intent オブジェクトを渡します。Android によって <code>{@link
 android.content.BroadcastReceiver#onReceive onReceive()}</code> メソッドが呼び出され、関係のあるすべてのブロードキャスト レシーバにインテントが配信されます。</p></li>
 
 </ul>
@@ -213,7 +213,7 @@
 <h3 id="manfile">マニフェスト ファイル</h3>
 
 <p>
-アプリケーション コンポーネントを開始するには、Android がそのコンポーネントの存在を認識している必要があります。アプリケーションのコンポーネントは、マニフェスト ファイルで宣言します。このファイルは、アプリケーションのコード、ファイル、リソースなどとともに Android パッケージ({@code .apk} ファイル)にバンドルされます。  
+アプリケーション コンポーネントを開始するには、Android がそのコンポーネントの存在を認識している必要があります。アプリケーションのコンポーネントは、マニフェスト ファイルで宣言します。このファイルは、アプリケーションのコード、ファイル、リソースなどとともに Android パッケージ({@code .apk} ファイル)にバンドルされます。
 </p>
 
 <p>
@@ -229,7 +229,7 @@
     &lt;application . . . &gt;
         &lt;activity android:name="com.example.project.FreneticActivity"
                   android:icon="@drawable/small_pic.png"
-                  android:label="@string/freneticLabel" 
+                  android:label="@string/freneticLabel"
                   . . .  &gt;
         &lt;/activity&gt;
         . . .
@@ -260,7 +260,7 @@
     &lt;application . . . &gt;
         &lt;activity android:name="com.example.project.FreneticActivity"
                   android:icon="@drawable/small_pic.png"
-                  android:label="@string/freneticLabel" 
+                  android:label="@string/freneticLabel"
                   . . .  &gt;
             &lt;intent-filter . . . &gt;
                 &lt;action android:name="android.intent.action.MAIN" /&gt;
@@ -304,7 +304,7 @@
 </p>
 
 <p>
-この場合、マップ ビューアは別のアプリケーションで定義されており、そのアプリケーションのプロセスで実行されていますが、ユーザーにとってはマップ ビューアが元のアプリケーションの一部であるかのように感じられます。Android では、両方のアクティビティを同じタスクに組み込むことで、このようなユーザー エクスペリエンスを実現できます。<i></i>簡単に言えば、ユーザーが 1 つの「アプリケーション」と感じるものがタスクです。関連するアクティビティをスタックにまとめたものがタスクです。スタック内のルート アクティビティは、タスクを開始するアクティビティです。通常であれば、ユーザーがアプリケーション ランチャで選択するアクティビティがこれに相当します。スタックの最上位にあるアクティビティは、ユーザーのアクションの焦点となっている実行中のアクティビティです。あるアクティビティから別のアクティビティを開始すると、そのアクティビティが新たにスタックにプッシュされて実行中のアクティビティになります。1 つ前のアクティビティはスタック内に残されています。ユーザーが [[]戻る] キーを押すと、現在のアクティビティがスタックからポップされ、1 つ前のアクティビティが実行中のアクティビティとして再開されます。  
+この場合、マップ ビューアは別のアプリケーションで定義されており、そのアプリケーションのプロセスで実行されていますが、ユーザーにとってはマップ ビューアが元のアプリケーションの一部であるかのように感じられます。Android では、両方のアクティビティを同じタスクに組み込むことで、このようなユーザー エクスペリエンスを実現できます。<i></i>簡単に言えば、ユーザーが 1 つの「アプリケーション」と感じるものがタスクです。関連するアクティビティをスタックにまとめたものがタスクです。スタック内のルート アクティビティは、タスクを開始するアクティビティです。通常であれば、ユーザーがアプリケーション ランチャで選択するアクティビティがこれに相当します。スタックの最上位にあるアクティビティは、ユーザーのアクションの焦点となっている実行中のアクティビティです。あるアクティビティから別のアクティビティを開始すると、そのアクティビティが新たにスタックにプッシュされて実行中のアクティビティになります。1 つ前のアクティビティはスタック内に残されています。ユーザーが [[]戻る] キーを押すと、現在のアクティビティがスタックからポップされ、1 つ前のアクティビティが実行中のアクティビティとして再開されます。
 </p>
 
 <p>
@@ -316,7 +316,7 @@
 </p>
 
 <p>
-タスク内のアクティビティは、1 つのユニットとして一緒に移動します。タスク全体(アクティビティ スタック全体)をフォアグラウンドに移動したり、バックグラウンドに移動したりできます。たとえば、現在のタスクは 4 つのアクティビティからなるスタックで、現在のアクティビティの下にアクティビティが 3 つあるとします。ここで、ユーザーが [ホーム] キーを押してアプリケーション ランチャに移動し、新しいアプリケーション(実際には新しいタスク)を選択したとします。<i></i>すると、現在のタスクはバックグラウンドに移動し、新しいタスクのルート アクティビティが表示されます。しばらくして、ユーザーがホーム画面に戻り 1 つ前のアプリケーション(タスク)を選択すると、そのタスクがスタック内の 4 つのアクティビティとともにフォアグラウンドに移動します。ここでユーザーが [戻る] キーを押しても、中断したばかりのアプリケーション(1 つ前のタスクのルート アクティビティ)は表示されません。代わりに、スタックの最上位のアクティビティがポップされ、同じタスクの 1 つ前のアクティビティが表示されます。 
+タスク内のアクティビティは、1 つのユニットとして一緒に移動します。タスク全体(アクティビティ スタック全体)をフォアグラウンドに移動したり、バックグラウンドに移動したりできます。たとえば、現在のタスクは 4 つのアクティビティからなるスタックで、現在のアクティビティの下にアクティビティが 3 つあるとします。ここで、ユーザーが [ホーム] キーを押してアプリケーション ランチャに移動し、新しいアプリケーション(実際には新しいタスク)を選択したとします。<i></i>すると、現在のタスクはバックグラウンドに移動し、新しいタスクのルート アクティビティが表示されます。しばらくして、ユーザーがホーム画面に戻り 1 つ前のアプリケーション(タスク)を選択すると、そのタスクがスタック内の 4 つのアクティビティとともにフォアグラウンドに移動します。ここでユーザーが [戻る] キーを押しても、中断したばかりのアプリケーション(1 つ前のタスクのルート アクティビティ)は表示されません。代わりに、スタックの最上位のアクティビティがポップされ、同じタスクの 1 つ前のアクティビティが表示されます。
 </p>
 
 <p>
@@ -330,7 +330,7 @@
 
 <p>
 また、主に使用する {@code <activity>} 属性は以下のとおりです:
-  
+
 <p style="margin-left: 2em">{@code taskAffinity} <br/>{@code launchMode} <br/>{@code allowTaskReparenting} <br/>{@code clearTaskOnLaunch} <br/>{@code alwaysRetainTaskState} <br/>{@code finishOnTaskLaunch}</p>
 
 <p>
@@ -348,7 +348,7 @@
 <dt><code>{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}</code> フラグ</dt>
 <dd>既に説明したとおり、新しいアクティビティは、デフォルトでは {@code startActivity()} を呼び出したアクティビティのタスクの一部として起動します。つまり、呼び出し側のアクティビティと同じスタックにプッシュされるということです。しかし、{@code startActivity()} に渡された Intent オブジェクトに {@code FLAG_ACTIVITY_NEW_TASK} フラグが含まれている場合、システムはその新しいアクティビティを別のタスクに収容しようとします。フラグの名前からも判断できますが、ほとんどの場合は新しいタスクが開始されます。ただし常にそうなるとは限りません。既存のタスクに新しいアクティビティと同じ親和性が割り当てられている場合、そのアクティビティはそのタスクの一部として起動します。そうでない場合には、新しいタスクが開始されます。</dd>
 
-<dt><code><a 
+<dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#reparent">allowTaskReparenting</a></code> 属性</dt>
 <dd>{@code allowTaskReparenting} 属性が "{@code true}" に設定されているアクティビティは、そのアクティビティと親和性のあるタスクがフォアグラウンドに移ったときに、アクティビティを開始したタスクから親和性のあるタスクに移動できます。たとえば、旅行アプリケーションの一部として、選択された都市の天気予報を表示するアクティビティが定義されているとします。このアクティビティには、同じアプリケーション内の他のアクティビティと同じ親和性(デフォルトの親和性)が割り当てられていますが、その親の割り当てを変更することも可能です。あるアクティビティが天気予報アクティビティを開始すると、その時点では開始側のアクティビティと同じタスクに属した状態になります。しかし、次に旅行アプリケーションがフォアグラウンドに移ると、天気予報アクティビティの割り当てが変更され、旅行アプリケーションのタスクの一部として表示されます。</dd>
 </dl>
@@ -372,29 +372,29 @@
 
 <ul>
 
-<li><b>インテントに応答するアクティビティをどのタスクに保持するか</b>。"{@code standard}" および "{@code singleTop}" モードの場合は、そのインテントを開始した(つまり <code>{@link android.content.Context#startActivity startActivity()}</code> を呼び出した)タスクに保持されます。ただし、Intent オブジェクトに <code>{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}</code> フラグが含まれている場合は、前のセクション<a href="#afftask">親和性と新しいタスク</a>で説明したとおり、別のタスクが選択されます。  
+<li><b>インテントに応答するアクティビティをどのタスクに保持するか</b>。"{@code standard}" および "{@code singleTop}" モードの場合は、そのインテントを開始した(つまり <code>{@link android.content.Context#startActivity startActivity()}</code> を呼び出した)タスクに保持されます。ただし、Intent オブジェクトに <code>{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}</code> フラグが含まれている場合は、前のセクション<a href="#afftask">親和性と新しいタスク</a>で説明したとおり、別のタスクが選択されます。
 
 <p>
 一方、"{@code singleTask}" および "{@code singleInstance}" モードの場合は、アクティビティが常にタスクのルート アクティビティになります。タスクは定義されており、他のタスクの一部として起動されることはありません。
-</p>  
+</p>
 
 <li><p><b>アクティビティのインスタンスを複数生成できるか</b>。"{@code standard}" または "{@code singleTop}" アクティビティは複数回インスタンス化できます。それらのインスタンスを複数のタスクに割り当てることも、特定のタスクに同じアクティビティの複数のインスタンスを割り当てることも可能です。
-</p> 
+</p>
 
 <p>
 一方、"{@code singleTask}" および "{@code singleInstance}" アクティビティのインスタンスは 1 つに制限されます。これらのアクティビティはタスクのルートに当たります。したがって、これらのタスクの複数のインスタンスがデバイス上に同時に存在することはないということになります。
-</p>    
+</p>
 
 <li><p><b>インスタンスのタスクに他のアクティビティを含めることができるか</b>。"{@code singleInstance}" アクティビティは、そのタスク内の唯一のアクティビティとして単独で動作します。ここから別のアクティビティを開始した場合、そのアクティビティは起動モードに関係なく、あたかもインテントに {@code FLAG_ACTIVITY_NEW_TASK} フラグが含まれているかのように別のタスクで起動します。"{@code singleInstance}" モードと "{@code singleTask}" モードは、これ以外の点ではまったく同じです。</p>
 
 <p>
-他の 3 つのモードでは、タスクに複数のアクティビティを割り当てることができます。"{@code singleTask}" アクティビティは、常にタスクのルート アクティビティになりますが、同じタスクに割り当てることになる別のアクティビティを開始することができます。"{@code standard}" および "{@code singleTop}" アクティビティのインスタンスは、スタック内のどの位置にでも配置できます。  
+他の 3 つのモードでは、タスクに複数のアクティビティを割り当てることができます。"{@code singleTask}" アクティビティは、常にタスクのルート アクティビティになりますが、同じタスクに割り当てることになる別のアクティビティを開始することができます。"{@code standard}" および "{@code singleTop}" アクティビティのインスタンスは、スタック内のどの位置にでも配置できます。
 </p></li>
 
 <li><b>クラスの新しいインスタンスを起動して新しいインテントを処理するかどうか</b>。デフォルトの "{@code standard}" モードの場合は、新しいインテントに応答するときには必ず新しいインスタンスが作成されます。それぞれのインスタンスで処理するインテントは 1 つのみです。"{@code singleTop}" モードの場合は、クラスの既存のインスタンスが対象タスクのアクティビティ スタックの最上位にあれば、それを再利用して新しいインテントを処理します。スタックの最上位にない場合は再利用されません。代わりに、新しいインスタンスが作成されてスタックにプッシュされ、新しいインテントの処理に使用されます。
 
 <p>
-たとえば、タスクのアクティビティ スタックに、ルート アクティビティ A とアクティビティ B、C、D が含まれているとします。スタック内のアクティビティの順序は A-B-C-D で D が最上位です。ここに、アクティビティのタイプが D のインテントが届きます。D の起動モードがデフォルトの "{@code standard}" である場合は、そのクラスの新しいインスタンスが起動し、スタックは A-B-C-D-D となります。しかし、D の起動モードが "{@code singleTop}" であれば、スタックの最上位は D なので、新しいインテントは既存のインスタンスによって処理されるはずです。したがって、スタックは A-B-C-D のままとなります。  
+たとえば、タスクのアクティビティ スタックに、ルート アクティビティ A とアクティビティ B、C、D が含まれているとします。スタック内のアクティビティの順序は A-B-C-D で D が最上位です。ここに、アクティビティのタイプが D のインテントが届きます。D の起動モードがデフォルトの "{@code standard}" である場合は、そのクラスの新しいインスタンスが起動し、スタックは A-B-C-D-D となります。しかし、D の起動モードが "{@code singleTop}" であれば、スタックの最上位は D なので、新しいインテントは既存のインスタンスによって処理されるはずです。したがって、スタックは A-B-C-D のままとなります。
 </p>
 
 <p>
@@ -417,7 +417,7 @@
 </p>
 
 <p>
-起動モードについて詳しくは、<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 要素の説明をご覧ください。 
+起動モードについて詳しくは、<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 要素の説明をご覧ください。
 </p>
 
 
@@ -432,26 +432,26 @@
 </p>
 
 <dl>
-<dt><code><a 
+<dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#always">alwaysRetainTaskState</a></code> 属性</dt>
 <dd>タスクのルート アクティビティでこの属性を "{@code true}" に設定すると、上で説明したデフォルトの動作は発生しません。長時間経過しても、タスク内のすべてのアクティビティはそのまま残されます。</dd>
 
-<dt><code><a 
+<dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#clear">clearTaskOnLaunch</a></code> 属性</dt>
 <dd>タスクのルート アクティビティでこの属性を "{@code true}" に設定した場合、ユーザーがいったんタスクを離れると、戻ったときにはルートを含むすべてのアクティビティがクリアされています。つまり、{@code alwaysRetainTaskState} の正反対の動作になります。ユーザーが一瞬でもタスクを離れると、最初の状態からやり直すことになります。</dd>
 
-<dt><code><a 
+<dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#finish">finishOnTaskLaunch</a></code> 属性</dt>
 <dd>この属性は {@code clearTaskOnLaunch} に似ていますが、タスク全体ではなく単一のアクティビティに作用します。また、ルート アクティビティを含むどのアクティビティもクリアの対象となりえます。この属性が "{@code true}" に設定されたアクティビティは、現在のセッションの間のみタスクの一部を形成します。ユーザーがいったんそのタスクから離れてから、再度タスクに戻ると、このアクティビティはクリアされています</dd>
 </dl>
 
 <p>
-アクティビティをスタックから削除する方法は他にもあります。Intent オブジェクトに <code>{@link 
+アクティビティをスタックから削除する方法は他にもあります。Intent オブジェクトに <code>{@link
 android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_CLEAR_TOP}</code> フラグが含まれており、そのインテントを処理すべきタイプのアクティビティのインスタンスが対象タスクのスタック内に存在する場合は、そのインスタンスがスタックの最上位になってインテントに応答できるよう、それより上位のアクティビティはすべてクリアされます。指定されたアクティビティの起動モードが "{@code standard}" である場合は、そのアクティビティもスタックから削除され、新しいインスタンスが起動してインテントを処理します。起動モード "{@code standard}" では、新しいインテントを処理する際、常に新しいインスタンスが作成されるためです。
 </p>
 
 <p>
-{@code FLAG_ACTIVITY_CLEAR_TOP} は、ほとんどの場合 {@code FLAG_ACTIVITY_NEW_TASK} と組み合わせて使用します。これらのフラグを組み合わせると、別のタスクに既に存在しているアクティビティを探し、それをインテントに応答できる位置に配置できます。  
+{@code FLAG_ACTIVITY_CLEAR_TOP} は、ほとんどの場合 {@code FLAG_ACTIVITY_NEW_TASK} と組み合わせて使用します。これらのフラグを組み合わせると、別のタスクに既に存在しているアクティビティを探し、それをインテントに応答できる位置に配置できます。
 </p>
 
 
@@ -467,7 +467,7 @@
 
 <p>
 {@code FLAG_ACTIVITY_NEW_TASK} フラグにも、これと同じような難しさがあります。このフラグを指定したアクティビティでは、新しいタスクを開始した後にユーザーが [ホーム] キーを押してそのタスクを離れた場合に備え、タスクに戻るための手段を用意しておく必要があります。一部のエンティティ(たとえば通知マネージャ)は、アクティビティを常に外部タスクとして開始します。エンティティの一部として開始することはないため、{@code startActivity()} に渡すインテントには必ず {@code FLAG_ACTIVITY_NEW_TASK} を指定します。外部エンティティから呼び出すことのできるアクティビティでこのフラグが使用されている可能性がある場合は、開始されたタスクにユーザーが戻るための手段を別途提供するようにしてください。
-</p> 
+</p>
 
 <p>
 ユーザーがアクティビティに戻ることができるようにしない場合は、{@code <activity>} 要素の {@code finishOnTaskLaunch} を "{@code true}" に設定します。詳しくは、<a href="#clearstack">スタックのクリア</a>をご覧ください。
@@ -497,7 +497,7 @@
 
 <p>
 状況によっては、Android がプロセスを終了させるべきと判断する場合があります。たとえば、メモリが不足してきた場合や、他のプロセスでユーザーにすばやく応答する必要がある場合です。プロセスが終了すると、そのプロセス内で実行されているアプリケーション コンポーネントは破棄されます。それらのコンポーネントで処理する作業がもう一度発生すると、そのためのプロセスが再び開始されます。
-</p>  
+</p>
 
 <p>
 Android では、どのプロセスを終了させるかを判断するため、ユーザーにとっての相対的な重要度を重み付けして管理します。たとえば、アクティビティがまだ画面に表示されているプロセスを終了させるよりも、アクティビティが画面に表示されていないプロセスを終了させる方が合理的です。したがって、プロセスを終了させるかどうかは、そのプロセスで実行されているコンポーネントの状態に応じて判断されるということです。コンポーネントの状態については、後ほど<a href="#lcycles">コンポーネントのライフサイクル</a>で詳しく説明します。
@@ -507,7 +507,7 @@
 <h3 id="threads">スレッド</h3>
 
 <p>
-アプリケーションを単一のプロセスに限定したとしても、バックグラウンドでの処理にスレッドが必要になることはよくあります。ユーザー インターフェースはユーザーのアクションに対して常にすばやく応答できなければならないため、アクティビティをホストするスレッドで、ネットワーク ダウンロードのような時間のかかる処理を一緒にホストしないようにする必要があります。すぐに完了しない可能性のあるすべての処理は、別のスレッドに割り当てるようにしてください。 
+アプリケーションを単一のプロセスに限定したとしても、バックグラウンドでの処理にスレッドが必要になることはよくあります。ユーザー インターフェースはユーザーのアクションに対して常にすばやく応答できなければならないため、アクティビティをホストするスレッドで、ネットワーク ダウンロードのような時間のかかる処理を一緒にホストしないようにする必要があります。すぐに完了しない可能性のあるすべての処理は、別のスレッドに割り当てるようにしてください。
 </p>
 
 <p>
@@ -549,19 +549,19 @@
 <li>サービスのクライアント(ローカル側)には <code>{@link android.content.ServiceConnection#onServiceConnected
 onServiceConnected()}</code> および<code>{@link android.content.ServiceConnection#onServiceDisconnected
 onServiceDisconnected()}</code> メソッドが実装されているため、リモート サービスとの接続が確立されたときや切断されたときには通知を受けることができます。通知があり次第、<code>{@link android.content.Context#bindService bindService()}</code> を呼び出して接続を設定します。
-</li>  
+</li>
 
-<li> 
+<li>
 サービスの <code>{@link android.app.Service#onBind onBind()}</code> メソッドは、受け取ったインテント({@code bindService()} に渡されたインテント)に応じて、接続を承認または拒否するために実装します。接続が承認されると、接続を承認するのであれば、スタブ サブクラスのインスタンスを返します。
 </li>
 
-<li>サービスが接続を承認すると、Android がクライアントの {@code onServiceConnected()} メソッドを呼び出し、IBinder オブジェクト(サービスが管理するスタブ サブクラスのプロキシ)を渡します。クライアントは、このプロキシを介してリモートサービスを呼び出すことができます。  
+<li>サービスが接続を承認すると、Android がクライアントの {@code onServiceConnected()} メソッドを呼び出し、IBinder オブジェクト(サービスが管理するスタブ サブクラスのプロキシ)を渡します。クライアントは、このプロキシを介してリモートサービスを呼び出すことができます。
 </li>
 </ul>
 
 <p>
 ここでは、説明を簡単にするため、RPC メカニズムの細かい点は省略しています。詳しくは、<a href="{@docRoot}guide/components/aidl.html">Designing a Remote Interface Using AIDL</a>、および {@link android.os.IBinder IBinder} クラスの説明をご覧ください。
-</p>  
+</p>
 
 
 <h3 id="tsafe">スレッドセーフなメソッド</h3>
@@ -572,18 +572,18 @@
 
 <p>
 前のセクションで説明した RPC のようにメソッドをリモートで呼び出すことができる場合は、このような状況が特に発生しやすくなります。IBinder オブジェクトに実装されているメソッドを IBinder と同じプロセスから呼び出すと、そのメソッドは呼び出し側のスレッドで実行されます。一方、別のプロセスからメソッドを呼び出した場合は、プロセスのメイン スレッドではなく、IBinder と同じプロセス内に保持されているスレッドのプールから選択されたスレッドで実行されます。たとえば、サービスの {@code onBind()} メソッドはそのサービスのプロセスのメイン スレッドから呼び出されるのに対し、{@code onBind()} から返されたオブジェクトに実装されているメソッド(たとえば RPC メソッドを実装するスタブ サブクラス)はプール内のスレッドから呼び出されます。サービスには複数のクライアントを割り当てることができるため、複数のプール スレッドを同じ IBinder に同時に割り当てることも可能です。したがって、IBinder メソッドはスレッドセーフになるように実装する必要があります。
-</p>  
+</p>
 
 <p>
 同様に、コンテンツ プロバイダも別のプロセスからのデータ リクエストを受け取ることができます。ContentResolver および ContentProvider クラスはプロセス間通信の管理の詳細を隠蔽しますが、それらのリクエストに応答する ContentProvider メソッド(<code>{@link android.content.ContentProvider#query query()}</code>、<code>{@link android.content.ContentProvider#insert insert()}</code>、<code>{@link android.content.ContentProvider#delete delete()}</code>、<code>{@link android.content.ContentProvider#update update()}</code>、および <code>{@link android.content.ContentProvider#getType getType()}</code> メソッド)は、プロセスのメイン スレッドではなく、コンテンツ プロバイダのプロセス内のスレッドのプールから呼び出されます。これらのメソッドを同時に呼び出すことのできるメソッドの数に制限はありません。したがって、これらのメソッドもスレッドセーフになるように実装する必要があります。
-</p> 
+</p>
 
 
 <h2 id="lcycles">コンポーネントのライフサイクル</h2>
 
 <p>
 アプリケーション コンポーネントにはライフサイクルがあります。ライフサイクルは、インテントへ応答することでのインスタンス化で始まり、そのインスタンスの破棄で終わります。この間、コンポーネントがアクティブなときとアクティブでないときがあり、アクティビティであればユーザーから見えるときと見えないときがあります。このセクションでは、アクティビティ、サービス、およびブロードキャスト レシーバのライフサイクルについて説明します。具体的には、それぞれがライフタイムの間に取ることのできる状態、状態の遷移を通知する方法、およびそれらの状態が、コンポーネントを実行しているプロセスが終了させられたり、インスタンスが破棄されたりする可能性への影響などについて説明します。
-</p> 
+</p>
 
 
 <h3 id="actlife">アクティビティのライフサイクル</h3>
@@ -624,12 +624,12 @@
     . . .
 }</pre>
 </div>
-</div> 
+</div>
 
 
 <p>
-これら 7 つのメソッドを使用すると、アクティビティのライフサイクル全体を定義できます。これらを実装することで、ネストされた 3 つのループからなるアクティビティのライフサイクルを監視できます: 
-</p> 
+これら 7 つのメソッドを使用すると、アクティビティのライフサイクル全体を定義できます。これらを実装することで、ネストされた 3 つのループからなるアクティビティのライフサイクルを監視できます:
+</p>
 
 <ul>
 <li>アクティビティの<b>ライフタイム全体</b>は、<code>{@link android.app.Activity#onCreate onCreate()}</code> が初めて呼び出されたときに始まり、最後に <code>{@link android.app.Activity#onDestroy}</code> が呼び出されたときに終了します。アクティビティは、{@code onCreate()} で「全体的」な状態のすべての初期設定を行い、{@code onDestroy()} 残っていたリソースをすべて解放します。たとえば、ネットワークからのデータのダウンロードをバックグラウンドで実行するスレッドは、{@code onCreate()} で作成され、{@code onDestroy()} で停止します。</li>
@@ -644,8 +644,8 @@
 <p>
 
 <p style="margin-left: 2em"><img src="{@docRoot}images/activity_lifecycle.png"
-alt="Android のアクティビティ ライフサイクルの状態遷移図"  /></p>  
-  
+alt="Android のアクティビティ ライフサイクルの状態遷移図"  /></p>
+
 <p>
 次の表では、各メソッドについて詳しく説明し、ライフサイクル全体における位置付けを示します:
 </p>
@@ -671,7 +671,7 @@
 
 <tr>
    <td rowspan="5" style="border-left: none; border-right: none;">&nbsp;&nbsp;&nbsp;&nbsp;</td>
-   <td colspan="2" align="left"><code>{@link android.app.Activity#onRestart 
+   <td colspan="2" align="left"><code>{@link android.app.Activity#onRestart
 onRestart()}</code></td>
    <td>アクティビティが停止した後、それをもう一度開始する直前に呼び出されます。
        <p>この後には、必ず {@code onStart()} が呼び出されます。</p></td>
@@ -706,16 +706,16 @@
 
 <tr>
    <td colspan="2" align="left"><code>{@link android.app.Activity#onStop onStop()}</code></td>
-   <td>アクティビティがユーザーから見えなくなったときに呼び出されます。見えなくなる状況としては、アクティビティが破棄された場合や、再開された別のアクティビティ(既存か新規かを問わず)によって隠された場合が考えられます。 
+   <td>アクティビティがユーザーから見えなくなったときに呼び出されます。見えなくなる状況としては、アクティビティが破棄された場合や、再開された別のアクティビティ(既存か新規かを問わず)によって隠された場合が考えられます。
        <p>その後、アクティビティがユーザーとの対話に戻った場合は {@code onRestart()} が、アクティビティが完全に終了する場合は {@code onDestroy()} が呼び出されます。</p></td>
    <td align="center"><strong style="color:#800000">可能</strong></td>
    <td align="center">{@code onRestart()} <br/>または<br/>{@code onDestroy()}</td>
 </tr>
 
 <tr>
-   <td colspan="3" align="left"><code>{@link android.app.Activity#onDestroy 
+   <td colspan="3" align="left"><code>{@link android.app.Activity#onDestroy
 onDestroy()}</code></td>
-   <td>アクティビティが破棄される前に呼び出されます。これが、アクティビティが受け取る最後の呼び出しとなります。このメソッドが呼び出される状況としては、アクティビティが完了する場合(<code>{@link android.app.Activity#finish 
+   <td>アクティビティが破棄される前に呼び出されます。これが、アクティビティが受け取る最後の呼び出しとなります。このメソッドが呼び出される状況としては、アクティビティが完了する場合(<code>{@link android.app.Activity#finish
        finish()}</code> が呼び出されたとき)や、システムが領域を確保するために一時的にそのアクティビティのインスタンスを破棄する場合が考えられます。これらの 2 つの状況は、<code>{@link
        android.app.Activity#isFinishing isFinishing()}</code> メソッドを使用して識別できます。</td>
    <td align="center"><strong style="color:#800000">可能</strong></td>
@@ -744,8 +744,8 @@
 </p>
 
 <p>
-アクティビティが強制終了させられる前の状態を保存しておきたい場合は、アクティビティに <code>{@link android.app.Activity#onSaveInstanceState 
-onSaveInstanceState()}</code> メソッドを実装します。このメソッドは、アクティビティが破棄されやすい状態になる前(つまり {@code onPause()} が呼び出される前)に呼び出されます。その際、アクティビティの動的な状態を名前/値ペアとして記録できる {@link android.os.Bundle} オブジェクトが渡されます。アクティビティがもう一度開始されると、Bundle は {@code onCreate()} だけでなく、{@code onStart()} の後に呼び出される <code>{@link 
+アクティビティが強制終了させられる前の状態を保存しておきたい場合は、アクティビティに <code>{@link android.app.Activity#onSaveInstanceState
+onSaveInstanceState()}</code> メソッドを実装します。このメソッドは、アクティビティが破棄されやすい状態になる前(つまり {@code onPause()} が呼び出される前)に呼び出されます。その際、アクティビティの動的な状態を名前/値ペアとして記録できる {@link android.os.Bundle} オブジェクトが渡されます。アクティビティがもう一度開始されると、Bundle は {@code onCreate()} だけでなく、{@code onStart()} の後に呼び出される <code>{@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}</code> メソッドにも渡され、保存されている状態をそのどちらかまたは両方で復元できます。
 </p>
 
@@ -871,15 +871,15 @@
 <li><b>フォアグラウンド プロセス</b>は、ユーザーがその時点で行っている作業に必要なプロセスです。以下のいずれかの条件を満たしているプロセスは、フォアグラウンド プロセスと見なされます:
 
 <ul>
-<li>ユーザーと対話中のアクティビティを実行している(Activity オブジェクトの <code>{@link android.app.Activity#onResume 
+<li>ユーザーと対話中のアクティビティを実行している(Activity オブジェクトの <code>{@link android.app.Activity#onResume
 onResume()}</code> メソッドが呼び出されている)。</li>
 
 <li><p>ユーザーと対話中のアクティビティにバインドされているサービスを実行している。</p></li>
 
-<li><p>いずれかのライフサイクル コールバック(<code>{@link android.app.Service#onCreate 
+<li><p>いずれかのライフサイクル コールバック(<code>{@link android.app.Service#onCreate
 onCreate()}</code>、<code>{@link android.app.Service#onStart onStart()}</code>、または <code>{@link android.app.Service#onDestroy onDestroy()}</code>)を実行している {@link android.app.Service} オブジェクトを保持している。</p></li>
 
-<li><p><code>{@link android.content.BroadcastReceiver#onReceive 
+<li><p><code>{@link android.content.BroadcastReceiver#onReceive
 onReceive()}</code> メソッドを実行している {@link android.content.BroadcastReceiver} オブジェクトを保持している。</p></li>
 </ul>
 
@@ -899,10 +899,10 @@
 可視プロセスは、非常に重要なプロセスと見なされ、すべてのフォアグラウンド プロセスの実行を維持するために必要でない限り、強制終了させられることはありません。
 </p></li>
 
-<li><p><b>サービス プロセス</b>は、<code>{@link android.content.Context#startService startService()}</code> メソッドで開始されたサービスを実行しているプロセスのうち、より重要度の高い 2 つのレベルのどちらにも該当しないプロセスです。サービス プロセスは、ユーザーに見えるものとの直接的な関係はありませんが、たとえばバックグラウンドでの MP3 の再生、ネットワークからのデータのダウンロードなど、ユーザーが気にかけている処理であることが一般的です。したがって、すべてのフォアグラウンド プロセスと可視プロセスに加え、これらのサービス プロセスの実行を維持するだけのメモリが確保できる限り、強制終了させられることはありません。  
+<li><p><b>サービス プロセス</b>は、<code>{@link android.content.Context#startService startService()}</code> メソッドで開始されたサービスを実行しているプロセスのうち、より重要度の高い 2 つのレベルのどちらにも該当しないプロセスです。サービス プロセスは、ユーザーに見えるものとの直接的な関係はありませんが、たとえばバックグラウンドでの MP3 の再生、ネットワークからのデータのダウンロードなど、ユーザーが気にかけている処理であることが一般的です。したがって、すべてのフォアグラウンド プロセスと可視プロセスに加え、これらのサービス プロセスの実行を維持するだけのメモリが確保できる限り、強制終了させられることはありません。
 </p></li>
 
-<li><p><b>バックグラウンド プロセス</b>は、その時点でユーザーから見えないアクティビティを保持している(Activity オブジェクトの <code>{@link android.app.Activity#onStop onStop()}</code> メソッドが呼び出されている)プロセスです。これらのプロセスは、ユーザー エクスペリエンスに直接的には影響しておらず、フォアグラウンド、可視、サービス プロセスからメモリが要求された場合はいつでも強制終了する可能性があります。通常は数多くのバックグラウンド プロセスが実行されているため、それらを LRU(least recently used)リストに登録し、ユーザーが一番最近見たアクティビティのプロセスが最後に強制終了するような仕組みになっています。アクティビティにライフサイクル メソッドが正しく実装されており、現在の状態が正しく保存されていれば、プロセスを強制終了してもユーザー エクスペリエンスに悪影響が及ぶことはありません。 
+<li><p><b>バックグラウンド プロセス</b>は、その時点でユーザーから見えないアクティビティを保持している(Activity オブジェクトの <code>{@link android.app.Activity#onStop onStop()}</code> メソッドが呼び出されている)プロセスです。これらのプロセスは、ユーザー エクスペリエンスに直接的には影響しておらず、フォアグラウンド、可視、サービス プロセスからメモリが要求された場合はいつでも強制終了する可能性があります。通常は数多くのバックグラウンド プロセスが実行されているため、それらを LRU(least recently used)リストに登録し、ユーザーが一番最近見たアクティビティのプロセスが最後に強制終了するような仕組みになっています。アクティビティにライフサイクル メソッドが正しく実装されており、現在の状態が正しく保存されていれば、プロセスを強制終了してもユーザー エクスペリエンスに悪影響が及ぶことはありません。
 </p></li>
 
 <li><p><b>空のプロセス</b>は、アクティブなアプリケーション コンポーネントを保持していないプロセスです。このようなプロセスを維持しておく唯一の理由は、これをキャッシュとして使用し、次回コンポーネントを実行するときの起動時間を短くするためです。多くの場合、システムはこれらのプロセスを強制終了させて、プロセス キャッシュとその基礎となるカーネル キャッシュの間でシステム リソース全体のバランスを取ります。</p></li>
@@ -915,7 +915,7 @@
 
 <p>
 また、あるプロセスに他のプロセスが依存しているために、そのプロセスのランクが引き上げられる可能性もあります。他のプロセスから依存されているプロセスが、依存しているプロセスよりも低いレベルにランク付けされることはありません。たとえば、プロセス A 内のコンテンツ プロバイダにプロセス B 内のクライアントが依存している場合や、プロセス A 内のサービスがプロセス B 内のコンポーネントにバインドされている場合、プロセス A は常にプロセス B よりは重要度が高いと見なされます。
-</p> 
+</p>
 
 <p>
 サービスを実行しているプロセスは、バックグラウンド アクティビティを実行しているプロセスよりも高くランク付けされます。したがって、時間のかかる処理を実行する場合、特にその処理がアクティビティよりも長く続くような場合は、単にスレッドを生成するのではなく、その処理用のサービスを開始することをおすすめします。たとえば、バックグラウンドで音楽を再生する場合や、カメラで撮影した写真を Web サイトにアップロードする場合などはこれに当たります。サービスを使用することで、アクティビティがどのような状況にあっても、処理の重要度として「サービス プロセス」レベル以上を維持できます。<a href="#broadlife">ブロードキャスト レシーバのライフサイクル</a>のセクションでも説明しましたが、ブロードキャスト レシーバにおいてもこれと同じ理由で、処理に時間がかかる場合はスレッドではなくサービスを使用することをおすすめします。
diff --git a/docs/html-intl/intl/ja/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/ja/guide/topics/manifest/manifest-intro.jd
index 7d9e8ac..a0041de 100644
--- a/docs/html-intl/intl/ja/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/ja/guide/topics/manifest/manifest-intro.jd
@@ -38,10 +38,10 @@
 これらの宣言によって、Android システムは、どんなコンポーネントがあり、それらのコンポーネントがどのような条件で起動されるのかを把握できます。
 </li>
 
-<li>アプリケーション コンポーネントをホストするプロセスを決定します。</li>  
+<li>アプリケーション コンポーネントをホストするプロセスを決定します。</li>
 
 <li>アプリケーションが API の保護された部分にアクセスしたり他のアプリケーションとやり取りしたりする際に必要となるパーミッションを宣言します。
-</li>  
+</li>
 
 <li>他のアプリケーションがアプリケーションのコンポーネントとやり取りするために必要なパーミッションを宣言します。
 </li>
@@ -66,7 +66,7 @@
 エレメントの詳細を見るには、図中、図の下にあるアルファベット順のエレメント一覧、またはその他の説明文に表示されているエレメント名をクリックしてください。
 
 
- 
+
 </p>
 
 <pre>
@@ -128,7 +128,7 @@
 <p>
 以下は、マニフェスト ファイルに含むことができるすべてのエレメントをアルファベット順に並べたものです。
 使用が許可されているのはこれらのエレメントのみです。独自のエレメントや属性は追加できません。
-  
+
 </p>
 
 <p style="margin-left: 2em">
@@ -158,7 +158,7 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">ファイルの規則</h2>
 
@@ -218,7 +218,7 @@
 
 
 
-  
+
 
 <p>
 サブクラスを定義する場合は、コンポーネント クラス({@link android.app.Activity}、{@link android.app.Service}、{@link android.content.BroadcastReceiver}、{@link android.content.ContentProvider})でいつも行うように、サブクラスは {@code name} 属性で宣言されます。
@@ -244,7 +244,7 @@
 
 
 
-以下は、上記のものと同じ内容です。 
+以下は、上記のものと同じ内容です。
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -399,7 +399,7 @@
 <p>
 パーミッションは、コードの一部や端末上のデータへのアクセスを制限する機能を提供します。<i></i>
    誤用や悪用によってユーザーの利用を妨げたり有害な作用をもたらす恐れのある重要なデータやコードを保護したりするための制限を設定します。
-  
+
 </p>
 
 <p>
@@ -421,13 +421,13 @@
 アプリケーションがパーミッションにより保護されている機能へのアクセスを必要としている場合は、<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> エレメントをマニフェスト ファイルに記述し、そのパーミッションが必要であることを宣言する必要があります。
 
 
-これによって、アプリケーションが端末にインストールされた際に、インストーラーは、アプリケーションの証明書に署名した関係機関を確認し、場合によってはユーザーに尋ねることで、要求されたパーミッションを付与するかどうかを決定します。 
- 
- 
+これによって、アプリケーションが端末にインストールされた際に、インストーラーは、アプリケーションの証明書に署名した関係機関を確認し、場合によってはユーザーに尋ねることで、要求されたパーミッションを付与するかどうかを決定します。
+
+
 パーミッションが付与されると、アプリケーションは保護された機能を使用できるようになります。
 
 パーミッションが付与されなかった場合は、アプリケーションは機能にアクセスできず、ユーザーに通知が表示されることもありません。
- 
+
 </p>
 
 <p>
@@ -464,7 +464,7 @@
 
 アプリケーション自身によって保護が設定されている場合でも、アプリケーションの他のコンポーネントが保護されたアクティビティを起動するために、その使用を要求する必要があります。
 
-  
+
 </p>
 
 <p>
@@ -474,7 +474,7 @@
 
 
 その場合も <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> でその使用を要求する必要があります。
- 
+
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ja/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/ja/guide/topics/providers/calendar-provider.jd
index 7b97c30..46409f9 100644
--- a/docs/html-intl/intl/ja/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/ja/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">インテントを使用したカレンダー データの参照</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">同期アダプタ</a></li>
 </ol>
 
@@ -113,14 +113,14 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>このテーブルは、該当するカレンダー固有の情報を保持します。
 各行には、名前、色、同期情報など、1 つのカレンダーに関する詳細が格納されます。
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>このテーブルは、該当するイベント固有の情報を保持します。
 各行には、1 つのイベントに関する情報が格納されます&mdash;イベントのタイトル、場所、開始時刻、終了時刻などが該当します。
 
@@ -132,7 +132,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>このテーブルは、あるイベントの発生ごとの開始時刻と終了時刻を保持します。
 各行は、イベントの発生 1 回を表します。
 単発イベントには、イベントのインスタンスが 1 対 1 で対応します。
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>このテーブルは、イベントの参加者(ゲスト)の情報を保持します。
 各行は、1 回のイベントの 1 人のゲストを表します。
 ゲストのタイプと、ゲストのイベントへの出欠の回答を指定します。
@@ -149,7 +149,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>このテーブルは、アラートや通知のデータを保持します。
 各行は、1 回のイベントの 1 つのアラートを表します。1 つのイベントが複数のリマインダーを持つことができます。
 1 イベントあたりの最大リマインダー数は {@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS} で指定され、指定されたカレンダーを所有する同期アダプタによって設定されます。
@@ -159,7 +159,7 @@
 リマインダーは、イベント開始前の分単位で指定され、ユーザーに注意喚起する手段を示す情報を保持します。
 </td>
   </tr>
-  
+
 </table>
 
 <p>カレンダー プロバイダ API は、柔軟で効果的な設計になっています。ですが同時に、エンドユーザーにとって使いやすくすることや、カレンダーとそのデータの整合性を保護することが重要です。
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>カレンダーが表示対象として選択されているかどうかを示すブール値。値 0 は、このカレンダーに関連付けられているイベントを表示しないことを示します。
 
 値 1 は、このカレンダーに関連付けられているイベントを表示することを示します。
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>カレンダーを同期してそのイベントを端末に格納するかどうかを示すブール値。
 値 0 は、このカレンダーを同期せず、イベントを端末に格納しないことを指定します。
 値 1 は、このカレンダーのイベントを同期し、イベントを端末に格納することを指定します。
@@ -268,13 +268,13 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>ACCOUNT_TYPE を含める必要がある理由
 </h3> <p>{@link android.provider.CalendarContract.Calendars#ACCOUNT_NAME Calendars.ACCOUNT_NAME} にクエリする場合は、このセクションに {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE} も含める必要があります。
@@ -289,7 +289,7 @@
 
 
 
-</p> </div> </div> 
+</p> </div> </div>
 
 
 <p> この例の次の部分では、クエリを作成します。クエリの条件は selection に指定しています。
@@ -308,38 +308,38 @@
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>次のセクションでは、カーソルを使用して結果セットをステップ単位で移動します。例の冒頭で設定した定数を使用して各フィールドの値を返します。
 
 </p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">カレンダーの変更</h3>
 
 <p>カレンダーのアップデートを実行する場合、カレンダーの {@link android.provider.BaseColumns#_ID} を、URI({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})の末尾に追加された ID として、または最初の selection 項目として指定できます。
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td><a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a> 形式でのイベントの期間。たとえば、<code>&quot;PT1H&quot;</code> という値はイベントが 1 時間であること、<code>&quot;P2W&quot;</code> という値は期間が 2 週間であることを示します。
 
 
@@ -444,24 +444,24 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>値 1 は、そのイベントがローカルのタイムゾーンで定義された終日を占めることを示します。
 値 0 は、1 日のどこかで始まって終わる定例のイベントであることを示します。
 </td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>イベント形式の繰り返し発生ルール。たとえば、<code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code> のようになります。
 その他の例については、<a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">こちら</a>をご覧ください。
 </td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
     <td>イベントの繰り返し発生日。通常、{@link android.provider.CalendarContract.EventsColumns#RDATE} は {@link android.provider.CalendarContract.EventsColumns#RRULE} と組み合わせて、繰り返し発生全体を定義するのに使用します。
@@ -470,13 +470,13 @@
 
 詳細については、<a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 の仕様</a>をご覧ください。</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>このイベントを埋まっている時間に数えるか、それともスケジュールのやり直しが利く空き時間とみなすか。
  </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 
 
 </li>
-  
+
   <li>繰り返されないイベントには、{@link android.provider.CalendarContract.EventsColumns#DTEND} を含める必要があります。
  </li>
-  
-  
+
+
   <li>繰り返されるイベントには、{@link android.provider.CalendarContract.EventsColumns#RRULE} と {@link android.provider.CalendarContract.EventsColumns#RDATE} に加えて {@link android.provider.CalendarContract.EventsColumns#DURATION} を含める必要があります。
 
 
@@ -528,7 +528,7 @@
 
 
 </li>
-  
+
 </ul>
 
 <p>イベントの挿入の例を次に示します。簡潔にするため、この例は UI スレッドで実行されています。
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,7 +625,7 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Attendees テーブル</h2>
@@ -637,7 +637,7 @@
 この {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} は特定のイベントの {@link android.provider.BaseColumns#_ID} と一致している必要があります。
 
 
-</p> 
+</p>
 
 <p>次の表に、書き込み可能なフィールドを示します。
 新しい参加者を挿入する際には、<code>ATTENDEE_NAME</code> を除くすべてを含める必要があります。
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>インスタンスの、カレンダーのタイムゾーンにおけるユリウス暦での終了日。
- 
-    
+
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>カレンダーのタイムゾーンにおける午前零時を基準にしたインスタンスの終了分。
 </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>インスタンスの、カレンダーのタイムゾーンにおけるユリウス暦での開始日。 
+    <td>インスタンスの、カレンダーのタイムゾーンにおけるユリウス暦での開始日。
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>カレンダーのタイムゾーンにおける午前零時を基準にしたインスタンスの開始分。
- 
+
 </td>
-    
+
   </tr>
 
 </table>
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -924,7 +924,7 @@
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
     URI は、{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI} を使用しても参照できます。
 このインテントの使用例については、<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">インテントを使用したカレンダー データの参照</a>をご覧ください。
- 
+
 
     </td>
     <td><code>&lt;ms_since_epoch&gt;</code> に指定された時刻でカレンダーを開きます。</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
     URI は、{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} を使用しても参照できます。
 このインテントの使用例については、<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">インテントを使用したカレンダー データの参照</a>をご覧ください。
 
-    
+
     </td>
     <td><code>&lt;event_id&gt;</code> で指定されたイベントを参照します。</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
   URI は、{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} を使用しても参照できます。
 このインテントの使用例については、<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">インテントを使用したカレンダー データの編集</a>をご覧ください。
 
-    
-    
+
+
     </td>
     <td><code>&lt;event_id&gt;</code> で指定されたイベントを編集します。</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
+
    URI は、{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} を使用しても参照できます。
 このインテントの使用例については、<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">インテントを使用したカレンダー データの挿入</a>をご覧ください。
 
-    
+
     </td>
 
     <td>イベントを作成します。</td>
@@ -996,7 +996,7 @@
     <td>イベントの名前。</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME CalendarContract.EXTRA_EVENT_BEGIN_TIME}
 </td>
     <td>イベントの開始時刻(エポックからのミリ秒単位)。</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME CalendarContract.EXTRA_EVENT_END_TIME}
 </td>
-    
+
     <td>イベントの終了時刻(エポックからのミリ秒単位)。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY CalendarContract.EXTRA_EVENT_ALL_DAY}
 </td>
-    
+
     <td>イベントが終日かどうかを示すブール値。使用できる値は <code>true</code> または <code>false</code> です。
 </td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION Events.EVENT_LOCATION}
 </td>
-    
+
     <td>イベントの場所。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION Events.DESCRIPTION}
 </td>
-    
+
     <td>イベントの説明。</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL Events.ACCESS_LEVEL}
 </td>
-    
+
     <td>イベントが公開か非公開か。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY Events.AVAILABILITY}
 </td>
-    
+
     <td>このイベントを埋まっている時間に数えるか、それともスケジュールのやり直しが利く空き時間とみなすか。</td>
-    
-</table> 
+
+</table>
 <p>次のセクションでは、これらのインテント使用方法を説明します。</p>
 
 
@@ -1059,14 +1059,14 @@
 
 </p>
 
-  
+
 <p>このアプローチのアプリケーションをユーザーが実行すると、アプリケーションによってユーザーがカレンダーに誘導されイベントを追加できるようになります。
 {@link android.content.Intent#ACTION_INSERT INSERT} インテントは、追加フィールドを使用して、カレンダーに格納されている詳細情報をフォームに自動入力します。
 
 それに対して、ユーザーはイベントのキャンセル、必要に応じたイベントの編集、イベントのカレンダーへの保存ができます。
 
 </p>
-  
+
 
 
 <p>次に示すのは、2012 年 1 月 19 日の午前 7:30 から 午前 8:30 までのイベントをスケジュールするコード スニペットです。
@@ -1075,7 +1075,7 @@
 <ul>
   <li>URI として {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} を指定しています。
 </li>
-  
+
   <li>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME CalendarContract.EXTRA_EVENT_BEGIN_TIME} と {@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME CalendarContract.EXTRA_EVENT_END_TIME} の各エクストラ フィールドを使用して、イベントの時間をフォームに自動入力しています。
 
 
@@ -1083,10 +1083,10 @@
 
 これらの値は、エポックからの UTC ミリ秒単位であることが必要です。
 </li>
-  
+
   <li>{@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL} エクストラ フィールドを使用して、参加者をメールアドレスで示したコンマ区切りリストを指定しています。
 </li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,12 +1158,12 @@
 
 <ul>
   <li>同期アダプタは、{@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} を <code>true</code> に設定して、それが同期アダプタであることを示す必要があります。</li>
-  
-  
+
+
   <li>同期アダプタは、{@link android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} と {@link android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} をクエリ パラメータとして URI に指定する必要があります。
 
  </li>
-  
+
   <li>同期アダプタは、アプリケーションやウィジェットより多くの列に書き込みアクセスできます。
   たとえば、アプリケーションで変更できるのは、名前、表示名、可視性の設定、カレンダーが同期対象かどうかなど、カレンダーの特性の一部のみです。
 
diff --git a/docs/html-intl/intl/ja/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/ja/guide/topics/providers/contacts-provider.jd
index e12b62f..09bc249 100644
--- a/docs/html-intl/intl/ja/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/ja/guide/topics/providers/contacts-provider.jd
@@ -2146,19 +2146,19 @@
         viewStreamItemPhotoActivity="<em>viewphotostream_activity_name</em>"&gt;
 </pre>
 <p>
-    <strong>含まれているファイル:</strong> 
+    <strong>含まれているファイル:</strong>
 </p>
 <p>
     <code>res/xml/contacts.xml</code>
 </p>
 <p>
-    <strong>含めることのできる要素:</strong> 
+    <strong>含めることのできる要素:</strong>
 </p>
 <p>
     <strong><code>&lt;ContactsDataKind&gt;</code></strong>
 </p>
 <p>
-    <strong>説明:</strong> 
+    <strong>説明:</strong>
 </p>
 <p>
     ユーザーが連絡先の 1 人をソーシャル ネットワーキングに招待できるようにしたり、ソーシャル ネットワーキング ストリームのどれかがアップデートされたらユーザーに通知したりするための、Android コンポーネントや UI ラベルを宣言します。
@@ -2170,7 +2170,7 @@
 
 </p>
 <p>
-    <strong>属性:</strong> 
+    <strong>属性:</strong>
 </p>
 <dl>
     <dt>{@code inviteContactActivity}</dt>
@@ -2248,11 +2248,11 @@
         android:detailColumn="<em>column_name</em>"&gt;
 </pre>
 <p>
-    <strong>含まれているファイル:</strong> 
+    <strong>含まれているファイル:</strong>
 </p>
 <code>&lt;ContactsAccountType&gt;</code>
 <p>
-    <strong>説明:</strong> 
+    <strong>説明:</strong>
 </p>
 <p>
     この要素は、カスタムデータ行のコンテンツを未加工連絡先の詳細の一部として連絡先アプリケーションに表示させるために使用します。
@@ -2263,7 +2263,7 @@
 
 </p>
 <p>
-    <strong>属性:</strong> 
+    <strong>属性:</strong>
 </p>
 <dl>
     <dt>{@code android:mimeType}</dt>
diff --git a/docs/html-intl/intl/ja/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/ja/guide/topics/providers/content-provider-creating.jd
index af21814..b14174f 100644
--- a/docs/html-intl/intl/ja/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/ja/guide/topics/providers/content-provider-creating.jd
@@ -377,7 +377,7 @@
         プロバイダの任意のコンテンツ URI に一致します。
     </dd>
     <dt>
-        <code>content://com.example.app.provider/table2/*</code>: 
+        <code>content://com.example.app.provider/table2/*</code>:
     </dt>
     <dd>
         テーブル <code>dataset1</code> と <code>dataset2</code> のコンテンツ URI に一致しますが、<code>table1</code> や <code>table3</code> のコンテンツ URI には一致しません。
@@ -791,7 +791,7 @@
         タイプ部分: <code>vnd</code>
     </li>
     <li>
-        サブタイプ部分: 
+        サブタイプ部分:
         <ul>
             <li>
     URI パターンが 1 つの行の場合: <code>android.cursor.<strong>item</strong>/</code>
diff --git a/docs/html-intl/intl/ja/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/ja/guide/topics/resources/providing-resources.jd
index 6729e8b6..2024d5d 100644
--- a/docs/html-intl/intl/ja/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/ja/guide/topics/resources/providing-resources.jd
@@ -110,7 +110,7 @@
   <tr>
     <td><code>drawable/</code></td>
 
-    <td><p>ビットマップ ファイル({@code .png}、{@code .9.png}、{@code .jpg}、{@code .gif})または次のドローアブル リソース サブタイプにコンパイルされる XML ファイル: 
+    <td><p>ビットマップ ファイル({@code .png}、{@code .9.png}、{@code .jpg}、{@code .gif})または次のドローアブル リソース サブタイプにコンパイルされる XML ファイル:
 </p>
       <ul>
         <li>ビットマップ ファイル</li>
@@ -510,7 +510,7 @@
 
 </p>
         <p>API レベル 4 で追加。<em></em></p>
-        
+
         <p>詳細については、「<a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a>」をご覧ください。
 </p>
         <p>さらに、{@link android.content.res.Configuration#screenLayout} 設定フィールドもご覧ください。これは、画面のサイズが小、中、大のいずれかであるかを表します。
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/controls.jd b/docs/html-intl/intl/ja/guide/topics/ui/controls.jd
index 0bc2063..c76771f 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">ラジオボタン</a></td>
         <td>グループで選択できるオプションは 1 つのみであることを除き、チェックボックスと同様です。</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/ja/guide/topics/ui/dialogs.jd
index 358fc30..006dc99 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>関連ドキュメント</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">ダイアログ デザインのガイド</a></li>
@@ -142,7 +142,7 @@
 
 <div class="figure" style="width:290px;margin:0 0 0 20px">
 <img src="{@docRoot}images/ui/dialog_buttons.png" alt="" />
-<p class="img-caption"><strong>図 1</strong> 
+<p class="img-caption"><strong>図 1</strong>
 メッセージと 2 つのアクション ボタンを含むダイアログ</p>
 </div>
 
@@ -248,7 +248,7 @@
   <dt>Neutral</dt>
   <dd>ユーザーがアクションを続けたくない可能性があり、キャンセルしたいとは限らない場合に使います。
 ポジティブ ボタンとネガティブ ボタンの間に表示されます。
-たとえば、「後で通知する」のようなアクションの場合です。</dd> 
+たとえば、「後で通知する」のようなアクションの場合です。</dd>
 </dl>
 
 <p>各ボタンタイプのいずれか 1 つのみを {@link
@@ -258,7 +258,7 @@
 
 <div class="figure" style="width:290px;margin:0 0 0 40px">
 <img src="{@docRoot}images/ui/dialog_list.png" alt="" />
-<p class="img-caption"><strong>図 3</strong> 
+<p class="img-caption"><strong>図 3</strong>
 タイトルとリストを含むダイアログ</p>
 </div>
 
@@ -318,7 +318,7 @@
 <h4 id="Checkboxes">固定の複数選択または排他的選択リストを追加する</h4>
 
 <p>複数選択アイテム(チェックボックス)または排他的選択アイテム(ラジオボタン)のリストを追加するには、{@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} または {@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} または {@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} メソッドをそれぞれ使用します。
 
 
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -372,7 +372,7 @@
 </pre>
 
 <p>従来のリストとラジオボタンを含むリストでは、「排他的選択」アクションが提供されますが、ユーザーの選択を固定させたい場合は、{@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} を使用してください。つまり、ダイアログを後でもう一度開く場合は、ユーザーの現在の選択を表示し、ラジオボタンを含むリストを作成します。
 
 
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/menus.jd b/docs/html-intl/intl/ja/guide/topics/ui/menus.jd
index 7d8090e..53142a1b 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/menus.jd
@@ -83,9 +83,9 @@
 </p>
   <p><a href="#options-menu">オプション メニューの作成</a>のセクションをご覧ください。</p>
     </dd>
-    
+
   <dt><strong>コンテキスト メニューとコンテキスト アクション モード</strong></dt>
-  
+
    <dd>コンテキスト メニューは、ユーザーが要素を長押しクリックするときに表示される<a href="#FloatingContextMenu">フローティング メニュー</a>です。
 ここでは、選択したコンテンツやコンテキスト フレームに影響するアクションが提供されます。
 
@@ -94,7 +94,7 @@
 </p>
   <p><a href="#context-menu">コンテキスト メニューの作成</a>のセクションをご覧ください。</p>
 </dd>
-    
+
   <dt><strong>ポップアップ メニュー</strong></dt>
     <dd>ポップアップ メニューでは、メニューを呼び出すビューに固定された縦方向のリストでアイテムが表示されます。
 特定のコンテンツに関連するアクションの概要を表示したり、コマンドの 2 番目の部分のオプションを表示したりする場合に適しています。
@@ -135,7 +135,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>メニューで 1 つのアイテムを表示する {@link android.view.MenuItem} を作成します。この要素には、サブメニューを作成するために、ネストされた <code>&lt;menu></code> 要素を含めることができます。
 </dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>省略可能な {@code &lt;item&gt;} 要素の非表示コンテナ。メニュー アイテムでアクティブ状態や可視性のようなプロパティを共有できるよう、メニュー アイテムを分類できます。
 詳細については、<a href="#groups">メニュー グループの作成</a>のセクションをご覧ください。
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/ja/guide/topics/ui/notifiers/notifications.jd
index f341256..d0f1f72 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/notifiers/notifications.jd
@@ -531,7 +531,7 @@
             <li>
                 必要に応じて、{@link android.support.v4.app.TaskStackBuilder#editIntentAt TaskStackBuilder.editIntentAt()} を呼び出し、スタック上の {@link android.content.Intent} オブジェクトに引数を追加します。
 
-これは、場合によっては、ターゲット {@link android.app.Activity} に、ユーザーが 
+これは、場合によっては、ターゲット {@link android.app.Activity} に、ユーザーが
 
  <i>[戻る]</i> を使って移動したときに、適切なデータが表示されるようにするために必要です。
             </li>
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/overview.jd b/docs/html-intl/intl/ja/guide/topics/ui/overview.jd
index 08d9356..7bc49f4 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>UI レイアウト作成のガイドについては、<a href="declaring-layout.html">XML レイアウト</a>をご覧ください。
 
 
-  
+
 <h2 id="UIComponents">ユーザー インターフェース コンポーネント</h2>
 
 <p>{@link android.view.View} と {@link android.view.ViewGroup} オブジェクトを使用してすべての UI をビルドする必要はありません。
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/settings.jd b/docs/html-intl/intl/ja/guide/topics/ui/settings.jd
index 9e6bb9d..c36a01c 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/settings.jd
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>この属性は、データ値を保持するプリファレンスで必要です。設定の値を {@link android.content.SharedPreferences} に保存するときにシステムが使用する一意のキー(文字列)を指定します。
 
- 
+
   <p>プリファレンスが {@link android.preference.PreferenceCategory} または{@link android.preference.PreferenceScreen} の場合、またはプリファレンスが {@link android.content.Intent} の呼び出しを指定している場合(<a href="#Intents">{@code &lt;intent&gt;}</a> 要素を使用)、または {@link android.app.Fragment} の表示を指定している場合(<a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code android:fragment}</a> 属性を使用)のみ、インスタンスでこの属性は<em>必要ありません</em>。
 
 
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -672,15 +672,15 @@
 </p>
 
 <p>たとえば、以下は Android 3.0 以降で使用されるプリファレンス ヘッダーの XML ファイル({@code res/xml/preference_headers.xml})です。
-</p> 
+</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/ja/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/ja/guide/topics/ui/ui-events.jd
index 1cff3f6..b4b3766 100644
--- a/docs/html-intl/intl/ja/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/ja/guide/topics/ui/ui-events.jd
@@ -187,7 +187,7 @@
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - {@link android.view.ViewGroup} が、イベントが子ビューにディスパッチされたときにイベントを監視できるようにします。
 </li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
-    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - このメソッドを親ビュー上で呼び出すことで、<code>{@link 
+    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - このメソッドを親ビュー上で呼び出すことで、<code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code> による親ビューのタップイベントのインターセプトを許可しないことを示すことができます。
 </li>
 </ul>
@@ -199,7 +199,7 @@
 ただし、端末にタッチ機能がある場合は、ユーザーはタップでインターフェースの操作を開始するため、アイテムをハイライトすることや、特定のビューにフォーカスを与えることは必要ではなくなりました。
 
 そのため、「タッチモード」と名付けられた操作モードが存在します。
- 
+
 </p>
 <p>
 タッチ可能な端末では、ユーザーが画面をタップすると、端末がタッチモードになります。
@@ -233,7 +233,7 @@
 
 <p>フォーカスの移動は、所定の方向で最も近くにあるアイテムを見つけるアルゴリズムに基づきますが、
 まれに、デフォルトのアルゴリズムが開発者の意図する動作と一致しない場合もあります。
-この場合、レイアウト ファイルの 
+この場合、レイアウト ファイルの
 
 <var>nextFocusDown</var>、 <var>nextFocusLeft</var>、 <var>nextFocusRight</var>、
 <var>nextFocusUp</var> の各 XML 属性を明示的にオーバーライドできます。これらの属性のいずれかを、フォーカスの移動<em>元</em>のビューに追加します。
@@ -253,11 +253,11 @@
 </pre>
 
 <p>本来、上記の縦方向のレイアウトでは、1 番上のボタンから上に移動しようとしても、2 番目のボタンから下に移動しようしても、どこにもフォーカスが移動しないはずでしたが、上記の処理により、
-1 番上のボタンによって 1 番下のボタンが 
+1 番上のボタンによって 1 番下のボタンが
  <var>nextFocusUp</var>  として定義され(逆の場合も同様)、フォーカスが、上から下と下から上に順番に移動するようになります。
 </p>
 
-<p>UI でビューをフォーカス可能にする場合は(従来は、ビューはフォーカス可能ではありません)、レイアウトの宣言で <code>android:focusable</code> XML 属性をビューに追加し、値を 
+<p>UI でビューをフォーカス可能にする場合は(従来は、ビューはフォーカス可能ではありません)、レイアウトの宣言で <code>android:focusable</code> XML 属性をビューに追加し、値を
 
  <var>true</var> に設定します。また、<code>android:focusableInTouchMode</code> を使用して、タッチモードのときにビューをフォーカス可能にすることもできます。
 </p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/ja/preview/features/background-optimization.jd b/docs/html-intl/intl/ja/preview/features/background-optimization.jd
index 1ea9f2e..04921c7 100644
--- a/docs/html-intl/intl/ja/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/ja/preview/features/background-optimization.jd
@@ -248,7 +248,7 @@
   setPeriodic()} または {@link android.app.job.JobInfo.Builder#setPersisted
   setPersisted()} と組み合わせて使うことはできません。
 コンテンツの変更を継続的に監視するには、アプリの {@link
-  android.app.job.JobService} が最新のコールバックの処理を完了する前に、新しい 
+  android.app.job.JobService} が最新のコールバックの処理を完了する前に、新しい
 {@link android.app.job.JobInfo} をスケジュールします。
 </p>
 
diff --git a/docs/html-intl/intl/ja/preview/features/direct-boot.jd b/docs/html-intl/intl/ja/preview/features/direct-boot.jd
index 6ba1852..933e682 100644
--- a/docs/html-intl/intl/ja/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/ja/preview/features/direct-boot.jd
@@ -58,16 +58,16 @@
 <p>ダイレクト ブート モード中にアプリを実行したり、端末暗号化ストレージにアクセスしたりするには、アプリ コンポーネントの登録が必要です。
 
 アプリをシステムに登録するには、コンポーネントが
-<i>暗号化対応するように指定します。</i>コンポーネントが暗号化対応するよう指定するには、マニフェスト内で 
+<i>暗号化対応するように指定します。</i>コンポーネントが暗号化対応するよう指定するには、マニフェスト内で
 <code>android:directBootAware</code> 属性を true に設定します。<p>
 
-<p>暗号化対応コンポーネントを登録しておくと、端末を再起動したときにシステムから 
+<p>暗号化対応コンポーネントを登録しておくと、端末を再起動したときにシステムから
 <code>LOCKED_BOOT_COMPLETED</code> ブロードキャスト メッセージを受信できます。
 この時点で端末暗号化ストレージが使用できるようになり、ダイレクト ブート モード中にコンポーネントが実行しなければならないタスクを実行できます。たとえば、スケジュールしたアラームのトリガーなどが該当します。
 
 </p>
 
-<p>次のコード スニペットは、アプリのマニフェスト内で 
+<p>次のコード スニペットは、アプリのマニフェスト内で
 {@link android.content.BroadcastReceiver} を暗号化対応として登録し、<code>LOCKED_BOOT_COMPLETED</code> のインテント フィルタを追加する方法の例を示しています。
 </p>
 
@@ -126,7 +126,7 @@
 
 <p>ユーザーが端末をアップデートしてダイレクト ブート モードを使用できるようになると、既存のデータを端末暗号化ストレージに移行しなければならない場合があります。
 
-<code>Context.moveSharedPreferencesFrom()</code> および 
+<code>Context.moveSharedPreferencesFrom()</code> および
 <code>Context.moveDatabaseFrom()</code> を使用すると、設定およびデータベースのデータを認証情報暗号化ストレージと端末暗号化ストレージ間で移行できます。
 </p>
 
diff --git a/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd b/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
index cf2063f..6a25cec 100644
--- a/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
@@ -49,7 +49,7 @@
 <h2 id="relation">ICU4J との関係</h2>
 
 <p>
-  Android N では、<code>com.ibm.icu</code> ではなく 
+  Android N では、<code>com.ibm.icu</code> ではなく
 <code>android.icu</code> パッケージを介して ICU4J API のサブセットを公開しています。Android フレームワークでは、さまざまな理由により ICU4J API を公開しないという選択も考えられます。たとえば、Android N で廃止された API を公開しないため、または ICU チームからまだ安定版の発表がないため、などの理由があります。
 
 
diff --git a/docs/html-intl/intl/ja/preview/features/multi-window.jd b/docs/html-intl/intl/ja/preview/features/multi-window.jd
index 4ad3d94..dba58be 100644
--- a/docs/html-intl/intl/ja/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/ja/preview/features/multi-window.jd
@@ -146,7 +146,7 @@
   ユーザーがウィンドウのサイズを変更して、高さや幅を拡大した場合、ユーザー操作に一致するようにアクティビティのサイズが変更され、必要に応じて、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更</a>が発行されます。
 
 アプリで新しく表示された領域を描画するまでに時間がかかる場合、{@link
-  android.R.attr#windowBackground windowBackground} 属性またはデフォルトの 
+  android.R.attr#windowBackground windowBackground} 属性またはデフォルトの
 <code>windowBackgroundFallback</code> システム属性によって指定された色でこれらの領域が一時的に塗りつぶされます。
 
 </p>
@@ -158,7 +158,7 @@
 サイズとレイアウトを制御するための属性をマニフェストに設定できます。
 
   ルート アクティビティ属性の設定は、タスクスタック内のすべてのアクティビティに適用されます。
-たとえば、ルート アクティビティにより 
+たとえば、ルート アクティビティにより
 <code>android:resizeableActivity</code> が true に設定されると、タスク スタック内のすべてのアクティビティのサイズを変更できるようになります。
 
 </p>
@@ -175,7 +175,7 @@
 
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
-  マルチ ウィンドウ ディスプレイを有効または無効にするには、この属性をマニフェストの <code>&lt;activity&gt;</code> ノードまたは 
+  マルチ ウィンドウ ディスプレイを有効または無効にするには、この属性をマニフェストの <code>&lt;activity&gt;</code> ノードまたは
 <code>&lt;application&gt;</code> ノードに設定します。
 
 </p>
@@ -361,7 +361,7 @@
 <h3 id="entering-pip">ピクチャ イン ピクチャ モードにする</h3>
 
 <p>
-  アクティビティをピクチャ イン ピクチャ モードにするには、新しいメソッド 
+  アクティビティをピクチャ イン ピクチャ モードにするには、新しいメソッド
 <code>Activity.enterPictureInPictureMode()</code> を呼び出します。端末がピクチャ イン ピクチャ モードをサポートしない場合、このメソッドの効果はありません。
 詳細については、<a href="picture-in-picture.html">ピクチャ イン ピクチャ</a>に関するドキュメントをご覧ください。
 
@@ -371,7 +371,7 @@
 
 <p>
   新しいアクティビティを起動するときに、可能であれば、新しいアクティビティを現在のアクティビティの隣に表示する必用があるかどうかをシステムに示すことができます。
-そうするには、フラグ 
+そうするには、フラグ
 <code>Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT</code> を使用します。
 このフラグを渡すと、次の動作がリクエストされます。
 
@@ -434,10 +434,10 @@
   </dt>
 
   <dd>
-    {@link android.view.View#startDrag View.startDrag()} の新しいエイリアスです。異なるアクティビティ間のドラッグ&ドロップを有効にするには、新しいフラグ 
+    {@link android.view.View#startDrag View.startDrag()} の新しいエイリアスです。異なるアクティビティ間のドラッグ&ドロップを有効にするには、新しいフラグ
 <code>View.DRAG_FLAG_GLOBAL</code> を渡します。
-URI パーミッションを受け取る側のアクティビティに付与する必要がある場合、必要に応じて、新しいフラグ 
-<code>View.DRAG_FLAG_GLOBAL_URI_READ</code> または 
+URI パーミッションを受け取る側のアクティビティに付与する必要がある場合、必要に応じて、新しいフラグ
+<code>View.DRAG_FLAG_GLOBAL_URI_READ</code> または
 <code>View.DRAG_FLAG_GLOBAL_URI_WRITE</code> を渡します。
 
   </dd>
@@ -581,7 +581,7 @@
 <h3 id="test-disabled-mw">マルチ ウィンドウのサポートを無効にしている場合</h3>
 
 <p>
-  
+
 <code>android:resizableActivity="false"</code> を設定して、マルチ ウィンドウのサポートを無効にした場合は、Android N を実行している端末でアプリを起動し、アプリをフリーフォーム モードおよび分割画面モードにすることを試みる必要があります。
 
 アプリをマルチ ウィンドウ モードにすることを試みたとき、アプリが全画面モードのままであることを確認してください。
diff --git a/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd b/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
index faf63ea..0bb4a75 100644
--- a/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
@@ -72,8 +72,8 @@
 
 <h2 id="declaring">アクティビティがピクチャ イン ピクチャをサポートしていることを宣言する</h2>
 
-<p>デフォルトでは、システムはアプリの PIP を自動的にサポートしません。アプリで PIP をサポートする場合、マニフェストで 
-<code>android:supportsPictureInPicture</code> および 
+<p>デフォルトでは、システムはアプリの PIP を自動的にサポートしません。アプリで PIP をサポートする場合、マニフェストで
+<code>android:supportsPictureInPicture</code> および
 <code>android:resizeableActivity</code> を <code>true</code> に設定して、動画アクティビティを登録します。
 
 また、アクティビティがレイアウトの設定変更を処理するように指定して、PIP モードの遷移中にレイアウト変更が発生しても、アクティビティが再開しないようにします。
@@ -120,14 +120,14 @@
 <p class="img-caption"><strong>図 1.</strong> メディア コントロール バー上の [Picture-in-picture] ボタン
 </p>
 
-<p>Android N には、新しい 
+<p>Android N には、新しい
 <code>PlaybackControlsRow.PictureInPictureAction</code> クラスが含まれています。このクラスは、コントロール バーの PIP アクションと PIP アイコンの使用方法を定義します。
 </p>
 
 <h2 id="handling_ui">ピクチャ イン ピクチャの実行中に UI を処理する</h2>
 
 <p>アクティビティが PIP モードを開始したら、動画の再生のみを表示する必要があります。
-アクティビティが PIP を開始する前に UI 要素を削除して、再び全画面表示に戻ったら、削除した要素を復元します。<code>Activity.onPictureInPictureModeChanged()</code> または 
+アクティビティが PIP を開始する前に UI 要素を削除して、再び全画面表示に戻ったら、削除した要素を復元します。<code>Activity.onPictureInPictureModeChanged()</code> または
 <code>Fragment.onPictureInPictureModeChanged()</code> をオーバーライドして、必要に応じて UI 要素を有効または無効にします。次に例を示します。
 
 
@@ -152,7 +152,7 @@
 <p>アクティビティを PIP に切り替えると、システムはそのアクティビティを一時停止状態と見なして、アクティビティの <code>onPause()</code> メソッドを呼び出します。
 PIP モードによってアクティビティが一時停止になっても、動画の再生は一時停止せず、再生を続ける必要があります。
 
-アクティビティの 
+アクティビティの
 <code>onPause()</code> メソッドで PIP を確認し、適切に再生を処理してください。次に例を示します。
 </p>
 
@@ -180,7 +180,7 @@
 
 </p>
 
-<p>動画再生リクエストに対して単一のアクティビティが使用されるようにし、必要に応じて PIP モードの切り替えが行われるようにするには、マニフェストでアクティビティの 
+<p>動画再生リクエストに対して単一のアクティビティが使用されるようにし、必要に応じて PIP モードの切り替えが行われるようにするには、マニフェストでアクティビティの
 <code>android:launchMode</code> を <code>singleTask</code> に設定します。
 
 </p>
diff --git a/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
index e77e481..e4f9ae2 100644
--- a/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
@@ -37,16 +37,16 @@
 
 <h2 id="accessing">外部ストレージのディレクトリへのアクセス</h2>
 
-<p><code>StorageManager</code> クラスを使用して、適切な 
-<code>StorageVolume</code> インスタンスを取得します。次に、そのインスタンスの 
+<p><code>StorageManager</code> クラスを使用して、適切な
+<code>StorageVolume</code> インスタンスを取得します。次に、そのインスタンスの
 <code>StorageVolume.createAccessIntent()</code> メソッドを呼び出して、インテントを作成します。このインテントを使用して、外部ストレージのディレクトリにアクセスします。
 リムーバブル メディア ボリュームなど、使用できるすべてのボリュームのリストを取得するには、<code>StorageManager.getVolumesList()</code> を使用します。
 
 </p>
 
 <p>特定のファイルに関する情報がある場合は、
-<code>StorageManager.getStorageVolume(File)</code> を使用して、そのファイルを含む 
-<code>StorageVolume</code> を取得します。この <code>StorageVolume</code> で 
+<code>StorageManager.getStorageVolume(File)</code> を使用して、そのファイルを含む
+<code>StorageVolume</code> を取得します。この <code>StorageVolume</code> で
 <code>createAccessIntent()</code> を呼び出し、このファイルの外部ストレージ ディレクトリにアクセスします。
 </p>
 
@@ -58,7 +58,7 @@
 
 </p>
 
-<p>次のコード スニペットは、プライマリ共有ストレージの 
+<p>次のコード スニペットは、プライマリ共有ストレージの
 <code>Pictures</code> ディレクトリを開く方法の例を示しています。</p>
 
 <pre>
@@ -109,7 +109,7 @@
 &lt;/receiver&gt;
 </pre>
 
-<p>ユーザーが SD カードなどのリムーバブル メディアをマウントすると、システムは 
+<p>ユーザーが SD カードなどのリムーバブル メディアをマウントすると、システムは
 {@link android.os.Environment#MEDIA_MOUNTED} 通知を送信します。この通知は、インテント データ内の <code>StorageVolume</code> オブジェクトを提供します。このオブジェクトを使用して、リムーバブル メディア上のディレクトリにアクセスできます。
 
 次の例では、リムーバブル メディア上の <code>Pictures</code> ディレクトリにアクセスします。
@@ -127,7 +127,7 @@
 <h2 id="best">ベスト プラクティス</h2>
 
 <p>外部ディレクトリのアクセス URI はできる限り保持してください。そうすれば、ユーザーに何度もアクセス要求をする必要がなくなります。
-ユーザーがアクセスを付与したら、ディレクトリのアクセス URI を指定して 
+ユーザーがアクセスを付与したら、ディレクトリのアクセス URI を指定して
 <code>getContentResolver().takePersistableUriPermssion()</code> を呼び出します。
 システムが URI を保持し、以降のアクセス要求では <code>RESULT_OK</code> を返して、ユーザーに確認の UI を表示しません。
 
diff --git a/docs/html-intl/intl/ja/preview/setup-sdk.jd b/docs/html-intl/intl/ja/preview/setup-sdk.jd
index 37fa0867..06b24ca 100644
--- a/docs/html-intl/intl/ja/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/ja/preview/setup-sdk.jd
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5:19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
diff --git a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/index.jd
index 837fc2b..3fd3f47 100644
--- a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/index.jd
@@ -55,7 +55,7 @@
 </p>
 
 <h2>レッスン</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">アクティビティを開始する</a></b></dt>
   <dd>アクティビティのライフサイクルに関する基本、ユーザーがアプリを起動する方法、基本的なアクティビティ作成の方法について学習します。
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">アクティビティを再作成する</a></b></dt>
   <dd>アクティビティが破棄されるときの動作と、必要に応じてアクティビティの状態を再構築する方法について学習します。
 </dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/pausing.jd
index b837a00..fd21ef0 100644
--- a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>このレッスンでの学習内容</h2>
     <ol>
       <li><a href="#Pause">アクティビティを一時停止する</a></li>
       <li><a href="#Resume">アクティビティを再開する</a></li>
     </ol>
-    
+
     <h2>関連ドキュメント</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">アクティビティ</a>
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">アクティビティを一時停止する</h2>
-      
+
 <p>システムがアクティビティに対して {@link android.app.Activity#onPause()} を呼び出した場合、技術的にはアクティビティはまだ部分的に表示されていることを意味しますが、ほとんどの場合は、ユーザーがアクティビティを離れていて、ほどなく停止状態になる徴候を示しています。
 
 通常、以下を行う場合には、{@link android.app.Activity#onPause()} コールバックを使用する必要があります。
diff --git a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/recreating.jd
index 8647375..5753f13 100644
--- a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>このレッスンでの学習内容</h2>
     <ol>
       <li><a href="#SaveState">自分のアクティビティ状態を保存する</a></li>
       <li><a href="#RestoreState">自分のアクティビティ状態をリストアする</a></li>
     </ol>
-    
+
     <h2>関連ドキュメント</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">異なる画面のサポート
@@ -73,7 +73,7 @@
 
 <img src="{@docRoot}images/training/basics/basic-lifecycle-savestate.png" />
 <p class="img-caption"><strong>図 2.</strong> システムがアクティビティを停止し始めると、
-{@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}(1)が呼び出されるため、{@link android.app.Activity} インスタンスの再作成の必要がある場合に備えて、保存する追加の状態データを指定できます。アクティビティが破棄され、同じインスタンスを再作成する必要がある場合、システムは(1)で定義された状態データを {@link android.app.Activity#onCreate onCreate()} メソッド(2)と 
+{@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}(1)が呼び出されるため、{@link android.app.Activity} インスタンスの再作成の必要がある場合に備えて、保存する追加の状態データを指定できます。アクティビティが破棄され、同じインスタンスを再作成する必要がある場合、システムは(1)で定義された状態データを {@link android.app.Activity#onCreate onCreate()} メソッド(2)と
 {@link android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} メソッド(3)の両方に渡します。
 
 
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 復元対象の保存済みの状態がある場合のみ {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} が呼び出されるため、
 {@link android.os.Bundle} が null であるかどうかをチェックする必要はありません。</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/starting.jd
index 124c323..06fcf80 100644
--- a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>このレッスンでの学習内容</h2>
 <ol>
   <li><a href="#lifecycle-states">ライフサイクル コールバックを理解する</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">新しいインスタンスを作成する</a></li>
   <li><a href="#Destroy">アクティビティを破棄する</a></li>
 </ol>
-    
+
     <h2>関連ドキュメント</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">アクティビティ</a></li>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">アプリのランチャー アクティビティを指定する</h2> 
+<h2 id="launching-activity">アプリのランチャー アクティビティを指定する</h2>
 
 <p>ユーザーがホーム画面からアプリのアイコンを選択すると、システムはアプリ内で「ランチャー」(または「メイン」)のアクティビティであると宣言された {@link android.app.Activity} に対して {@link
 android.app.Activity#onCreate onCreate()} メソッドを呼び出します。
@@ -151,7 +151,7 @@
 <p>アプリのメインのアクティビティは、{@link
 android.content.Intent#ACTION_MAIN MAIN} アクションと {@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} カテゴリを含む <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a> を使用してマニフェストで宣言する必要があります。
-次に例を示します。</p> 
+次に例を示します。</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -180,7 +180,7 @@
 
 </p>
 
-<p>アクティビティの存続期間すべてにわたり、一度のみ発生すべき基本的なアプリの起動ロジックを実行するための 
+<p>アクティビティの存続期間すべてにわたり、一度のみ発生すべき基本的なアプリの起動ロジックを実行するための
 {@link android.app.Activity#onCreate onCreate()} メソッドを実装する必要があります。たとえば、
 {@link android.app.Activity#onCreate onCreate()} の実装では、ユーザー インターフェースを定義し、場合によってはいくつかのクラススコープの変数をインスタンス化する必要があります。
 </p>
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/stopping.jd
index 0007fe6..b267cc8 100644
--- a/docs/html-intl/intl/ja/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/ja/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>このレッスンでの学習内容</h2>
     <ol>
       <li><a href="#Stop">アクティビティを停止する</a></li>
       <li><a href="#Start">アクティビティを開始/再起動する</a></li>
     </ol>
-    
+
     <h2>関連ドキュメント</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">アクティビティ</a>
@@ -78,7 +78,7 @@
 {@link android.app.Activity#onStop()} を使用してメモリのリークを引き起こす可能性があるリソースを解放することが重要です。
 </p>
 
-<p>{@link android.app.Activity#onPause onPause()} メソッドが 
+<p>{@link android.app.Activity#onPause onPause()} メソッドが
 {@link android.app.Activity#onStop()} の前に呼び出されますが、データベースに情報を書き込むような、規模が大きく CPU に負荷がかかるシャットダウン操作を実行するためには {@link android.app.Activity#onStop onStop()}を使用する必要があります。
 
 </p>
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html-intl/intl/ja/training/basics/intents/filters.jd b/docs/html-intl/intl/ja/training/basics/intents/filters.jd
index 1bcb266..3cf614d 100644
--- a/docs/html-intl/intl/ja/training/basics/intents/filters.jd
+++ b/docs/html-intl/intl/ja/training/basics/intents/filters.jd
@@ -152,7 +152,7 @@
 <p>アクティビティで実行するアクションを決定するために、起動時に使用された {@link
 android.content.Intent} を読み取ることができます。</p>
 
-<p>アクティビティが開始されたら、{@link android.app.Activity#getIntent()} を呼び出して、アクティビティを開始した 
+<p>アクティビティが開始されたら、{@link android.app.Activity#getIntent()} を呼び出して、アクティビティを開始した
 {@link android.content.Intent} を取得します。アクティビティのライフサイクル中はいつでもこれを行うことができますが、通常は、
 {@link android.app.Activity#onCreate onCreate()} や {@link android.app.Activity#onStart()} などの早い段階のコールバックの間に行う必要があります。
 </p>
diff --git a/docs/html-intl/intl/ja/training/basics/intents/sending.jd b/docs/html-intl/intl/ja/training/basics/intents/sending.jd
index 586bc15..d2a24f8 100644
--- a/docs/html-intl/intl/ja/training/basics/intents/sending.jd
+++ b/docs/html-intl/intl/ja/training/basics/intents/sending.jd
@@ -93,7 +93,7 @@
 さまざまな {@link
 android.content.Intent#putExtra(String,String) putExtra()} メソッドを使用して、特別データを 1 つ以上追加することができます。</p>
 
-<p>デフォルトでは、インテントに含まれる 
+<p>デフォルトでは、インテントに含まれる
 {@link android.net.Uri} データに基づいて、インテントに必要な適切な MIME タイプをシステムが決定します。インテントに {@link android.net.Uri} が含まれていない場合は、通常は {@link android.content.Intent#setType setType()} を使用して、インテントに関連するデータのタイプを指定する必要があります。
 
 MIME タイプの詳細な指定により、どの種類のアクティビティがインテントを受け取るかが指定されます。
diff --git a/docs/html-intl/intl/ja/training/material/animations.jd b/docs/html-intl/intl/ja/training/material/animations.jd
index 460147c..06a3a56 100644
--- a/docs/html-intl/intl/ja/training/material/animations.jd
+++ b/docs/html-intl/intl/ja/training/material/animations.jd
@@ -173,7 +173,7 @@
 </ul>
 
 <p>{@link android.transition.Visibility} クラスを拡張する Transition はすべて、EnterTransition または ExitTransition としてサポートされます。
-詳細については、API リファレンスの 
+詳細については、API リファレンスの
 {@link android.transition.Transition} クラスをご覧ください。</p>
 
 <p>Android 5.0(API レベル 21)では、次の共有要素遷移もサポートしています。</p>
@@ -226,7 +226,7 @@
 &lt;/transitionSet>
 </pre>
 
-<p><code>changeImageTransform</code> 要素は 
+<p><code>changeImageTransform</code> 要素は
 {@link android.transition.ChangeImageTransform} クラスに対応します。詳細については、API リファレンスの {@link android.transition.Transition} をご覧ください。
 </p>
 
@@ -263,7 +263,7 @@
 有効にしていないと、呼び出し元のアクティビティが Exit 遷移を開始したあと、window 遷移(スケールやフェードなど)が起きます。
 </p>
 
-<p>Enter 遷移をできるだけ早く開始するには、呼び出し先のアクティビティで 
+<p>Enter 遷移をできるだけ早く開始するには、呼び出し先のアクティビティで
 {@link android.view.Window#setAllowEnterTransitionOverlap Window.setAllowEnterTransitionOverlap()}
  メソッドを使用します。これにより、さらに印象的な Enter 遷移になります。</p>
 
@@ -321,7 +321,7 @@
 {@link android.view.View#setTransitionName View.setTransitionName()} メソッドを使用して両方のアクティビティに共通の要素名を指定します。
 </p>
 
-<p>2 つ目のアクティビティが終了したときにシーンの切り替えアニメーションを逆回転させるには、{@link android.app.Activity#finish Activity.finish()} の代わりに 
+<p>2 つ目のアクティビティが終了したときにシーンの切り替えアニメーションを逆回転させるには、{@link android.app.Activity#finish Activity.finish()} の代わりに
 {@link android.app.Activity#finishAfterTransition Activity.finishAfterTransition()}
  メソッドを呼び出します。</p>
 
diff --git a/docs/html-intl/intl/ja/training/monitoring-device-state/battery-monitoring.jd b/docs/html-intl/intl/ja/training/monitoring-device-state/battery-monitoring.jd
index c4aafe4..0b7d602 100644
--- a/docs/html-intl/intl/ja/training/monitoring-device-state/battery-monitoring.jd
+++ b/docs/html-intl/intl/ja/training/monitoring-device-state/battery-monitoring.jd
@@ -7,8 +7,8 @@
 next.link=docking-monitoring.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>このレッスンの内容</h2>
@@ -24,9 +24,9 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">インテントとインテント フィルタ</a>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 <p>バックグラウンド更新が電池消費量に及ぼす影響を抑えるために更新の頻度を変更するには、初めに現在の電池残量と充電状態を調べることをおすすめします。</p>
 
 <p>アプリの更新が電池消費量に及ぼす影響の度合いは、端末の電池残量と充電状態によって異なります。AC 電源から端末を充電しているときは、更新の実行による影響はごくわずかなので、ほとんどの場合は、端末が AC 電源に接続されている限り、更新頻度を最大にして差し支えありません。逆に、端末が電池で駆動しているときは、更新頻度を下げると電池消費量を抑えることができます。</p>
@@ -34,8 +34,8 @@
 <p>同様に、電池残量を調べると、残量がごくわずかであるときに更新頻度を下げたり、場合によっては停止させたりすることができます。</p>
 
 
-<h2 id="DetermineChargeState">現在の充電状態を特定する</h2> 
- 
+<h2 id="DetermineChargeState">現在の充電状態を特定する</h2>
+
 <p>初めに、現在の充電状態を特定します。{@link android.os.BatteryManager} によって電池と充電状態に関するすべての詳細情報が sticky {@link android.content.Intent} としてブロードキャストされますが、この中に充電状態が格納されています。</p>
 
 <p>これは sticky インテントであるため、{@link android.content.BroadcastReceiver} を登録する必要はありません。{@code registerReceiver} を呼び出し、{@code null} をレシーバとして渡すだけで(次のコード例を参照)、現在の電池状態のインテントが返されます。ここで実際の {@link android.content.BroadcastReceiver} オブジェクトを渡すこともできますが、このレッスンでは後で更新についての処理を行うので、これは必要ありません。</p>
@@ -58,7 +58,7 @@
 <p>一般的には、端末が AC 充電器に接続されているときはバックグラウンド更新の頻度を最大にし、USB 経由で充電中のときは頻度を下げ、電池で駆動中のときはさらに頻度を下げます。</p>
 
 
-<h2 id="MonitorChargeState">充電状態の変化を監視する</h2> 
+<h2 id="MonitorChargeState">充電状態の変化を監視する</h2>
 
 <p>充電状態は、端末が充電器に接続されたときにすぐに変化するので、充電状態の変化を監視し、その変化に応じて更新の頻度を変更することが重要です。</p>
 
@@ -75,11 +75,11 @@
 
 <pre>public class PowerConnectionReceiver extends BroadcastReceiver {
     &#64;Override
-    public void onReceive(Context context, Intent intent) { 
+    public void onReceive(Context context, Intent intent) {
         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                             status == BatteryManager.BATTERY_STATUS_FULL;
-    
+
         int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
         boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
         boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
@@ -87,7 +87,7 @@
 }</pre>
 
 
-<h2 id="CurrentLevel">現在の電池残量を特定する</h2> 
+<h2 id="CurrentLevel">現在の電池残量を特定する</h2>
 
 <p>状況によっては、現在の電池残量がわかると便利なことがあります。たとえば、電池残量が所定のレベルを下回った場合にアプリのバックグラウンド更新の頻度を下げることができます。</p>
 
@@ -99,7 +99,7 @@
 float batteryPct = level / (float)scale;</pre>
 
 
-<h2 id="MonitorLevel">電池残量の大きな変化を監視する</h2> 
+<h2 id="MonitorLevel">電池残量の大きな変化を監視する</h2>
 
 <p>電池状態を継続的に監視することは簡単ではありませんが、その必要もありません。</p>
 
diff --git a/docs/html-intl/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html-intl/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
index 82b0c6b..6cead05 100644
--- a/docs/html-intl/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html-intl/intl/ja/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>このレッスンの内容</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">インテントとインテント フィルタ</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>反復アラームとバックグラウンド サービスの用途のうち代表的なものとしては、インターネット リソースからアプリのデータを定期的に更新するためのスケジュール設定や、データのキャッシュへの格納、長時間に及ぶダウンロードの実行などがあります。しかし、インターネットに接続されていないときや、速度が低すぎるためにダウンロードを完了できない場合にまで、更新をスケジューリングするために端末をスリープ状態から復帰させる必要があるでしょうか。</p>
@@ -35,18 +35,18 @@
 <p>{@link android.net.ConnectivityManager} を使用すると、端末が実際にインターネットに接続されているかどうかと、接続されている場合の接続タイプを調べることができます。</p>
 
 
-<h2 id="DetermineConnection">インターネット接続の有無を特定する</h2> 
- 
+<h2 id="DetermineConnection">インターネット接続の有無を特定する</h2>
+
 <p>端末がインターネットに接続されていない場合は、インターネット リソースに基づく更新をスケジューリングする必要性はありません。次のスニペットは、{@link android.net.ConnectivityManager} を使用してアクティブなネットワークを問い合わせて、インターネットに接続しているかどうかを特定する方法を示すものです。</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">インターネット接続のタイプを特定する</h2> 
+<h2 id="DetermineType">インターネット接続のタイプを特定する</h2>
 
 <p>現在使用可能なインターネット接続のタイプも調べることができます。</p>
 
@@ -59,7 +59,7 @@
 <p>更新を停止した場合は、接続状態の変化を受信することが重要です。インターネット接続が確立されたら更新を再開できるようにするためです。</p>
 
 
-<h2 id="MonitorChanges">接続状態の変化を監視する</h2> 
+<h2 id="MonitorChanges">接続状態の変化を監視する</h2>
 
 <p>接続状態の詳細が変化すると、{@link android.net.ConnectivityManager} によって {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}({@code "android.net.conn.CONNECTIVITY_CHANGE"})アクションがブロードキャストされます。アプリのマニフェスト内でブロードキャスト レシーバを登録し、このような変化を検出することで、それに応じてアプリのバックグラウンド更新を再開(または停止)することができます。</p>
 
diff --git a/docs/html-intl/intl/ja/training/monitoring-device-state/docking-monitoring.jd b/docs/html-intl/intl/ja/training/monitoring-device-state/docking-monitoring.jd
index 9c0e054..7d227df 100644
--- a/docs/html-intl/intl/ja/training/monitoring-device-state/docking-monitoring.jd
+++ b/docs/html-intl/intl/ja/training/monitoring-device-state/docking-monitoring.jd
@@ -10,7 +10,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>このレッスンの内容</h2>
@@ -26,7 +26,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">インテントとインテント フィルタ</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Android 搭載端末を装着できるホルダーの種類には、さまざまなものがあります。たとえば、車載用や家庭用のホルダーがあり、デジタルかアナログかという区別もあります。ホルダー装着状態は一般的に、充電状態と密接にリンクしています。多くのホルダーは、装着されている端末に電力を供給しているからです。</p>
@@ -36,8 +36,8 @@
 <p>ホルダー装着状態も sticky {@link android.content.Intent} としてブロードキャストされるので、端末がホルダーに装着されているかどうかと、装着されている場合のホルダーのタイプを問い合わせることができます。</p>
 
 
-<h2 id="CurrentDockState">現在のホルダー装着状態を特定する</h2> 
- 
+<h2 id="CurrentDockState">現在のホルダー装着状態を特定する</h2>
+
 <p>ホルダー装着状態の詳細は、{@link android.content.Intent#ACTION_DOCK_EVENT} アクションの sticky ブロードキャストにエクストラとして含まれています。これは sticky であるため、{@link android.content.BroadcastReceiver} を登録する必要はありません。次のコード例に示すように、{@link android.content.Context#registerReceiver registerReceiver()} を呼び出し、{@code null} をブロードキャスト レシーバとして渡します。</p>
 
 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
@@ -49,9 +49,9 @@
 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
 
 
-<h2 id="DockType">現在のホルダーのタイプを特定する</h2> 
+<h2 id="DockType">現在のホルダーのタイプを特定する</h2>
 
-<p>端末がホルダーに装着されている場合のホルダーのタイプは、次の 4 つのいずれかです。 
+<p>端末がホルダーに装着されている場合のホルダーのタイプは、次の 4 つのいずれかです。
 <ul><li>カー</li>
 <li>卓上</li>
 <li>ローエンド(アナログ)卓上</li>
@@ -60,12 +60,12 @@
 <p>最後の 2 つは、Android API レベル 11 で追加されたものです。したがって、ホルダーのタイプだけがわかればよく、デジタルとアナログの区別は問わないという場合は、次のように 3 つすべてについて調べるとよいでしょう。</p>
 
 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
+boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
 
 
-<h2 id="MonitorDockState">ホルダーの装着状態またはタイプの変化を監視する</h2> 
+<h2 id="MonitorDockState">ホルダーの装着状態またはタイプの変化を監視する</h2>
 
 <p>端末がホルダーに装着されたり、装着が解除されたりするたびに、{@link android.content.Intent#ACTION_DOCK_EVENT} アクションがブロードキャストされます。端末のホルダー装着状態の変化を監視するには、次のコード例に示すように、アプリのマニフェスト内でブロードキャスト レシーバを登録します。</p>
 
diff --git a/docs/html-intl/intl/ja/training/monitoring-device-state/index.jd b/docs/html-intl/intl/ja/training/monitoring-device-state/index.jd
index 07897b1..9a983e9 100644
--- a/docs/html-intl/intl/ja/training/monitoring-device-state/index.jd
+++ b/docs/html-intl/intl/ja/training/monitoring-device-state/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>依存関係と前提条件</h2> 
+<h2>依存関係と前提条件</h2>
 <ul>
   <li>Android 2.0(API レベル 5)以上</li>
   <li>「<a href="{@docRoot}guide/components/intents-filters.html">インテントとインテント フィルタ</a>」を読み終えていること</li>
@@ -21,19 +21,19 @@
   <li><a href="{@docRoot}guide/components/services.html">サービス</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>アプリを開発するときは、ホスト端末の電池消費量への影響を抑えるよう心がける必要があります。このクラスを修了すると、開発するアプリの中でホスト端末の状態を監視し、それに基づいて機能や動作を変更することができるようになります。</p>
 
 <p>接続が失われたときはバックグラウンド サービスの更新を停止する、電池残量が低下したときは更新の頻度を下げるといった対策を講じることにより、ユーザー エクスペリエンスを損なうことなく、アプリが電池消費量に及ぼす影響を最小限に抑えることができます。</p>
 
-<h2>レッスン</h2> 
- 
+<h2>レッスン</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="battery-monitoring.html">電池残量と充電状態の監視</a></b></dt>
   <dd>アプリの更新頻度を変更するために現在の電池残量や充電状態の変化を特定および監視する方法を学習します。</dd>
@@ -46,4 +46,4 @@
 
   <dt><b><a href="manifest-receivers.html">オンデマンドでのブロードキャスト レシーバ操作</a></b></dt>
   <dd>マニフェスト内で宣言したブロードキャスト レシーバのオンとオフを実行時に切り替えます。端末の状態に応じて、不要なレシーバを無効にすることができます。効率を上げるために、状態変化レシーバのオンとオフを切り替える方法や、端末が特定の状態になるまでアクションを延期する方法を学習します。</dd>
-</dl> 
\ No newline at end of file
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/training/monitoring-device-state/manifest-receivers.jd b/docs/html-intl/intl/ja/training/monitoring-device-state/manifest-receivers.jd
index 7635d9f..eff1221 100644
--- a/docs/html-intl/intl/ja/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html-intl/intl/ja/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>このレッスンの内容</h2>
@@ -23,7 +23,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">インテントとインテント フィルタ</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>端末の状態変化を監視する最も単純な方法は、監視対象とする状態ごとに {@link android.content.BroadcastReceiver} を作成し、それぞれをアプリのマニフェスト内で登録するというものです。これらの各レシーバ内で、端末の現在の状態に基づいて反復アラームのスケジュールを再設定します。</p>
@@ -31,10 +31,10 @@
 <p>この方法のデメリットは、これらのレシーバのいずれかがトリガされるたびに端末がスリープから復帰することですが、このことは必要以上に頻繁に発生する可能性があります。</p>
 
 <p>これよりも良い方法は、実行時にブロードキャスト レシーバをオンまたはオフにするというものです。このようにすれば、マニフェスト内で宣言したレシーバを受動的アラームとして使用できます。つまり、このアラームは、必要なときにだけシステム イベントによって呼び出されます。</p>
- 
 
-<h2 id="ToggleReceivers">効率を上げるために状態変化レシーバのオンとオフを切り替える </h2> 
- 
+
+<h2 id="ToggleReceivers">効率を上げるために状態変化レシーバのオンとオフを切り替える </h2>
+
 <p>{@link android.content.pm.PackageManager} を使用すると、マニフェスト内で定義されているコンポーネントの有効化状態を切り替えることができます。このコンポーネントにはブロードキャスト レシーバも該当するので、次に示すようにオンとオフを切り替えることができます。</p>
 
 <pre>ComponentName receiver = new ComponentName(context, myReceiver.class);
diff --git a/docs/html-intl/intl/ja/training/multiscreen/adaptui.jd b/docs/html-intl/intl/ja/training/multiscreen/adaptui.jd
index 8b1e6ac..c738d39 100644
--- a/docs/html-intl/intl/ja/training/multiscreen/adaptui.jd
+++ b/docs/html-intl/intl/ja/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>このレッスンでの学習内容</h2>
 
 <ol>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">タブレットと携帯端末のサポート</a></li>
 </ul>
- 
+
 <h2>試してみる</h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">サンプル アプリのダウンロード</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>アプリが現在表示しているレイアウトによって、UI フローが異なる可能性があります。たとえば、アプリがデュアルペイン モードであれば、左ペインのアイテムをクリックすると、単に右ペインにコンテンツが表示されるだけですが、シングルペイン モードであれば、コンテンツは(別のアクティビティ内の)コンテンツ専用のペインに表示される必要があります。</p>
 
@@ -56,7 +56,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -116,7 +116,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -168,7 +168,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html-intl/intl/ja/training/multiscreen/index.jd b/docs/html-intl/intl/ja/training/multiscreen/index.jd
index 9e01584..f1ee24a 100644
--- a/docs/html-intl/intl/ja/training/multiscreen/index.jd
+++ b/docs/html-intl/intl/ja/training/multiscreen/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>必要な知識と前提条件</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>必要な知識と前提条件</h2>
 
 <ul>
   <li>Android 1.6 以上(サンプル アプリを使用するには 2.1 以上)</li>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">複数画面のサポート</a></li>
 </ul>
- 
-<h2>試してみる</h2> 
- 
-<div class="download-box"> 
+
+<h2>試してみる</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">サンプル アプリのダウンロード</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>Android は、小さな携帯電話から大きなテレビまで、画面サイズも種類もさまざまなデバイスに搭載できます。そのため、できる限り多くのユーザーが使用できるように、すべての画面サイズに対応できるようアプリを設計することが重要になります。</p>
 
 <p>しかし、さまざまな種類のデバイスに対応できるだけでは十分ではありません。画面サイズによって、ユーザーが操作できることが決まってくるため、本当にユーザーを満足させてよい印象を持ってもらうためには、アプリが単に複数の画面をサポートするだけでは不十分です: 画面設定ごとにユーザー エクスペリエンスを最適化する必要があります。<em></em><em></em></p>
@@ -48,17 +48,17 @@
 
 <p class="note"><strong>注:</strong> このクラスと関連サンプルでは、<a
 href="{@docRoot}tools/support-library/index.html">サポート ライブラリ</a>を使用します。理由は、Android 3.0 未満のバージョンで <PH>{@link android.app.Fragment}</PH> API を使用するためです。このクラスのすべての API を使用するには、ライブラリをダウンロードして、アプリに追加する必要があります。</p>
- 
 
-<h2>レッスン</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">さまざまな画面サイズのサポート</a></b></dt> 
-    <dd>このレッスンでは、さまざまな画面サイズに適したレイアウトを(柔軟なビュー サイズ、 <PH>{@link android.widget.RelativeLayout}</PH>、画面サイズと画面の向きの修飾子、エイリアス フィルタ、ナインパッチ ビットマップを使用して)設計する方法について学習します。</dd> 
- 
-  <dt><b><a href="screendensities.html">さまざまな画面密度のサポート</a></b></dt> 
-    <dd>このレッスンでは、(密度非依存ピクセルを使用し、各密度に適したビットマップを提供して)ピクセル密度が異なる画面をサポートする方法について学習します。</dd> 
- 
-  <dt><b><a href="adaptui.html">順応性のある UI フローの実装</a></b></dt> 
-    <dd>このレッスンでは、いくつかの画面サイズ/密度の組み合わせに適した方法(実行時にアクティブなレイアウトを検出する方法、現在のレイアウトに合わせて応答する方法、画面設定の変更を処理する方法)で UI を実装する方法について学習します。</dd> 
-</dl> 
+
+<h2>レッスン</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">さまざまな画面サイズのサポート</a></b></dt>
+    <dd>このレッスンでは、さまざまな画面サイズに適したレイアウトを(柔軟なビュー サイズ、 <PH>{@link android.widget.RelativeLayout}</PH>、画面サイズと画面の向きの修飾子、エイリアス フィルタ、ナインパッチ ビットマップを使用して)設計する方法について学習します。</dd>
+
+  <dt><b><a href="screendensities.html">さまざまな画面密度のサポート</a></b></dt>
+    <dd>このレッスンでは、(密度非依存ピクセルを使用し、各密度に適したビットマップを提供して)ピクセル密度が異なる画面をサポートする方法について学習します。</dd>
+
+  <dt><b><a href="adaptui.html">順応性のある UI フローの実装</a></b></dt>
+    <dd>このレッスンでは、いくつかの画面サイズ/密度の組み合わせに適した方法(実行時にアクティブなレイアウトを検出する方法、現在のレイアウトに合わせて応答する方法、画面設定の変更を処理する方法)で UI を実装する方法について学習します。</dd>
+</dl>
diff --git a/docs/html-intl/intl/ja/training/multiscreen/screendensities.jd b/docs/html-intl/intl/ja/training/multiscreen/screendensities.jd
index 3482d5c..6f9136c 100644
--- a/docs/html-intl/intl/ja/training/multiscreen/screendensities.jd
+++ b/docs/html-intl/intl/ja/training/multiscreen/screendensities.jd
@@ -12,8 +12,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>このレッスンでの学習内容</h2>
 <ol>
@@ -29,15 +29,15 @@
 </ul>
 
 <h2>試してみる</h2>
- 
-<div class="download-box"> 
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">サンプル アプリのダウンロード</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>このレッスンでは、異なるリソースを生成し、かつ解像度非依存単位を使用して、異なる画面密度をサポートする方法について学習します。</p>
 
@@ -48,8 +48,8 @@
 <p>たとえば、2 つのビューの間にスペースを挿入する場合は、<code>px</code> ではなくて <code>dp</code> を使用します:</p>
 
 <pre>
-&lt;Button android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+&lt;Button android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:text="&#64;string/clickme"
     android:layout_marginTop="20dp" /&gt;
 </pre>
@@ -57,8 +57,8 @@
 <p>テキスト サイズを指定する場合は、常に <code>sp</code> を使用します:</p>
 
 <pre>
-&lt;TextView android:layout_width="match_parent" 
-    android:layout_height="wrap_content" 
+&lt;TextView android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:textSize="20sp" /&gt;
 </pre>
 
diff --git a/docs/html-intl/intl/ja/training/multiscreen/screensizes.jd b/docs/html-intl/intl/ja/training/multiscreen/screensizes.jd
index 3655a33..49c1793 100644
--- a/docs/html-intl/intl/ja/training/multiscreen/screensizes.jd
+++ b/docs/html-intl/intl/ja/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>このレッスンでの学習内容</h2>
 <ol>
@@ -30,26 +30,26 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">複数画面のサポート</a></li>
 </ul>
 
-<h2>試してみる</h2> 
- 
-<div class="download-box"> 
+<h2>試してみる</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">サンプル アプリのダウンロード</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>このレッスンでは、異なる画面サイズを以下のような方法でサポートする方法について学習します:</p>
-<ul> 
-  <li>画面に収まるようにレイアウト サイズを適切に変更する</li> 
-  <li>画面設定に基づいて適切な UI レイアウトを表示する</li> 
+<ul>
+  <li>画面に収まるようにレイアウト サイズを適切に変更する</li>
+  <li>画面設定に基づいて適切な UI レイアウトを表示する</li>
   <li>適切な画面に適切なレイアウトを適用する</li>
-  <li>適切にサイズ調整したビットマップを表示する</li> 
-</ul> 
+  <li>適切にサイズ調整したビットマップを表示する</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">「wrap_content」と「match_parent」を使用する</h2> 
+<h2 id="TaskUseWrapMatchPar">「wrap_content」と「match_parent」を使用する</h2>
 
 <p>レイアウトをさまざまな画面サイズに柔軟に対応させるには、一部のビュー コンポーネントの幅と高さに <code>"wrap_content"</code> と <code>"match_parent"</code> を使用する必要があります。<code>"wrap_content"</code> を使用すると、ビューの幅や高さがそのビュー内にコンテンツが収まるのに必要な最小サイズに設定されます。一方、<code>"match_parent"</code>(API レベル 8 より前の名称は <code>"fill_parent"</code>)を使用すると、コンポーネントがその親ビューのサイズに一致するまで拡大されます。</p>
 
@@ -65,7 +65,7 @@
 <p class="img-caption"><strong>図 1.</strong> News Reader サンプル アプリの縦表示(左)と横表示(右)</p>
 
 
-<h2 id="TaskUseRelativeLayout">RelativeLayout を使用する</h2> 
+<h2 id="TaskUseRelativeLayout">RelativeLayout を使用する</h2>
 
 <p>ネストされた <PH>{@link android.widget.LinearLayout} インスタンスや、</PH> <code>"wrap_content"</code> と <code>"match_parent"</code> のサイズの組み合わせを使用すると、かなり複雑なレイアウトを作成できます。しかし、 <PH>{@link android.widget.LinearLayout}</PH> では、子ビューの空間的な位置関係を正確に制御することはできません。 <PH>{@link android.widget.LinearLayout} のビューは、</PH> 単に一列に並ぶだけです。子ビューに対して直線以外のさまざまな配置を実現する必要がある場合は、 <PH>{@link android.widget.RelativeLayout}</PH>を使用することでうまくいくことがよくあります。たとえば、1 つの子ビューを画面の左側に配置し、もう 1 つの子ビューを右側に配置できます。</p>
 
@@ -115,8 +115,8 @@
 
 <p>コンポーネントのサイズが変更されても、 <PH>{@link android.widget.RelativeLayout.LayoutParams}</PH>で指定されたとおりに空間的な位置関係が維持されていることがわかります。</p>
 
- 
-<h2 id="TaskUseSizeQuali">サイズ修飾子を使用する</h2> 
+
+<h2 id="TaskUseSizeQuali">サイズ修飾子を使用する</h2>
 
 <p>柔軟なレイアウトや相対的なレイアウトから得られる恩恵は、前のセクションで説明したことくらいです。これらのレイアウトはコンポーネントの内部や周囲のスペースを引き延ばすことでさまざまな画面に対応しますが、それぞれの画面サイズに合った最高のユーザー エクスペリエンスを実現していない可能性があります。したがって、アプリでは、柔軟なレイアウトの実装だけではなく、さまざまな画面設定に合わせた複数の代替レイアウトも必要になります。これは、<a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">設定修飾子</a>を使用することで実現可能です。設定修飾子により、ランタイムが現在のデバイスの設定に基づいて適切なリソース(画面サイズ別のレイアウト デザインなど)を自動的に選択できます。</p>
 
@@ -158,7 +158,7 @@
 <p>ただし、Android 3.2 未満のデバイスではこの修飾子は機能しません。これは <code>sw600dp</code> をサイズ修飾子として認識できないためです。したがって、引き続き <code>large</code> 修飾子も使用する必要があります。そこで、<code>res/layout-sw600dp/main.xml</code> と同じ内容の <code>res/layout-large/main.xml</code> という名前のファイルも必要になります。次のセクションでは、このようにレイアウト ファイルの重複を避けるためのテクニックについて学習します。</p>
 
 
-<h2 id="TaskUseAliasFilters">レイアウト エイリアスを使用する</h2> 
+<h2 id="TaskUseAliasFilters">レイアウト エイリアスを使用する</h2>
 
 <p>最小幅修飾子は、Android 3.2 以上でしか利用できません。したがって、旧バージョンとの互換性を維持するために、あいまいなサイズ分類(small、normal、large、xlarge)も併用することが必要です。たとえば、携帯端末ではシングルペイン UI、7 インチ タブレットやテレビなどの大きなデバイスではマルチペイン UI を表示するよう UI を設計する場合、以下のようなファイルが必要になります:</p>
 
@@ -202,7 +202,7 @@
 <PH>Android 3.2 未満のタブレット/テレビは {@code large} に一致し、</PH>Android 3.2 以上のタブレット/テレビは <code>sw600dp</code> に一致します)タブレット/テレビに適用されます。</p>
 
 
-<h2 id="TaskUseOriQuali">画面の向きの修飾子を使用する</h2> 
+<h2 id="TaskUseOriQuali">画面の向きの修飾子を使用する</h2>
 
 <p>横表示と縦表示が両方とも正しく表示されるレイアウトもありますが、ほとんどのレイアウトは調整が必要になります。以下に、News Reader サンプル アプリの各画面のサイズと向きでレイアウトがどのように表示されるかを示します:</p>
 
diff --git a/docs/html-intl/intl/ko/about/versions/android-5.0.jd b/docs/html-intl/intl/ko/about/versions/android-5.0.jd
index 48d542e..b4217c6 100644
--- a/docs/html-intl/intl/ko/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/ko/about/versions/android-5.0.jd
@@ -381,7 +381,7 @@
 <h3 id="AudioPlayback">오디오 재생</h3>
 <p>이 출시 버전에는 다음과 같은 {@link android.media.AudioTrack}에 대한 변경사항이 포함되어 있습니다.</p>
 <ul>
-  <li>이제 앱에서 부동 소수점 형식({@link android.media.AudioFormat#ENCODING_PCM_FLOAT ENCODING_PCM_FLOAT})으로 오디오 데이터를 제공할 수 있습니다. 이를 통해 더 큰 음량비, 더 일관된 정밀도 및 더 큰 헤드룸이 가능해졌습니다. 부동 소수점 연산은 중간 과정 계산에 특히 유용합니다. 재생 엔드포인트는 오디오 데이터에 낮은 비트 심도로 정수 형식을 사용합니다 (Android 5.0에서 일부 내부 파이프라인은 아직 부동 소수점이 아님). 
+  <li>이제 앱에서 부동 소수점 형식({@link android.media.AudioFormat#ENCODING_PCM_FLOAT ENCODING_PCM_FLOAT})으로 오디오 데이터를 제공할 수 있습니다. 이를 통해 더 큰 음량비, 더 일관된 정밀도 및 더 큰 헤드룸이 가능해졌습니다. 부동 소수점 연산은 중간 과정 계산에 특히 유용합니다. 재생 엔드포인트는 오디오 데이터에 낮은 비트 심도로 정수 형식을 사용합니다 (Android 5.0에서 일부 내부 파이프라인은 아직 부동 소수점이 아님).
   <li>이제 앱에서 오디오 데이터를 {@link android.media.MediaCodec}에서 제공하는 것과 같은 형식인 {@link java.nio.ByteBuffer}로 제공할 수 있습니다.
   <li>{@link android.media.AudioTrack#WRITE_NON_BLOCKING WRITE_NON_BLOCKING} 옵션은 일부 앱에서 버퍼링 및 멀티스레딩을 단순화할 수 있습니다.
 </ul>
@@ -429,7 +429,7 @@
 <p>시스템에서 적절한 네트워크를 감지하면 감지한 네트워크에 연결하고 {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()} 콜백을 호출합니다. 콜백의 {@link android.net.Network} 개체를 사용하여 네트워크에 대한 추가 정보를 가져오거나, 트래픽이 선택한 네트워크를 사용하도록 유도합니다.</p>
 
 <h3 id="BluetoothBroadcasting">저전력 블루투스</h3>
-<p>Android 4.3에서는 <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">저전력 블루투스</a>(<em>블루투스 LE</em>)에 대한 플랫폼 지원이 도입되었습니다. Android 5.0에서는 Android 기기가 블루투스 LE <em>주변기기</em>로 작동할 수 있습니다. 앱에서 이 기능을 사용하여 주변 기기에 블루투스로 연결할 수 있음을 알릴 수 있습니다. 예를 들어 기기가 만보계나 건강 모니터링 기기로 작동하면서 다른 블루투스 LE 기기와 데이터를 통신할 수 있도록 하는 앱을 제작할 수 있습니다.</p> 
+<p>Android 4.3에서는 <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">저전력 블루투스</a>(<em>블루투스 LE</em>)에 대한 플랫폼 지원이 도입되었습니다. Android 5.0에서는 Android 기기가 블루투스 LE <em>주변기기</em>로 작동할 수 있습니다. 앱에서 이 기능을 사용하여 주변 기기에 블루투스로 연결할 수 있음을 알릴 수 있습니다. 예를 들어 기기가 만보계나 건강 모니터링 기기로 작동하면서 다른 블루투스 LE 기기와 데이터를 통신할 수 있도록 하는 앱을 제작할 수 있습니다.</p>
 <p>새 {@link android.bluetooth.le} API를 사용하면 앱에서 광고를 브로드캐스팅하고, 응답을 스캔하며, 주변의 블루투스 LE 기기와 연결을 설정하도록 할 수 있습니다. 새 광고 및 스캔 기능을 사용하려면 매니페스트에 {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} 권한을 추가합니다. 사용자가 Play 스토어에서 앱을 업데이트하거나 다운로드할 때 사용자에게 앱에 권한을 부여할 것인지 묻는 메시지('블루투스 연결 정보: 주변의 블루투스 기기에 브로드캐스팅하거나 이러한 기기에 대한 정보 수집하는 등 앱에서 블루투스를 제어하도록 허용합니다.')가 표시됩니다.</p>
 
 <p>다른 앱에서 내 앱을 찾을 수 있도록 블루투스 LE 광고를 시작하려면 {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()}을 호출하고 이를 {@link android.bluetooth.le.AdvertiseCallback} 클래스 구현에 전달합니다. 콜백 개체는 광고 작업의 성공 또는 실패에 대한 보고서를 수신합니다.</p>
diff --git a/docs/html-intl/intl/ko/design/patterns/navigation.jd b/docs/html-intl/intl/ko/design/patterns/navigation.jd
index 5f335d5..91d1dcc 100644
--- a/docs/html-intl/intl/ko/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/ko/design/patterns/navigation.jd
@@ -152,7 +152,7 @@
 
 <h2 id="between-apps">앱 간 탐색</h2>
 
-<p>Android 시스템의 본질적인 강점 중 하나는 앱이 
+<p>Android 시스템의 본질적인 강점 중 하나는 앱이
 다른 앱을 실행할 수 있다는 점이며, 이로 인해 사용자는 한 앱에서 다른 앱으로 직접 이동할 수 있습니다. 예를 들어,
 사진을 캡처해야 하는 앱은 카메라 앱을 작동시킬 수 있으며, 카메라 앱은 사진을
 해당 앱으로 돌려줍니다. 이러한 기능은 개발자와 사용자 모두에게 매우 유용합니다.
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/about.jd b/docs/html-intl/intl/ko/distribute/googleplay/about.jd
index 57b5226..2968ed4 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-    <div id="qv-wrapper">           
+    <div id="qv-wrapper">
   <div id="qv">
   <h2>Google Play 정보</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/auto.jd b/docs/html-intl/intl/ko/distribute/googleplay/auto.jd
index 6536f1a..5b93b6b 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/auto.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/auto.jd
@@ -32,7 +32,7 @@
 
 <p>
   시작하려면 이 문서를 참조하여 Google Play를 통해 사용자에게 Auto 앱을 배포하는 방법을 배우십시오.
- 앱이 충족해야 하는 유용성, 품질 및 안전 관련 가이드라인에 대한 내용은 
+ 앱이 충족해야 하는 유용성, 품질 및 안전 관련 가이드라인에 대한 내용은
 <a href="{@docRoot}distribute/essentials/quality/auto.html">Auto 앱 품질</a>
 을 참조하십시오.
  앱이 준비되면 개발자 콘솔의 약관에 동의하고 검토용 APK를 업로드할 수 있습니다.
@@ -98,7 +98,7 @@
   Auto 앱은 잘 작동하고 차 안에서 멋있게 보이고 최고의 사용자 경험을 제공하도록 디자인해야 합니다.
    Google Play는 사용자가 Google Play에서 쉽게 검색할 수 있도록 선정된 고품질 Auto 앱을 소개합니다.
  다음과 같은 방법으로 참여하여 사용자에게 멋진 Android Auto 앱을 제공할 수 있습니다.
-  
+
 </p>
 
 <ul>
@@ -127,7 +127,7 @@
 
 <p>
   약관에 동의한 후에만 Auto 앱을 업로드할 수 있습니다. 다음은 Auto 앱을 지정하는 기준에 대한 설명입니다.
-  
+
 </p>
 
 <ul>
@@ -159,10 +159,10 @@
 
 <p>
   검토는 휴대폰이나 태블릿 등 Google Play 스토어의 다른 장치에서 앱의 사용 가능성을 결정합니다.
-  
+
   휴대폰/태블릿 구성요소 업데이트를 포함한 기존 앱이 있는 경우, Android Auto 구성요소가 검토를 통과해야 Google Play 스토어에서 업데이트된 앱을 사용할 수 있습니다.
 
-  
+
 </p>
 
 <p>
@@ -209,7 +209,7 @@
 <p>앱이 승인되지 않으면 개발자는 해결해야 할 문제에 대한 요약이 포함된 <strong>알림 이메일을 개발자 계정 주소</strong>로 받게 됩니다.
    필요한 조정을 거친 후에 새로운 앱 버전을 개발자 콘솔에 업로드할 수 있습니다.
 
-  
+
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/ko/distribute/googleplay/developer-console.jd
index b2dc6d5..fca59e8 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/developer-console.jd
@@ -4,8 +4,8 @@
 Xnonavpage=true
 
 @jd:body
-    
-    <div id="qv-wrapper">           
+
+    <div id="qv-wrapper">
   <div id="qv">
     <h2>게시 기능</h2>
     <ol>
@@ -420,7 +420,7 @@
   <li>가격을 책정합니다.
   </li>
 
-  <li>앱을 포함한 제품을 게시하거나, 사용하지 않는 제품을 회수합니다. 
+  <li>앱을 포함한 제품을 게시하거나, 사용하지 않는 제품을 회수합니다.
   </li>
 </ul>
 
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/ko/distribute/googleplay/families/faq.jd
index 92dbcf0..8bf330d 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>이 문서의 내용</h2>
@@ -141,7 +141,7 @@
  앱이 모든 프로그램 요구사항을 준수할 경우 게시 시간이 평소보다 오래 걸리지 않습니다. 하지만 Designed for Families 검토 중에 앱이 거부되면 게시가 지연될 수 있습니다.
 
 
- 
+
   </dd>
 
   <dt>
@@ -163,7 +163,7 @@
 
   <dt>
     앱을 게시한 후에 Designed for Families 프로그램 요구사항을 준수하지 않는 것으로 확인되면 어떻게 됩니까?
- 
+
   </dt>
 
   <dd>
@@ -185,7 +185,7 @@
 
   <dt>
     Designed for Families 프로그램에서 승인된 앱을 업데이트하면 어떻게 됩니까?
-    
+
   </dt>
 
   <dd>
@@ -265,7 +265,7 @@
 
  인앱 광고를 포함한 전반적인 사용자 경험이 <a href="https://support.google.com/googleplay/android-developer/answer/6184502">Designed for Families 프로그램 요구사항</a>을 충족하도록 보장하는 것은 개발자의 책임입니다.
 
- 
+
   </dd>
 
   <dt>
@@ -297,7 +297,7 @@
   </dt>
 
   <dd>
-    당사는 부모와 보호자가 Google Play 스토어에서 신뢰할 수 있는 브랜드와 개발자가 제작한 우수한 아동 및 가족용 앱을 찾을 수 있도록 하는 것을 목표로 합니다. 
+    당사는 부모와 보호자가 Google Play 스토어에서 신뢰할 수 있는 브랜드와 개발자가 제작한 우수한 아동 및 가족용 앱을 찾을 수 있도록 하는 것을 목표로 합니다.
 
 
   </dd>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/families/start.jd b/docs/html-intl/intl/ko/distribute/googleplay/families/start.jd
index 06f76b5..4a93b564 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/families/start.jd
@@ -78,7 +78,7 @@
 
 <p class="note">
   <strong>참고:</strong> Designed for Families 프로그램에 게시된 앱은 Google Play의 모든 사용자도 사용할 수 있습니다.
- 
+
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/guide.jd b/docs/html-intl/intl/ko/distribute/googleplay/guide.jd
index e8d25ff..2a622b7 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/guide.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/guide.jd
@@ -34,7 +34,7 @@
 
   <li>
     <strong>사용자 확보 및 유지</strong> &mdash; 앱을 설치한 사람을 실제 사용자로 확보하고 해당 사용자를 효율적으로 유지하는 방법을 안내합니다.
-    
+
   </li>
 
   <li>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/ko/distribute/googleplay/quality/core.jd
index c914aab..cec3dc6 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/quality/core.jd
@@ -12,7 +12,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>테스트</h2>
   <ol>
     <li><a href="#test-environment">테스트 환경 설정</a></li>
@@ -24,7 +24,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">태블릿 앱 품질</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">앱 최적화</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -59,7 +59,7 @@
 
 
 
-  
+
 </p>
 
 <div class="headerLine">
@@ -84,7 +84,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       설명
@@ -166,7 +166,7 @@
   </td>
   <td>
     어디서든지 홈 버튼을 누르면 장치의 홈 화면으로 이동합니다.
-    
+
   </td>
   <td>
     <a href="#core">CR-1</a>
@@ -292,7 +292,7 @@
     앱이 핵심 기능과 관련되지 않은 경우 사용자가 비용을 지불할 수 있는 서비스(예: 전화 걸기 또는 SMS) 또는 민감한 데이터(예: 연락처 또는 시스템 로그)에 대한 액세스 권한을 요청하지 않습니다.
 
 
-    
+
     </p>
   </td>
   </tr>
@@ -594,7 +594,7 @@
   </td>
   <td>
     정상적인 앱 사용 및 로드 시 음악 및 동영상 재생이 매끄럽고 잔금, 버벅거림 또는 기타 아티팩트가 없습니다.
- 
+
   </td>
   <td>
     <a href="#core">CR-all</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/ko/distribute/googleplay/quality/tablets.jd
index 6cf38c3..23ddbcb 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/quality/tablets.jd
@@ -56,7 +56,7 @@
 
 <p>뛰어난 태블릿 앱 경험을 제공하는 첫 번째 단계는 앱이 대상으로 삼은 모든 장치 및 폼 팩터에 대한 <em>핵심 앱 품질 기준</em>을 충족하는지 확인하는 것입니다.
 
- 자세한 내용은 <a href="{@docRoot}distribute/essentials/quality/core.html">핵심 앱 품질 가이드라인</a>을 참조하십시오. 
+ 자세한 내용은 <a href="{@docRoot}distribute/essentials/quality/core.html">핵심 앱 품질 가이드라인</a>을 참조하십시오.
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/quality/wear.jd b/docs/html-intl/intl/ko/distribute/googleplay/quality/wear.jd
index 7ab9367..e35e566 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/quality/wear.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/quality/wear.jd
@@ -331,7 +331,7 @@
   </td>
   <td>
     <p style="margin-bottom:.5em;">
-      앱이 필요한 경우 확인 애니메이션을 표시합니다. 
+      앱이 필요한 경우 확인 애니메이션을 표시합니다.
       (<a href="{@docRoot}design/wear/patterns.html#Countdown">방법 알아보기</a>)
     </p>
   </td>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/start.jd b/docs/html-intl/intl/ko/distribute/googleplay/start.jd
index f5dd1b3..495df80 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/start.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/start.jd
@@ -75,7 +75,7 @@
   <li>해당 국가 또는 지역의 <strong>개발자 배포 계약</strong>을 읽고 동의합니다.
  Google Play에 게시하는 앱 및 스토어 목록은 개발자 프로그램 정책 및 미국 수출 법규를 준수해야 합니다.
 
-  
+
   </li>
 
   <li>Google Wallet을 사용하여 <strong>등록 수수료로 미화 25달러</strong>를 지불합니다. Google Wallet 계정이 없는 경우 프로세스 진행 중에 계정을 설정할 수 있습니다.
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/tv.jd b/docs/html-intl/intl/ko/distribute/googleplay/tv.jd
index 58f4c2e..3efa93b 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/tv.jd
@@ -261,7 +261,7 @@
 
  필요한 조정을 거친 후에 새로운 앱 버전을 개발자 콘솔에 업로드할 수 있습니다.
 
- 
+
 </p>
 
 <p>
@@ -282,7 +282,7 @@
 
   <li>
     <em>승인됨</em> — 앱이 검토 후에 승인되었습니다. Android TV 사용자가 앱을 바로 사용할 수 있습니다.
- 
+
   </li>
 
   <li>
diff --git a/docs/html-intl/intl/ko/distribute/googleplay/wear.jd b/docs/html-intl/intl/ko/distribute/googleplay/wear.jd
index 864f668..1f916c2 100644
--- a/docs/html-intl/intl/ko/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/ko/distribute/googleplay/wear.jd
@@ -121,7 +121,7 @@
   Wear 앱은 잘 작동하고 Android Wear에서 멋있게 보이고 최고의 사용자 경험을 제공하도록 디자인해야 합니다.
    Google Play는 사용자가 쉽게 검색할 수 있도록 선정된 고품질 Wear 앱을 소개합니다.
  다음과 같은 방법으로 참여하여 사용자에게 멋진 Android Wear 앱을 제공할 수 있습니다.
- 
+
 </p>
 
 <ul>
diff --git a/docs/html-intl/intl/ko/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/ko/distribute/tools/launch-checklist.jd
index a8a2dcd..623c129 100644
--- a/docs/html-intl/intl/ko/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/ko/distribute/tools/launch-checklist.jd
@@ -197,7 +197,7 @@
 <p>
   Android 장치에서 Android 사용자는 검색에 사용할 완성도를 설정할 수 있습니다.
  Google Play는 설정에 따라 앱을 필터링하므로 선택한 콘텐츠 등급은 사용자에게 앱을 배포하는 데 영향을 줄 수 있습니다.
- 앱 바이너리를 변경할 필요 없이 개발자 콘솔에서 앱의 콘텐츠 등급을 할당(또는 변경)할 수 있습니다. 
+ 앱 바이너리를 변경할 필요 없이 개발자 콘솔에서 앱의 콘텐츠 등급을 할당(또는 변경)할 수 있습니다.
 
 
 </p>
@@ -764,7 +764,7 @@
 
 <p>
   개발자 콘솔에서 앱의 대상 지역을 설정한 후에 지원하는 모든 언어에 대해 현지화된 스토어 목록, 홍보 그래픽 등을 추가하십시오.
- 
+
 
 </p>
 
diff --git a/docs/html-intl/intl/ko/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/ko/distribute/tools/localization-checklist.jd
index cf46481..4cc9735 100644
--- a/docs/html-intl/intl/ko/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/ko/distribute/tools/localization-checklist.jd
@@ -187,7 +187,7 @@
 
 
 
-  
+
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ko/guide/components/activities.jd b/docs/html-intl/intl/ko/guide/components/activities.jd
index 001982f6..255a111 100644
--- a/docs/html-intl/intl/ko/guide/components/activities.jd
+++ b/docs/html-intl/intl/ko/guide/components/activities.jd
@@ -44,31 +44,31 @@
 
 
 
-<p>{@link android.app.Activity}는 일종의 애플리케이션 구성 요소로서, 
-사용자와 상호작용할 수 있는 화면을 제공하여 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기 등의 일을 할 수 
-있습니다. 액티비티마다 창이 하나씩 주어져 이곳에 사용자 인터페이스를 끌어올 수 있습니다. 이 창은 
-일반적으로 화면을 가득 채우지만, 작은 창으로 만들어 다른 창 위에 띄울 수도 
+<p>{@link android.app.Activity}는 일종의 애플리케이션 구성 요소로서,
+사용자와 상호작용할 수 있는 화면을 제공하여 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기 등의 일을 할 수
+있습니다. 액티비티마다 창이 하나씩 주어져 이곳에 사용자 인터페이스를 끌어올 수 있습니다. 이 창은
+일반적으로 화면을 가득 채우지만, 작은 창으로 만들어 다른 창 위에 띄울 수도
 있습니다.</p>
 
-<p> 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 
-구성됩니다. 통상 한 애플리케이션 내에서 하나의 액티비티가 "주요" 액티비티로 지정되며, 
-사용자가 이 애플리케이션을 처음 실행할 때 이 액티비티가 사용자에게 표시됩니다. 그런 후 
+<p> 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로
+구성됩니다. 통상 한 애플리케이션 내에서 하나의 액티비티가 "주요" 액티비티로 지정되며,
+사용자가 이 애플리케이션을 처음 실행할 때 이 액티비티가 사용자에게 표시됩니다. 그런 후
 각각의 액티비티는 여러 가지 작업을 수행하기 위해 또 다른 액티비티를 시작할 수 있습니다. 새로운
 액티비티가 시작될 때마다 이전 액티비티는 중단되지만 시스템은 해당 액티비티를
-스택("백 스택")에 보존합니다. 새로운 액티비티가 시작되면, 이것이 백 스택 위로 밀려와 사용자의 
-시선을 끕니다. 백 스택은 기본적인 "후입선출" 방식을 지키므로, 
-사용자가 현재 액티비티를 끝내고 <em>뒤로</em> 버튼을 누르면 해당 액티비티가 
+스택("백 스택")에 보존합니다. 새로운 액티비티가 시작되면, 이것이 백 스택 위로 밀려와 사용자의
+시선을 끕니다. 백 스택은 기본적인 "후입선출" 방식을 지키므로,
+사용자가 현재 액티비티를 끝내고 <em>뒤로</em> 버튼을 누르면 해당 액티비티가
 스택에서 튀어나와(소멸되고) 이전 액티비티를 재개합니다 (백 스택은
 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업
 및 백 스택</a> 문서에서 상세하게 논의합니다).</p>
 
 <p>한 액티비티가 새로운 액티비티의 시작으로 인해 중단된 경우, 이 상태 변경은
-액티비티의 수명 주기 콜백 메서드를 통해 알려집니다. 
+액티비티의 수명 주기 콜백 메서드를 통해 알려집니다.
 액티비티가 시스템 액티비티를 생성, 중단, 재시작, 제거하는 등의 상태 변화로 인해 받을 수 있는 콜백 메서드는 여러 가지가 있습니다.
 
  각 콜백은 상태 변화에 알맞은 특정 작업을 수행할 기회를 제공합니다.
- 예를 들어 액티비티가 중단되면 네트워크 또는 데이터베이스 연결과 같이 
-큰 개체는 모두 해제해야 합니다. 액티비티가 재개되면, 필요한 리소스를 
+ 예를 들어 액티비티가 중단되면 네트워크 또는 데이터베이스 연결과 같이
+큰 개체는 모두 해제해야 합니다. 액티비티가 재개되면, 필요한 리소스를
 다시 획득하여 중단된 작업을 재개할 수 있습니다. 이러한 상태 전환은
 모두 액티비티 수명 주기의 일부입니다.</p>
 
@@ -83,52 +83,52 @@
 <p>액티비티를 생성하려면 {@link android.app.Activity}의 하위 클래스(또는 이의
 기존 하위 클래스)를 생성해야 합니다. 하위 클래스에서는
 액티비티 생성, 중단, 재개, 소멸 시기 등과 같은
-수명 주기의 다양한 상태 간 액티비티가 전환될 때 시스템이 호출하는 콜백 메서드를 구현해야 합니다. 가장 중요한 두 가지 콜백 메서드는 
+수명 주기의 다양한 상태 간 액티비티가 전환될 때 시스템이 호출하는 콜백 메서드를 구현해야 합니다. 가장 중요한 두 가지 콜백 메서드는
 다음과 같습니다.</p>
 
 <dl>
   <dt>{@link android.app.Activity#onCreate onCreate()}</dt>
   <dd>이 메서드는 반드시 구현해야 합니다. 시스템은 액티비티를 생성할 때 이것을 호출합니다.
- 구현하는 중에 액티비티의 필수 구성 요소를 초기화해야 
+ 구현하는 중에 액티비티의 필수 구성 요소를 초기화해야
 합니다.
     무엇보다도 중요한 점은, 바로 여기서 {@link android.app.Activity#setContentView
     setContentView()}를 호출해야 액티비티의 사용자 인터페이스 레이아웃을 정의할 수 있다는 점입니다.</dd>
   <dt>{@link android.app.Activity#onPause onPause()}</dt>
-  <dd>시스템이 이 메서드를 호출하는 것은 사용자가 액티비티를 떠난다는 
-첫 번째 신호입니다(다만 이것이 항상 액티비티가 소멸 중이라는 뜻은 아닙니다). 현재 사용자 세션을 넘어서 
-지속되어야 하는 변경 사항을 커밋하려면 보통 이곳에서 해아 합니다(사용자가 
+  <dd>시스템이 이 메서드를 호출하는 것은 사용자가 액티비티를 떠난다는
+첫 번째 신호입니다(다만 이것이 항상 액티비티가 소멸 중이라는 뜻은 아닙니다). 현재 사용자 세션을 넘어서
+지속되어야 하는 변경 사항을 커밋하려면 보통 이곳에서 해아 합니다(사용자가
 돌아오지 않을 수 있기 때문입니다).</dd>
 </dl>
 
-<p>여러 액티비티 사이에서 원활한 사용자 경험을 제공하고, 액티비티 중단이나 심지어 
-소멸을 초래할 수도 있는 예상치 못한 간섭을 처리하기 위해 사용해야 하는 다른 수명 주기 
-콜백 메서드도 여러 가지 있습니다. 모든 수명 주기 콜백 메서드는 나중에 
+<p>여러 액티비티 사이에서 원활한 사용자 경험을 제공하고, 액티비티 중단이나 심지어
+소멸을 초래할 수도 있는 예상치 못한 간섭을 처리하기 위해 사용해야 하는 다른 수명 주기
+콜백 메서드도 여러 가지 있습니다. 모든 수명 주기 콜백 메서드는 나중에
 <a href="#Lifecycle">액티비티 수명 주기 관리</a> 섹션에서 자세히 논의할 것입니다.</p>
 
 
 
 <h3 id="UI">사용자 인터페이스 구현하기</h3>
 
-<p> 한 액티비티에 대한 사용자 인터페이스는 보기 계층&mdash;즉, 
+<p> 한 액티비티에 대한 사용자 인터페이스는 보기 계층&mdash;즉,
 {@link android.view.View} 클래스에서 파생된 개체가 제공합니다.  각 보기는 액티비티 창 안의 특정한 직사각형 공간을
- 제어하며 사용자 상호 작용에 대응할 수 있습니다. 예를 들어, 어떤 보기는 사용자가 터치하면 
+ 제어하며 사용자 상호 작용에 대응할 수 있습니다. 예를 들어, 어떤 보기는 사용자가 터치하면
 작업을 시작하는 버튼일 수 있습니다.</p>
 
-<p>Android는 레이아웃을 디자인하고 정리하는 데 사용할 수 있도록 여러 가지 보기를 미리 만들어 
-제공합니다. "위젯"이란 화면에 시각적(이자 대화형) 요소를 제공하는 보기입니다. 예를 들어 
+<p>Android는 레이아웃을 디자인하고 정리하는 데 사용할 수 있도록 여러 가지 보기를 미리 만들어
+제공합니다. "위젯"이란 화면에 시각적(이자 대화형) 요소를 제공하는 보기입니다. 예를 들어
 버튼, 텍스트 필드, 확인란이나 그저 하나의 이미지일 수도 있습니다. "레이아웃"은 선형 레이아웃, 격자형 레이아웃, 상대적 레이아웃과 같이 하위 레이아웃에 대해 독특한 레이아웃 모델을 제공하는 {@link
 android.view.ViewGroup}에서 파생된
 보기입니다. 또한, {@link android.view.View}와
 {@link android.view.ViewGroup} 클래스(또는 기존 하위 클래스)의 아래로 내려가서 위젯과 레이아웃을 생성하고
 이를 액티비티 레이아웃에 적용할 수 있습니다.</p>
 
-<p>보기를 사용하여 레이아웃을 정의하는 가장 보편적인 방식은 애플리케이션 리소스에 저장된 
+<p>보기를 사용하여 레이아웃을 정의하는 가장 보편적인 방식은 애플리케이션 리소스에 저장된
 XML 레이아웃 파일을 사용하는 것입니다. 이렇게 하면 액티비티의 동작을 정의하는
-소스 코드와 별개로 사용자 인터페이스 디자인을 유지할 수 있습니다. 
+소스 코드와 별개로 사용자 인터페이스 디자인을 유지할 수 있습니다.
 {@link android.app.Activity#setContentView(int) setContentView()}로 액티비티의 UI로서 레이아웃을 설정하고,
 해당 레이아웃의 리소스 ID를 전달할 수 있습니다. 그러나 액티비티 코드에 새로운 {@link android.view.View}를 생성하고
  새로운 {@link
-android.view.View}를 {@link android.view.ViewGroup}에 삽입하여 보기 계층을 구축한 뒤 루트 
+android.view.View}를 {@link android.view.ViewGroup}에 삽입하여 보기 계층을 구축한 뒤 루트
 {@link android.view.ViewGroup}을 {@link android.app.Activity#setContentView(View)
 setContentView()}에 전달해도 해당 레이아웃을 사용할 수 있습니다.</p>
 
@@ -138,7 +138,7 @@
 
 <h3 id="Declaring">매니페스트에서 액티비티 선언하기</h3>
 
-<p>시스템에서 액티비티에 액세스할 수 있게 하려면 이를 매니페스트 파일에서 
+<p>시스템에서 액티비티에 액세스할 수 있게 하려면 이를 매니페스트 파일에서
 선언해야만 합니다. 액티비티를 선언하려면 매니페스트 파일을 열고 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 요소를
  <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
 요소의 하위 항목으로 추가합니다. 예:</p>
@@ -169,12 +169,12 @@
 
 <p><a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code
 &lt;activity&gt;}</a> 요소 또한 여러 가지 인텐트 필터를 지정할 수 있습니다. 다른 애플리케이션 구성 요소가 이를 활성화하는 방법을 선언하기 위해 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
-&lt;intent-filter&gt;}</a>를 사용하는 
+&lt;intent-filter&gt;}</a>를 사용하는
 것입니다.</p>
 
-<p>Android SDK 도구를 사용하여 새 애플리케이션을 생성하는 경우, 개발자를 위해 
-생성되어 있는 스텁 액티비티에 자동으로 인텐트 필터가 포함되어 있어 "주요" 동작에 
-응답하는 액티비티를 선언하며, 이는 "시작 관리자" 범주에 배치해야 합니다. 인텐트 필터는 다음과 
+<p>Android SDK 도구를 사용하여 새 애플리케이션을 생성하는 경우, 개발자를 위해
+생성되어 있는 스텁 액티비티에 자동으로 인텐트 필터가 포함되어 있어 "주요" 동작에
+응답하는 액티비티를 선언하며, 이는 "시작 관리자" 범주에 배치해야 합니다. 인텐트 필터는 다음과
 같은 형태를 띱니다.</p>
 
 <pre>
@@ -188,23 +188,23 @@
 
 <p><a href="{@docRoot}guide/topics/manifest/action-element.html">{@code
 &lt;action&gt;}</a> 요소는 이것이 애플리케이션으로 가는 "주요" 진입 지점이라는 것을 나타냅니다. <a href="{@docRoot}guide/topics/manifest/category-element.html">{@code
-&lt;category&gt;}</a> 요소는 이 액티비티가 시스템의 
+&lt;category&gt;}</a> 요소는 이 액티비티가 시스템의
 애플리케이션 시작 관리자에 목록으로 나열되어야 한다는 것을 나타냅니다(사용자가 이 액티비티를 시작할 수 있도록 해줌).</p>
 
-<p>애플리케이션이 자체 포함 방식이기를 원하고 다른 애플리케이션이 이 
-애플리케이션의 액티비티를 활성화하도록 허용하지 않고자 하면, 달리 인텐트 필터가 더 필요하지 않습니다. "주요" 동작과 "시작 관리자" 범주가 있는 
-액티비티는 하나뿐이어야 합니다(이전 예시 참조). 다른 애플리케이션에서 
-사용할 수 없게 하고자 하는 액티비티에는 인텐트 필터가 있으면 안 됩니다. 
+<p>애플리케이션이 자체 포함 방식이기를 원하고 다른 애플리케이션이 이
+애플리케이션의 액티비티를 활성화하도록 허용하지 않고자 하면, 달리 인텐트 필터가 더 필요하지 않습니다. "주요" 동작과 "시작 관리자" 범주가 있는
+액티비티는 하나뿐이어야 합니다(이전 예시 참조). 다른 애플리케이션에서
+사용할 수 없게 하고자 하는 액티비티에는 인텐트 필터가 있으면 안 됩니다.
 이러한 액티비티는 명시적인 인텐트를 사용해 직접 시작할 수 있습니다(이 내용은 다음 섹션에서 논의).</p>
 
-<p>그러나, 액티비티가 다른 애플리케이션(및 본인의 애플리케이션)에서 
-전달된 암시적 인텐트에 응답하도록 하려면 액티비티에 추가로 인텐트 필터를 정의해야만 
-합니다. 응답하게 하고자 하는 각 인텐트 유형별로 
+<p>그러나, 액티비티가 다른 애플리케이션(및 본인의 애플리케이션)에서
+전달된 암시적 인텐트에 응답하도록 하려면 액티비티에 추가로 인텐트 필터를 정의해야만
+합니다. 응답하게 하고자 하는 각 인텐트 유형별로
 <a href="{@docRoot}guide/topics/manifest/action-element.html">{@code
 &lt;action&gt;}</a> 요소를 포함하는 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 &lt;intent-filter&gt;}</a>를 하나씩 포함시켜야 하며, 선택 사항으로 <a href="{@docRoot}guide/topics/manifest/category-element.html">{@code
 &lt;category&gt;}</a> 요소 및/또는 <a href="{@docRoot}guide/topics/manifest/data-element.html">{@code
-&lt;data&gt;}</a> 요소를 포함시킬 수 있습니다. 이와 같은 요소는 액티비티가 응답할 수 있는 인텐트의 유형을 
+&lt;data&gt;}</a> 요소를 포함시킬 수 있습니다. 이와 같은 요소는 액티비티가 응답할 수 있는 인텐트의 유형을
 나타냅니다.</p>
 
 <p>액티비티가 인텐트에 응답하는 방식에 관한 자세한 정보는 <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
@@ -215,15 +215,15 @@
 <h2 id="StartingAnActivity">액티비티 시작하기</h2>
 
 <p>다른 액티비티를 시작하려면 {@link android.app.Activity#startActivity
- startActivity()}를 호출한 다음 이에 시작하고자 하는 액티비티를 설명하는 {@link android.content.Intent}를 
-전달하면 됩니다. 인텐트는 시작하고자 하는 액티비티를 정확히 나타내거나, 수행하고자 하는 작업의 
-유형을 설명하는 것입니다(시스템이 적절한 액티비티를 선택하며, 
+ startActivity()}를 호출한 다음 이에 시작하고자 하는 액티비티를 설명하는 {@link android.content.Intent}를
+전달하면 됩니다. 인텐트는 시작하고자 하는 액티비티를 정확히 나타내거나, 수행하고자 하는 작업의
+유형을 설명하는 것입니다(시스템이 적절한 액티비티를 선택하며,
 이는
  다른 애플리케이션에서 가져온 것일 수도 있습니다). 인텐트는 소량의 데이터를 운반하여 시작된 액티비티에서
  사용할 수 있습니다.</p>
 
 <p>본인의 애플리케이션 안에서 작업하는 경우에는, 알려진 액티비티를 시작하기만 하면 되는 경우가 잦습니다.
- 이렇게 하려면 시작하고자 하는 액티비티를 명시적으로 정의하는 인텐트를 클래스 이름을 
+ 이렇게 하려면 시작하고자 하는 액티비티를 명시적으로 정의하는 인텐트를 클래스 이름을
 사용하여 생성하면 됩니다. 예를 들어, 다음은 한 액티비티가 {@code
 SignInActivity}라는 이름의 다른 액티비티를 시작하는 방법입니다.</p>
 
@@ -232,15 +232,15 @@
 startActivity(intent);
 </pre>
 
-<p>그러나, 애플리케이션이 다른 몇 가지 동작을 수행하고자 할 수도 있습니다. 예를 들어 이메일 보내기, 문자 
-메시지 보내기 또는 상태 업데이트 등을 액티비티의 데이터를 사용하여 수행하는 것입니다. 이 경우, 본인의 애플리케이션에 
-그러한 동작을 수행할 자체 액티비티가 없을 수도 있습니다. 따라서 기기에 있는 다른 애플리케이션이 
-제공하는 액티비티를 대신 활용하여 동작을 수행하도록 할 수 있습니다. 바로 이 부분에서 
-인텐트의 진가가 발휘됩니다. 수행하고자 하는 동작을 설명하는 인텐트를 생성하면 
+<p>그러나, 애플리케이션이 다른 몇 가지 동작을 수행하고자 할 수도 있습니다. 예를 들어 이메일 보내기, 문자
+메시지 보내기 또는 상태 업데이트 등을 액티비티의 데이터를 사용하여 수행하는 것입니다. 이 경우, 본인의 애플리케이션에
+그러한 동작을 수행할 자체 액티비티가 없을 수도 있습니다. 따라서 기기에 있는 다른 애플리케이션이
+제공하는 액티비티를 대신 활용하여 동작을 수행하도록 할 수 있습니다. 바로 이 부분에서
+인텐트의 진가가 발휘됩니다. 수행하고자 하는 동작을 설명하는 인텐트를 생성하면
 시스템이 적절한 액티비티를
  다른 애플리케이션에서 시작하는 것입니다. 해당 인텐트를
  처리할 수 있는 액티비티가 여러 개 있는 경우, 사용자가 어느 것을 사용할지 선택합니다. 예를
- 들어 사용자가 이메일 메시지를 보낼 수 있게 하려면, 다음과 같은 인텐트를 
+ 들어 사용자가 이메일 메시지를 보낼 수 있게 하려면, 다음과 같은 인텐트를
 생성하면 됩니다.</p>
 
 <pre>
@@ -250,7 +250,7 @@
 </pre>
 
 <p>인텐트에 추가된 {@link android.content.Intent#EXTRA_EMAIL} 추가 사항은 이메일이 전송되어야 할 이메일 주소의
- 문자열 배열입니다. 이메일 애플리케이션이 이 인텐트에 
+ 문자열 배열입니다. 이메일 애플리케이션이 이 인텐트에
 응답하면, 애플리케이션은 추가 사항이 제공한 문자열 배열을 읽어낸 다음 이를 이메일 작성 양식의
  "수신" 필드에 배치합니다. 이 상황에서 이메일 애플리케이션의 액티비티가 시작되고 사용자가
  작업을 끝내면 본인의 액티비티가 재개되는 것입니다.</p>
@@ -263,14 +263,14 @@
 <p>때로는 시작한 액티비티에서 결과를 받고 싶을 수도 있습니다. 그런 경우,
  ({@link android.app.Activity#startActivity
  startActivity()} 대신) {@link android.app.Activity#startActivityForResult
- startActivityForResult()}를 호출해서 액티비티를 시작합니다. 그런 다음 후속 액티비티에서 결과를 
+ startActivityForResult()}를 호출해서 액티비티를 시작합니다. 그런 다음 후속 액티비티에서 결과를
 받으려면, {@link android.app.Activity#onActivityResult onActivityResult()} 콜백
  메서드를 구현합니다. 해당 후속 액티비티가 완료되면, 이것이 {@link
 android.content.Intent} 형식으로 결과를 {@link android.app.Activity#onActivityResult onActivityResult()}
  메서드에 반환합니다.</p>
 
-<p>예를 들어 사용자가 연락처 중에서 하나를 고를 수 있도록 하고 싶을 수 있습니다. 
-즉 여러분의 액티비티가 해당 연락처의 정보로 무언가 할 수 있도록 하는 것입니다. 그와 같은 인텐트를 생성하고 결과를 처리하려면 
+<p>예를 들어 사용자가 연락처 중에서 하나를 고를 수 있도록 하고 싶을 수 있습니다.
+즉 여러분의 액티비티가 해당 연락처의 정보로 무언가 할 수 있도록 하는 것입니다. 그와 같은 인텐트를 생성하고 결과를 처리하려면
 다음과 같이 하면 됩니다.</p>
 
 <pre>
@@ -299,7 +299,7 @@
 <p>이 예시는 액티비티 결과를 처리하기 위해 {@link
 android.app.Activity#onActivityResult onActivityResult()} 메서드에서 사용해야 할 기본 논리를
  나타낸 것입니다. 첫 번째 조건은 요청이 성공적인지 확인합니다. 요청에 성공했다면
-{@code resultCode}가 {@link android.app.Activity#RESULT_OK}가 됩니다. 또한, 이 결과가 응답하는 요청이 
+{@code resultCode}가 {@link android.app.Activity#RESULT_OK}가 됩니다. 또한, 이 결과가 응답하는 요청이
 알려져 있는지도 확인합니다. 이 경우에는 {@code requestCode}가
 {@link android.app.Activity#startActivityForResult
 startActivityForResult()}와 함께 전송된 두 번째 매개변수와 일치합니다. 여기서부터 코드가
@@ -317,58 +317,58 @@
 <h2 id="ShuttingDown">액티비티 종료하기</h2>
 
 <p>액티비티를 종료하려면 해당 액티비티의 {@link android.app.Activity#finish
-finish()} 메서드를 호출하면 됩니다. 
+finish()} 메서드를 호출하면 됩니다.
 {@link android.app.Activity#finishActivity finishActivity()}를 호출하여 이전에 시작한 별도의 액티비티를 종료할 수도 있습니다.</p>
 
-<p class="note"><strong>참고:</strong> 대부분의 경우, 이와 같은 메서드를 사용하여 액티비티를 명시적으로 
-종료해서는 안 됩니다. 다음 섹션에서 액티비티 수명 주기에 관해 논의한 바와 같이, 
-Android 시스템이 액티비티의 수명을 대신 관리해주므로 직접 액티비티를 종료하지 
-않아도 됩니다. 이와 같은 메서드를 호출하면 예상되는 사용자 
-환경에 부정적인 영향을 미칠 수 있으며, 따라서 사용자가 액티비티의 이 인스턴스에 돌아오는 것을 절대 바라지 않는 경우에만 
+<p class="note"><strong>참고:</strong> 대부분의 경우, 이와 같은 메서드를 사용하여 액티비티를 명시적으로
+종료해서는 안 됩니다. 다음 섹션에서 액티비티 수명 주기에 관해 논의한 바와 같이,
+Android 시스템이 액티비티의 수명을 대신 관리해주므로 직접 액티비티를 종료하지
+않아도 됩니다. 이와 같은 메서드를 호출하면 예상되는 사용자
+환경에 부정적인 영향을 미칠 수 있으며, 따라서 사용자가 액티비티의 이 인스턴스에 돌아오는 것을 절대 바라지 않는 경우에만
 사용해야 합니다.</p>
 
 
 <h2 id="Lifecycle">액티비티 수명 주기 관리하기</h2>
 
-<p>콜백 메서드를 구현하여 액티비티의 수명 주기를 관리하는 것은 
-강력하고 유연한 애플리케이션 개발에 
-대단히 중요한 역할을 합니다. 액티비티의 수명 주기는 다른 액티비티와의 관계, 
+<p>콜백 메서드를 구현하여 액티비티의 수명 주기를 관리하는 것은
+강력하고 유연한 애플리케이션 개발에
+대단히 중요한 역할을 합니다. 액티비티의 수명 주기는 다른 액티비티와의 관계,
 액티비티의 작업과 백 스택 등에 직접적으로 영향을 받습니다.</p>
 
 <p>액티비티는 기본적으로 세 가지 상태로 존재할 수 있습니다.</p>
 
 <dl>
   <dt><i>재개됨</i></dt>
-    <dd>액티비티가 화면 전경에 있으며 사용자의 초점이 맞춰져 있습니다 (이 상태를 때로는 
+    <dd>액티비티가 화면 전경에 있으며 사용자의 초점이 맞춰져 있습니다 (이 상태를 때로는
 "실행 중"이라고 일컫기도 합니다).</dd>
 
   <dt><i>일시정지됨</i></dt>
     <dd>다른 액티비티가 전경에 나와 있고 사용자의 시선을 집중시키고 있지만, 이 액티비티도 여전히 표시되어 있습니다. 다시 말해,
-다른 액티비티가 이 액티비티 위에 표시되어 있으며 해당 액티비티는 부분적으로 투명하거나 
+다른 액티비티가 이 액티비티 위에 표시되어 있으며 해당 액티비티는 부분적으로 투명하거나
 전체 화면을 덮지 않는 상태라는 뜻입니다. 일시정지된 액티비티는 완전히 살아있지만({@link android.app.Activity}
-개체가 메모리에 보관되어 있고, 모든 상태 및 구성원 정보를 유지하며, 
+개체가 메모리에 보관되어 있고, 모든 상태 및 구성원 정보를 유지하며,
 창 관리자에 붙어 있는 상태로 유지됨), 메모리가 극히 부족한 경우 시스템이 중단시킬 수 있습니다.</dd>
 
   <dt><i>정지됨</i></dt>
-    <dd>이 액티비티가 다른 액티비티에 완전히 가려진 상태입니다(액티비티가 이제 
+    <dd>이 액티비티가 다른 액티비티에 완전히 가려진 상태입니다(액티비티가 이제
 "배경"에 위치함). 중단된 액티비티도 여전히 살아 있기는 마찬가지입니다({@link android.app.Activity}
 개체가 메모리에 보관되어 있고, 모든 상태와 구성원 정보를 유지하시만 창 관리자에 붙어 있지 <em>않음</em>
-). 그러나, 이는 더 이상 사용자에게 표시되지 않으며 
+). 그러나, 이는 더 이상 사용자에게 표시되지 않으며
 다른 곳에 메모리가 필요하면 시스템이 종료시킬 수 있습니다.</dd>
 </dl>
 
-<p>액티비티가 일시정지 또는 중단된 상태이면, 시스템이 이를 메모리에서 삭제할 수 있습니다. 이러기 위해서는 
-종료를 요청하거나({@link android.app.Activity#finish finish()} 메서드를 호출) 단순히 이 액티비티의 프로세스를 중단시키면 
-됩니다.  액티비티가 다시 열릴 때에는(종료 또는 중단된 후에) 처음부터 다시 생성해야 
+<p>액티비티가 일시정지 또는 중단된 상태이면, 시스템이 이를 메모리에서 삭제할 수 있습니다. 이러기 위해서는
+종료를 요청하거나({@link android.app.Activity#finish finish()} 메서드를 호출) 단순히 이 액티비티의 프로세스를 중단시키면
+됩니다.  액티비티가 다시 열릴 때에는(종료 또는 중단된 후에) 처음부터 다시 생성해야
 합니다.</p>
 
 
 
 <h3 id="ImplementingLifecycleCallbacks">수명 주기 콜백 구현하기</h3>
 
-<p>위에서 설명한 바와 같이 액티비티가 여러 가지 상태를 오가며 전환되면, 이와 같은 내용이 
-여러 가지 콜백 메서드를 통해 통지됩니다. 콜백 메서드는 모두 후크로서, 
-액티비티 상태가 변경될 때 적절한 작업을 하기 위해 이를 재정의할 수 있습니다. 다음의 골격 
+<p>위에서 설명한 바와 같이 액티비티가 여러 가지 상태를 오가며 전환되면, 이와 같은 내용이
+여러 가지 콜백 메서드를 통해 통지됩니다. 콜백 메서드는 모두 후크로서,
+액티비티 상태가 변경될 때 적절한 작업을 하기 위해 이를 재정의할 수 있습니다. 다음의 골격
 액티비티에는 기본 수명 주기 메서드가 각각 하나씩 포함되어 있습니다.</p>
 
 
@@ -410,51 +410,51 @@
 <p class="note"><strong>참고:</strong> 이와 같은 수명 주기 메서드를 구현하려면, 항상
  슈퍼클래스 구현을 호출한 다음에만 다른 작업을 시작할 수 있습니다(위의 예시 참조).</p>
 
-<p>이와 같은 메서드를 모두 합쳐 한 액티비티의 수명 주기 전체를 정의합니다. 이러한 메서드를 구현함으로써 
+<p>이와 같은 메서드를 모두 합쳐 한 액티비티의 수명 주기 전체를 정의합니다. 이러한 메서드를 구현함으로써
 액티비티 수명 주기 내의 세 가지 중첩된 루프를 모니터링할 수 있습니다. </p>
 
 <ul>
 <li>한 액티비티의 <b>전체 수명</b>은 {@link
 android.app.Activity#onCreate onCreate()} 호출과 {@link
-android.app.Activity#onDestroy} 호출 사이를 말합니다. 액티비티는 {@link android.app.Activity#onCreate onCreate()}에서 
-"전체" 상태(레이아웃 정의 등)의 설정을 수행한 다음 나머지 리소스를 
-모두 {@link android.app.Activity#onDestroy}에 해제해야 합니다. 예를 들어, 
-액티비티에 네트워크에서 데이터를 다운로드하기 위해 배경에서 실행 중인 스레드가 있는 경우, 이는 
+android.app.Activity#onDestroy} 호출 사이를 말합니다. 액티비티는 {@link android.app.Activity#onCreate onCreate()}에서
+"전체" 상태(레이아웃 정의 등)의 설정을 수행한 다음 나머지 리소스를
+모두 {@link android.app.Activity#onDestroy}에 해제해야 합니다. 예를 들어,
+액티비티에 네트워크에서 데이터를 다운로드하기 위해 배경에서 실행 중인 스레드가 있는 경우, 이는
 해당 스레드를 {@link android.app.Activity#onCreate onCreate()}에서 생성한 다음 {@link
 android.app.Activity#onDestroy}에서 그 스레드를 중단할 수 있습니다.</li>
 
 <li><p>액티비티의 <b>가시적 수명</b>은 {@link
 android.app.Activity#onStart onStart()} 호출에서 {@link
-android.app.Activity#onStop onStop()} 호출 사이를 말합니다. 이 기간 중에는 사용자가 액티비티를 화면에서 보고 이와 
+android.app.Activity#onStop onStop()} 호출 사이를 말합니다. 이 기간 중에는 사용자가 액티비티를 화면에서 보고 이와
 상호작용할 수 있습니다. 예컨대 {@link android.app.Activity#onStop onStop()}이 호출되어
- 새 액티비티가 시작되면 이 액티비티는 더 이상 표시되지 않게 됩니다. 이와 같은 두 가지 메서드 중에서 
+ 새 액티비티가 시작되면 이 액티비티는 더 이상 표시되지 않게 됩니다. 이와 같은 두 가지 메서드 중에서
 사용자에게 액티비티를 표시하는 데 필요한 리소스를 유지하면 됩니다. 예를 들어,
 {@link
 android.app.Activity#onStart onStart()}에서 {@link android.content.BroadcastReceiver}를 등록하고 UI에 영향을 미치는 변화를 모니터링하고
-{@link android.app.Activity#onStop onStop()}에서 등록을 해제하면 사용자는 여러분이 무엇을 표시하고 있는지 더 이상 볼 수 
+{@link android.app.Activity#onStop onStop()}에서 등록을 해제하면 사용자는 여러분이 무엇을 표시하고 있는지 더 이상 볼 수
 없게 됩니다. 시스템은 액티비티의 전체 수명 내내 {@link android.app.Activity#onStart onStart()} 및 {@link
-android.app.Activity#onStop onStop()}을 여러 번 호출할 수 있으며, 이때 
+android.app.Activity#onStop onStop()}을 여러 번 호출할 수 있으며, 이때
 액티비티는 사용자에게 표시되었다 숨겨지는 상태를 오가게 됩니다.</p></li>
 
 <li><p>액티비티의 <b>전경 수명</b>은 {@link
 android.app.Activity#onResume onResume()} 호출에서 {@link android.app.Activity#onPause
-onPause()} 호출 사이를 말합니다. 이 기간 중에는 이 액티비티가 화면에서 다른 모든 액티비티 앞에 표시되며 사용자 입력도 
+onPause()} 호출 사이를 말합니다. 이 기간 중에는 이 액티비티가 화면에서 다른 모든 액티비티 앞에 표시되며 사용자 입력도
 여기에 집중됩니다.  액티비티는 전경에 나타났다 숨겨지는 전환을 자주 반복할 수 있습니다. 예를 들어
-, 기기가 절전 모드에 들어가거나 대화 상자가 
-나타나면 {@link android.app.Activity#onPause onPause()}가 호출됩니다. 이 상태는 자주 전환될 수 있으므로, 이 두 가지 메서드의 코드는 
+, 기기가 절전 모드에 들어가거나 대화 상자가
+나타나면 {@link android.app.Activity#onPause onPause()}가 호출됩니다. 이 상태는 자주 전환될 수 있으므로, 이 두 가지 메서드의 코드는
 상당히 가벼워야 합니다. 그래야 전환이 느려 사용자를 기다리게 하는 일을 피할 수 있습니다.</p></li>
 </ul>
 
 <p>그림 1은 액티비티가 상태 사이에서 취할 수 있는 이와 같은 루프와 경로를 나타낸 것입니다.
-직사각형이 액티비티가 여러 상태 사이를 전환할 때 작업을 수행하도록 
+직사각형이 액티비티가 여러 상태 사이를 전환할 때 작업을 수행하도록
 구현할 수 있는 콜백 메서드를 나타냅니다. <p>
 
 <img src="{@docRoot}images/activity_lifecycle.png" alt="" />
 <p class="img-caption"><strong>그림 1.</strong> 액티비티 수명 주기입니다.</p>
 
-<p>같은 수명 주기 콜백 메서드가 표 1에 나열되어 있으며, 이 표는 각 콜백 
-메서드를 더욱 상세하게 설명하며 액티비티의 전반적인 
-수명 주기 내에서 각 메서드의 위치를 나타내기도 합니다. 여기에는 콜백 메서드가 완료된 다음 
+<p>같은 수명 주기 콜백 메서드가 표 1에 나열되어 있으며, 이 표는 각 콜백
+메서드를 더욱 상세하게 설명하며 액티비티의 전반적인
+수명 주기 내에서 각 메서드의 위치를 나타내기도 합니다. 여기에는 콜백 메서드가 완료된 다음
 시스템이 액티비티를 중단시킬 수 있는지 여부도 포함되어 있습니다.</p>
 
 <p class="table-caption"><strong>표 1.</strong> 액티비티 수명 주기
@@ -474,9 +474,9 @@
 <tr>
   <td colspan="3" align="left"><code>{@link android.app.Activity#onCreate onCreate()}</code></td>
   <td>액티비티가 처음 생성되었을 때 호출됩니다.
-      이곳에서 일반적인 정적 설정을 모두 수행해야 합니다. 
-즉 보기 생성, 목록에 데이터 바인딩하기 등을 말합니다.  이 메서드에는 
-액티비티의 이전 상태가 캡처된 경우 해당 상태를 포함한 
+      이곳에서 일반적인 정적 설정을 모두 수행해야 합니다.
+즉 보기 생성, 목록에 데이터 바인딩하기 등을 말합니다.  이 메서드에는
+액티비티의 이전 상태가 캡처된 경우 해당 상태를 포함한
 번들 개체가 전달됩니다(이 문서 나중에 나오는 <a href="#actstate">액티비티 상태 저장하기</a>를 참조하십시오
 ).
       <p>이 뒤에는 항상 {@code onStart()}가 따라옵니다.</p></td>
@@ -508,7 +508,7 @@
    <td rowspan="2" style="border-left: none;">&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td align="left"><code>{@link android.app.Activity#onResume onResume()}</code></td>
    <td>액티비티가 시작되고 사용자와 상호 작용하기 직전에
-호출됩니다.  이 시점에서 액티비티는 액티비티 
+호출됩니다.  이 시점에서 액티비티는 액티비티
 스택의 맨 위에 있으며, 사용자 입력이 입력되고 있습니다.
        <p>이 뒤에는 항상 {@code onPause()}가 따라옵니다.</p></td>
    <td align="center">아니요</td>
@@ -517,10 +517,10 @@
 
 <tr>
    <td align="left"><code>{@link android.app.Activity#onPause onPause()}</code></td>
-   <td>시스템이 다른 액티비티를 재개하기 직전에 
-호출됩니다.  이 메서드는 일반적으로 데이터를 유지하기 위해 저장되지 않은 변경 사항을 
-커밋하는 데, 애니메이션을 비롯하여 CPU를 소모하는 기타 작업을 중단하는 등 
-여러 가지 용도에 사용됩니다.  이 메서드는 무슨 일을 하든 매우 빨리 끝내야 합니다. 
+   <td>시스템이 다른 액티비티를 재개하기 직전에
+호출됩니다.  이 메서드는 일반적으로 데이터를 유지하기 위해 저장되지 않은 변경 사항을
+커밋하는 데, 애니메이션을 비롯하여 CPU를 소모하는 기타 작업을 중단하는 등
+여러 가지 용도에 사용됩니다.  이 메서드는 무슨 일을 하든 매우 빨리 끝내야 합니다.
 이것이 반환될 때까지 다음 액티비티가 재개되지 않기 때문입니다.
        <p>액티비티가 다시 전경으로 돌아오면 {@code onResume()}이 뒤에 따라오고
 액티비티가 사용자에게 보이지 않게 되면{@code onStop()}이 뒤에 따라옵니다.
@@ -544,11 +544,11 @@
 <tr>
    <td colspan="3" align="left"><code>{@link android.app.Activity#onDestroy
 onDestroy()}</code></td>
-   <td>액티비티가 소멸되기 전에 호출됩니다.  이것이 액티비티가 받는 
-마지막 호출입니다.  이것이 호출될 수 있는 경우는 액티비티가 
+   <td>액티비티가 소멸되기 전에 호출됩니다.  이것이 액티비티가 받는
+마지막 호출입니다.  이것이 호출될 수 있는 경우는 액티비티가
 완료되는 중이라서(누군가가 여기에 <code>{@link android.app.Activity#finish
-       finish()}</code>를 호출해서)일 수도 있고, 시스템이 공간을 절약하기 위해 액티비티의 이 인스턴스를 일시적으로 소멸시키는 
-중이기 때문일 수도 있습니다.  이와 같은 
+       finish()}</code>를 호출해서)일 수도 있고, 시스템이 공간을 절약하기 위해 액티비티의 이 인스턴스를 일시적으로 소멸시키는
+중이기 때문일 수도 있습니다.  이와 같은
 두 가지 시나리오는 <code>{@link
        android.app.Activity#isFinishing isFinishing()}</code> 메서드로 구분할 수 있습니다.</td>
    <td align="center"><strong style="color:#800000">예</strong></td>
@@ -558,49 +558,49 @@
 </table>
 
 <p>"완료 후 중단 가능?"이라는 레이블이 붙은 열은
- 시스템이 <em>메서드가 반환된 후</em> 액티비티 코드의 다른 줄을 실행하지 않고도 
+ 시스템이 <em>메서드가 반환된 후</em> 액티비티 코드의 다른 줄을 실행하지 않고도
 언제든 이 액티비티를 호스팅하는 프로세스를 중단시킬 수 있는지 여부를 나타냅니다.  다음 세 가지 메서드가 "예"로 표시되어 있습니다({@link
 android.app.Activity#onPause
 onPause()}, {@link android.app.Activity#onStop onStop()} 및 {@link android.app.Activity#onDestroy
 onDestroy()}). {@link android.app.Activity#onPause onPause()}가 세 가지 메서드 중에서
 첫 번째이므로, 액티비티가 생성되면 {@link android.app.Activity#onPause onPause()}는 프로세스가 <em>지워지기 전에</em>
-반드시 호출되는 마지막 메서드입니다. 
+반드시 호출되는 마지막 메서드입니다.
 시스템이 비상 시에 메모리를 복구해야 할 경우, {@link
 android.app.Activity#onStop onStop()}와 {@link android.app.Activity#onDestroy onDestroy()}는
-호출되지 않을 수도 있습니다. 따라서, 중요한 영구적 데이터(사용자 편집 등)를 보관하기 위해 작성하는 경우에는 {@link android.app.Activity#onPause onPause()}를 사용해야 
-합니다. 그러나, {@link android.app.Activity#onPause onPause()} 중에 
-어느 정보를 유지해야 할지는 조심해서 선택해야 합니다. 이 메서드에 차단 절차가 있으면 
-다음 액티비티로의 전환을 차단하고 사용자 경험을 느려지게 할 수 있기 
+호출되지 않을 수도 있습니다. 따라서, 중요한 영구적 데이터(사용자 편집 등)를 보관하기 위해 작성하는 경우에는 {@link android.app.Activity#onPause onPause()}를 사용해야
+합니다. 그러나, {@link android.app.Activity#onPause onPause()} 중에
+어느 정보를 유지해야 할지는 조심해서 선택해야 합니다. 이 메서드에 차단 절차가 있으면
+다음 액티비티로의 전환을 차단하고 사용자 경험을 느려지게 할 수 있기
 때문입니다.</p>
 
-<p> <b>중단 가능한</b> 열에 "아니요"로 표시된 메서드는 액티비티를 호스팅하는 프로세스를 
-보호하여 호출된 즉시 중단되지 않도록 방지합니다.  따라서 액티비티는 
-{@link android.app.Activity#onPause onPause()}가 반환되는 시기부터 
-{@link android.app.Activity#onResume onResume()}이 호출되는 시기 사이에 중단시킬 수 있습니다. 다시 중단시킬 수 있는 상태가 되려면 
+<p> <b>중단 가능한</b> 열에 "아니요"로 표시된 메서드는 액티비티를 호스팅하는 프로세스를
+보호하여 호출된 즉시 중단되지 않도록 방지합니다.  따라서 액티비티는
+{@link android.app.Activity#onPause onPause()}가 반환되는 시기부터
+{@link android.app.Activity#onResume onResume()}이 호출되는 시기 사이에 중단시킬 수 있습니다. 다시 중단시킬 수 있는 상태가 되려면
 {@link android.app.Activity#onPause onPause()}가 다시 호출되어 반환되어야 합니다. </p>
 
-<p class="note"><strong>참고:</strong> 표 1에 나타난 이런 정의에 
-따르면 엄밀히 말해 "중단 가능한" 것이 아닌 액티비티라도 시스템이 중단시킬 수는 있습니다. 다만 이것은 다른 리소스가 없는 
-극단적인 상황에서만 발생합니다. 액티비티가 중단될 수 있는 시기가 
+<p class="note"><strong>참고:</strong> 표 1에 나타난 이런 정의에
+따르면 엄밀히 말해 "중단 가능한" 것이 아닌 액티비티라도 시스템이 중단시킬 수는 있습니다. 다만 이것은 다른 리소스가 없는
+극단적인 상황에서만 발생합니다. 액티비티가 중단될 수 있는 시기가
 언제인지는 <a href="{@docRoot}guide/components/processes-and-threads.html">프로세스 및
  스레딩</a> 문서에서 보다 자세히 논의합니다.</p>
 
 
 <h3 id="SavingActivityState">액티비티 상태 저장하기</h3>
 
-<p><a href="#Lifecycle">액티비티 수명 주기 관리하기</a> 도입부에서는 액티비티가 
-일시중지되거나 
-중단되었더라도 액티비티의 상태는 그대로 유지된다고 잠시 언급한 바 있습니다. 이것은 
-{@link android.app.Activity} 개체가 일시중지되거나 중단된 경우에도 
-메모리 안에 그대로 보관되었기 때문에 가능합니다. 즉 이 액티비티의 구성원과 현재 상태에 대한 모든 정보가 아직 살아 있다는 뜻입니다. 따라서, 사용자가 
-액티비티 내에서 변경한 모든 내용도 그대로 유지되어 액티비티가 전경으로 
+<p><a href="#Lifecycle">액티비티 수명 주기 관리하기</a> 도입부에서는 액티비티가
+일시중지되거나
+중단되었더라도 액티비티의 상태는 그대로 유지된다고 잠시 언급한 바 있습니다. 이것은
+{@link android.app.Activity} 개체가 일시중지되거나 중단된 경우에도
+메모리 안에 그대로 보관되었기 때문에 가능합니다. 즉 이 액티비티의 구성원과 현재 상태에 대한 모든 정보가 아직 살아 있다는 뜻입니다. 따라서, 사용자가
+액티비티 내에서 변경한 모든 내용도 그대로 유지되어 액티비티가 전경으로
 돌아갈 때("재개"될 때) 그와 같은 변경 사항도 그대로 존재하게 됩니다.</p>
 
 <p>그러나 시스템이 메모리를 복구하기 위해 액티비티를 소멸시키는 경우에는 {@link
-android.app.Activity} 개체가 소멸되므로 시스템이 액티비티의 상태를 온전히 유지한 채로 간단하게 재개할 수 없게 
-됩니다. 대신, 사용자가 다시 이 액티비티로 이동해 오면 시스템이 {@link android.app.Activity} 개체를 
-다시 생성해야 합니다. 하지만, 사용자는 시스템이 
-해당 액티비티를 소멸시켰다가 다시 생성했다는 것을 모릅니다. 
+android.app.Activity} 개체가 소멸되므로 시스템이 액티비티의 상태를 온전히 유지한 채로 간단하게 재개할 수 없게
+됩니다. 대신, 사용자가 다시 이 액티비티로 이동해 오면 시스템이 {@link android.app.Activity} 개체를
+다시 생성해야 합니다. 하지만, 사용자는 시스템이
+해당 액티비티를 소멸시켰다가 다시 생성했다는 것을 모릅니다.
 따라서 액티비티가 예전과 똑같을 것이라고 예상할 것입니다. 이런 상황에서는
 액티비티 상태에 관한 정보를 저장할 수 있는 추가 콜백 메서드
 {@link
@@ -617,19 +617,19 @@
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}에게 전달합니다. 이들 메서드 중
 하나를 사용하여 {@link android.os.Bundle}에서 저장된 상태를 추출하고 액티비티 상태
 를 복원할 수 있습니다. 복구할 상태 정보가 없는 경우, 여러분에게 전달되는 {@link
-android.os.Bundle}은 null입니다(액티비티가 처음 생성되었을 때 이런 경우가 
+android.os.Bundle}은 null입니다(액티비티가 처음 생성되었을 때 이런 경우가
 발생합니다).</p>
 
 <img src="{@docRoot}images/fundamentals/restore_instance.png" alt="" />
-<p class="img-caption"><strong>그림 2.</strong> 액티비티의 상태가 온전한 채로 사용자의 
-초점에 다시 돌아오는 데에는 두 가지 방식이 있습니다. 하나는 액티비티가 소멸되었다가 다시 생성되어 액티비티가 
-이전에 저장된 상태를 복구해야 하는 경우, 다른 하나는 액티비티가 중단되었다가 재개되었으며 
+<p class="img-caption"><strong>그림 2.</strong> 액티비티의 상태가 온전한 채로 사용자의
+초점에 다시 돌아오는 데에는 두 가지 방식이 있습니다. 하나는 액티비티가 소멸되었다가 다시 생성되어 액티비티가
+이전에 저장된 상태를 복구해야 하는 경우, 다른 하나는 액티비티가 중단되었다가 재개되었으며
 액티비티 상태가 온전히 유지된 경우입니다.</p>
 
 <p class="note"><strong>참고:</strong> 상태를 저장할 필요가 없는 경우도 있으므로 액티비티가 소멸되기 전에 {@link
 android.app.Activity#onSaveInstanceState onSaveInstanceState()}가 호출된다는 보장은 없습니다
 
-(예컨대 사용자가 
+(예컨대 사용자가
 명시적으로
 액티비티를 닫기 위해 <em>뒤로</em> 버튼을 눌러서 액티비티를 떠날 때가 이에 해당합니다). 시스템이 {@link android.app.Activity#onSaveInstanceState
 onSaveInstanceState()}를 호출하는 경우, {@link
@@ -642,9 +642,9 @@
 android.app.Activity#onSaveInstanceState onSaveInstanceState()}가 일부 액티비티 상태를 복구합니다. 특히, 기본
 구현은 레이아웃에서 {@link
 android.view.View}가 나올 때마다 해당하는 {@link
-android.view.View#onSaveInstanceState onSaveInstanceState()} 메서드를 호출하고, 이 때문에 각 보기가 저장해야 하는 자체 관련 정보를 제공할 수 
-있게 해줍니다. Android 프레임워크를 사용하는 위젯은 거의 대부분 이 메서드를 
-필요에 따라 구현하므로, UI에 눈에 보이는 변경이 있으면 모두 자동으로 저장되며 액티비티를 다시 
+android.view.View#onSaveInstanceState onSaveInstanceState()} 메서드를 호출하고, 이 때문에 각 보기가 저장해야 하는 자체 관련 정보를 제공할 수
+있게 해줍니다. Android 프레임워크를 사용하는 위젯은 거의 대부분 이 메서드를
+필요에 따라 구현하므로, UI에 눈에 보이는 변경이 있으면 모두 자동으로 저장되며 액티비티를 다시
 생성하면 복구됩니다. 예를 들어, {@link android.widget.EditText} 위젯은 사용자가 입력한 모든 텍스트
 를 저장하고 {@link android.widget.CheckBox} 위젯은 확인 여부를 저장합니다.
  여러분이 해야 할 유일한 작업은 상태를 저장하고자 하는 각 위젯에 고유 ID(<a href="{@docRoot}guide/topics/resources/layout-resource.html#idvalue">{@code android:id}</a>
@@ -653,9 +653,9 @@
 
 <div class="sidebox-wrapper">
 <div class="sidebox">
-<p>또한, 
-{@link android.R.attr#saveEnabled android:saveEnabled} 속성을 {@code "false"}로 설정하거나 
-{@link android.view.View#setSaveEnabled setSaveEnabled()} 메서드를 호출해서 레이아웃의 보기가 상태를 저장하지 못하도록 명시적으로 막을 수 있습니다. 보통은 이것을 비활성화해서는 
+<p>또한,
+{@link android.R.attr#saveEnabled android:saveEnabled} 속성을 {@code "false"}로 설정하거나
+{@link android.view.View#setSaveEnabled setSaveEnabled()} 메서드를 호출해서 레이아웃의 보기가 상태를 저장하지 못하도록 명시적으로 막을 수 있습니다. 보통은 이것을 비활성화해서는
 안 되지만, 액티비티 UI의 상태를 다르게 복구하고자 하는 경우 그렇게 할 수도 있습니다.</p>
 </div>
 </div>
@@ -668,25 +668,25 @@
 ).</p>
 
 <p>{@link
-android.app.Activity#onSaveInstanceState onSaveInstanceState()}의 기본 구현이 UI 상태를 저장하는 데 도움이 되기 때문에, 
-추가 상태 정보를 저장하기 위해 이 메서드를 재정의하려면 
+android.app.Activity#onSaveInstanceState onSaveInstanceState()}의 기본 구현이 UI 상태를 저장하는 데 도움이 되기 때문에,
+추가 상태 정보를 저장하기 위해 이 메서드를 재정의하려면
 작업을 하기 전에 항상{@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}의 슈퍼클래스 구현
 을 호출해야 합니다. 이와 마찬가지로 {@link
-android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}를 재정의하는 경우, 이것의 슈퍼클래스 구현을 호출해야 하기도 합니다. 
+android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}를 재정의하는 경우, 이것의 슈퍼클래스 구현을 호출해야 하기도 합니다.
 이렇게 해야 기본 구현이 보기 상태를 복구할 수 있습니다.</p>
 
 <p class="note"><strong>참고:</strong> {@link android.app.Activity#onSaveInstanceState
 onSaveInstanceState()}의 호출이 보장되지 않으므로
  이것은 액티비티의 일시적 상태(UI의 상태
-)를 기록하는 데에만 사용하고, 영구 데이터를 보관하는 데 사용해서는 안 됩니다.  대신, 사용자가 액티비티를 떠날 때 영구적인 데이터(데이터베이스에 저장되어야 
+)를 기록하는 데에만 사용하고, 영구 데이터를 보관하는 데 사용해서는 안 됩니다.  대신, 사용자가 액티비티를 떠날 때 영구적인 데이터(데이터베이스에 저장되어야
 하는 데이터 등)를 저장하려면 {@link
 android.app.Activity#onPause onPause()}를 사용해야 합니다.</p>
 
 <p>애플리케이션의 상태 저장 기능을 시험하는 좋은 방법은 기기를 회전해보고 화면 방향이
-바뀌는지 확인하는 것입니다. 화면 방향이 바뀌면 시스템은 액티비티를 
-소멸시켰다가 다시 생성하여 새 화면 구성에서 이용할 수 있을지 모르는 대체 
-리소스를 적용합니다. 이 이유 하나만으로도 액티비티가 다시 생성되었을 때 상태를 
-완전히 복구할 수 있어야 한다는 점이 대단히 중요합니다. 사용자는 애플리케이션을 사용하면서 화면을 
+바뀌는지 확인하는 것입니다. 화면 방향이 바뀌면 시스템은 액티비티를
+소멸시켰다가 다시 생성하여 새 화면 구성에서 이용할 수 있을지 모르는 대체
+리소스를 적용합니다. 이 이유 하나만으로도 액티비티가 다시 생성되었을 때 상태를
+완전히 복구할 수 있어야 한다는 점이 대단히 중요합니다. 사용자는 애플리케이션을 사용하면서 화면을
 자주 돌리기 때문입니다.</p>
 
 
@@ -700,8 +700,8 @@
 설계되었습니다
 (예: 다양한 화면 방향과 크기에 대한 다양한 레이아웃).</p>
 
-<p>액티비티를 적절히 설계하여 화면 방향 변경으로 인한 재시작을 감당할 수 있으며 
-위에 설명한 것처럼 액티비티 상태를 복구할 수 있도록 하면, 애플리케이션이 액티비티 수명 주기에서 
+<p>액티비티를 적절히 설계하여 화면 방향 변경으로 인한 재시작을 감당할 수 있으며
+위에 설명한 것처럼 액티비티 상태를 복구할 수 있도록 하면, 애플리케이션이 액티비티 수명 주기에서
 예기치 못한 이벤트가 일어나도 더욱 탄력적으로 복구될 수 있습니다.</p>
 
 <p>이러한 재시작을 처리하는 가장 좋은 방법은 이전 섹션에서 논의한 바와 같이
@@ -710,22 +710,22 @@
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}(또는 {@link
 android.app.Activity#onCreate onCreate()})를 사용하여 액티비티 상태를 저장하고 복구하는 것입니다.</p>
 
-<p>런타임에 발생하는 구성 변경과 그 처리 방법에 대한 자세한 정보는 
-<a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 
+<p>런타임에 발생하는 구성 변경과 그 처리 방법에 대한 자세한 정보는
+<a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경
 처리하기</a>에 대한 가이드를 읽어보십시오.</p>
 
 
 
 <h3 id="CoordinatingActivities">액티비티 조정하기</h3>
 
- <p>한 액티비티가 다른 액티비티를 시작하면, 둘 모두 수명 주기 전환을 겪습니다. 첫 번째 액티비티는 
-일시중지하고 중단되는 반면(배경에서 계속 보이는 경우에는 중단되지 않습니다만), 다른 액티비티는 
-생성되는 것입니다. 이와 같은 액티비티가 디스크 또는 다른 속에 저장된 데이터를 공유하는 경우, 
-첫 번째 액티비티는 두 번째 액티비티가 생성되기 전에 완전히 중단되지 않는다는 점을 이해하는 것이 중요합니다. 
+ <p>한 액티비티가 다른 액티비티를 시작하면, 둘 모두 수명 주기 전환을 겪습니다. 첫 번째 액티비티는
+일시중지하고 중단되는 반면(배경에서 계속 보이는 경우에는 중단되지 않습니다만), 다른 액티비티는
+생성되는 것입니다. 이와 같은 액티비티가 디스크 또는 다른 속에 저장된 데이터를 공유하는 경우,
+첫 번째 액티비티는 두 번째 액티비티가 생성되기 전에 완전히 중단되지 않는다는 점을 이해하는 것이 중요합니다.
 그렇다기보다는, 두 번째 액티비티의 시작 과정이 첫 번째 액티비티 중단 과정과 겹쳐 일어납니다.
 </p>
 
-<p>수명 주기 콜백은 분명히 정의된 순서가 있으며 특히 두 개의 액티비티가 
+<p>수명 주기 콜백은 분명히 정의된 순서가 있으며 특히 두 개의 액티비티가
 같은 프로세스 안에 있으면서 하나가 다른 하나를 시작하는 경우 순서가 더욱 확실합니다. 다음은 액티비티 A가
 액티비티 B를 시작할 때 발생하는 작업 순서입니다. </p>
 
@@ -741,8 +741,8 @@
 </ol>
 
  <p>이처럼 수명 주기 콜백의 순서를 예측할 수 있기 때문에 한 액티비티에서 다른 액티비티로 전환되는
- 정보를 관리할 수 있습니다. 예를 들어 첫 번째 액티비티가 중단될 때 데이터베이스에 
-내용을 작성해서 다음 액티비티가 그 내용을 읽을 수 있도록 하려면, 데이터베이스에는 
+ 정보를 관리할 수 있습니다. 예를 들어 첫 번째 액티비티가 중단될 때 데이터베이스에
+내용을 작성해서 다음 액티비티가 그 내용을 읽을 수 있도록 하려면, 데이터베이스에는
 {@link android.app.Activity#onPause onPause()} 중에({@link
 android.app.Activity#onStop onStop()} 중이 아니라) 쓰기 작업을 해야 합니다.</p>
 
diff --git a/docs/html-intl/intl/ko/guide/components/bound-services.jd b/docs/html-intl/intl/ko/guide/components/bound-services.jd
index bf97b26..276ff24 100644
--- a/docs/html-intl/intl/ko/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/ko/guide/components/bound-services.jd
@@ -41,22 +41,22 @@
 </div>
 
 
-<p>바인딩된 서비스란 클라이언트 서버 인터페이스 안의 서버를 말합니다. 바인딩된 서비스를 사용하면 구성 요소(활동 등)를 
-서비스에 바인딩되게 하거나, 요청을 보내고 응답을 수신하며 심지어는 
+<p>바인딩된 서비스란 클라이언트 서버 인터페이스 안의 서버를 말합니다. 바인딩된 서비스를 사용하면 구성 요소(활동 등)를
+서비스에 바인딩되게 하거나, 요청을 보내고 응답을 수신하며 심지어는
 프로세스간 통신(IPC)까지 수행할 수 있게 됩니다. 일반적으로 바인딩된 서비스는 다른 애플리케이션
 구성 요소를 도울 때까지만 살고 배경에서 무한히 실행되지 않습니다.</p>
 
 <p>이 문서는 다른 애플리케이션 구성 요소의
-서비스에 바인딩하는 방법을 포함하여 바인딩된 서비스를 만드는 방법을 보여줍니다. 하지만 일반적인 서비스에 관한 정보도 알아두는 것이 좋습니다. 
-서비스에서 알림을 전달하는 방법이나 서비스를 전경에서 실행되도록 설정하는 방법 등 여러 가지 
+서비스에 바인딩하는 방법을 포함하여 바인딩된 서비스를 만드는 방법을 보여줍니다. 하지만 일반적인 서비스에 관한 정보도 알아두는 것이 좋습니다.
+서비스에서 알림을 전달하는 방법이나 서비스를 전경에서 실행되도록 설정하는 방법 등 여러 가지
 추가 정보를 알아보려면 <a href="{@docRoot}guide/components/services.html">서비스</a> 문서를 참조하십시오.</p>
 
 
 <h2 id="Basics">기본 정보</h2>
 
-<p>바인딩된 서비스란 일종의 {@link android.app.Service} 클래스 구현으로, 
-이를 통해 다른 애플리케이션이 이 서비스에 바인딩하여 상호 작용할 수 있도록 해주는 것입니다. 한 서비스에 대한 바인딩을 제공하려면, 
-{@link android.app.Service#onBind onBind()} 콜백 메서드를 구현해야 합니다. 
+<p>바인딩된 서비스란 일종의 {@link android.app.Service} 클래스 구현으로,
+이를 통해 다른 애플리케이션이 이 서비스에 바인딩하여 상호 작용할 수 있도록 해주는 것입니다. 한 서비스에 대한 바인딩을 제공하려면,
+{@link android.app.Service#onBind onBind()} 콜백 메서드를 구현해야 합니다.
 이 메서드는 클라이언트가 서비스와 상호 작용하는 데 사용하는 프로그래밍 인터페이스를 정의하는 {@link android.os.IBinder} 개체를
 반환합니다.</p>
 
@@ -65,24 +65,24 @@
   <h3>시작된 서비스에 바인딩</h3>
 
 <p><a href="{@docRoot}guide/components/services.html">서비스</a>
-문서에서 논의된 바와 같이, 시작되었으면서도 바인딩된 서비스를 만들 수 있습니다. 다시 말해, 
-{@link android.content.Context#startService startService()}를 호출하여 서비스를 시작할 수 있으며 
+문서에서 논의된 바와 같이, 시작되었으면서도 바인딩된 서비스를 만들 수 있습니다. 다시 말해,
+{@link android.content.Context#startService startService()}를 호출하여 서비스를 시작할 수 있으며
 이를 통해 서비스가 무한히 실행되도록 할 수 있으며, {@link
 android.content.Context#bindService bindService()}를 호출하면 클라이언트가 해당 서비스에 바인딩되도록 할 수 있다는 것입니다.
-  <p>서비스를 시작되고 바인딩되도록 허용한 다음 서비스가 시작되면 
-시스템은 클라이언트가 모두 바인딩을 해제해도 서비스를 소멸시키지 <em>않습니다</em>. 대신, 
+  <p>서비스를 시작되고 바인딩되도록 허용한 다음 서비스가 시작되면
+시스템은 클라이언트가 모두 바인딩을 해제해도 서비스를 소멸시키지 <em>않습니다</em>. 대신,
 직접 서비스를 확실히 중단시켜야 합니다. 그러려면 {@link android.app.Service#stopSelf stopSelf()} 또는 {@link
 android.content.Context#stopService stopService()}를 호출하면 됩니다.</p>
 
 <p>보통은 {@link android.app.Service#onBind onBind()}
 <em>또는</em> {@link android.app.Service#onStartCommand onStartCommand()}
-중 한 가지만 구현하지만, 둘 모두 구현해야 할 때도 있습니다. 예를 들어, 음악 플레이어의 경우 서비스를 무한히 실행하면서 
-바인딩도 제공하도록 허용하는 것이 유용하다는 결론을 내릴 수 있습니다. 이렇게 하면, 한 액티비티가 서비스로 하여금 음악을 재생하도록 
-시작한 다음 사용자가 애플리케이션을 떠나더라도 음악을 계속 재생하도록 할 수 있습니다. 그런 다음, 사용자가 애플리케이션으로 
+중 한 가지만 구현하지만, 둘 모두 구현해야 할 때도 있습니다. 예를 들어, 음악 플레이어의 경우 서비스를 무한히 실행하면서
+바인딩도 제공하도록 허용하는 것이 유용하다는 결론을 내릴 수 있습니다. 이렇게 하면, 한 액티비티가 서비스로 하여금 음악을 재생하도록
+시작한 다음 사용자가 애플리케이션을 떠나더라도 음악을 계속 재생하도록 할 수 있습니다. 그런 다음, 사용자가 애플리케이션으로
 다시 돌아오면 이 액티비티가 서비스를 바인딩하여 재생 제어권을 다시 획득할 수 있습니다.</p>
 
 <p><a href="#Lifecycle">바인딩된 서비스 수명 주기 관리
-</a> 관련 섹션을 꼭 읽어보십시오. 시작된 서비스에 바인딩을 
+</a> 관련 섹션을 꼭 읽어보십시오. 시작된 서비스에 바인딩을
 추가할 때 서비스 수명 주기에 관한 자세한 정보를 얻을 수 있습니다.</p>
 </div>
 </div>
@@ -90,23 +90,23 @@
 <p>클라이언트가 서비스에 바인딩하려면 {@link android.content.Context#bindService
 bindService()}를 호출하면 됩니다. 이 때, 반드시 {@link
 android.content.ServiceConnection}의 구현을 제공해야 하며 이것이 서비스와의 연결을 모니터링합니다. {@link
-android.content.Context#bindService bindService()} 메서드는 값 없이 즉시 반환됩니다. 
-그러나 Android 시스템이 클라이언트와 서비스 사이의 
+android.content.Context#bindService bindService()} 메서드는 값 없이 즉시 반환됩니다.
+그러나 Android 시스템이 클라이언트와 서비스 사이의
 연결을 만드는 경우, 시스템은 {@link
 android.content.ServiceConnection#onServiceConnected onServiceConnected()}를 {@link
-android.content.ServiceConnection}에서 호출하여 클라이언트가 서비스와 통신하는 데 사용할 수 있도록 {@link android.os.IBinder}를 
+android.content.ServiceConnection}에서 호출하여 클라이언트가 서비스와 통신하는 데 사용할 수 있도록 {@link android.os.IBinder}를
 전달하게 됩니다.</p>
 
-<p>여러 클라이언트가 한 번에 서비스에 연결될 수 있습니다. 그러나, 시스템이 서비스의 
-{@link android.app.Service#onBind onBind()} 메서드를 호출하여 {@link android.os.IBinder}를 검색하는 경우는 첫 번째 클라이언트가 
-바인딩되는 경우뿐입니다. 시스템은 그 후 같은 {@link android.os.IBinder}를 바인딩되는 추가 
+<p>여러 클라이언트가 한 번에 서비스에 연결될 수 있습니다. 그러나, 시스템이 서비스의
+{@link android.app.Service#onBind onBind()} 메서드를 호출하여 {@link android.os.IBinder}를 검색하는 경우는 첫 번째 클라이언트가
+바인딩되는 경우뿐입니다. 시스템은 그 후 같은 {@link android.os.IBinder}를 바인딩되는 추가
 클라이언트 모두에 전달하며 이때는 {@link android.app.Service#onBind onBind()}를 다시 호출하지 않습니다.</p>
 
 <p>마지막 클라이언트가 서비스에서 바인딩을 해제하면 시스템은 서비스를 소멸시킵니다(
 {@link android.content.Context#startService startService()}가 서비스를 시작했을 경우 제외).</p>
 
 <p>바인딩된 서비스를 구현할 때 가장 중요한 부분은
-{@link android.app.Service#onBind onBind()} 콜백 메서드가 반환하는 인터페이스를 정의하는 것입니다. 
+{@link android.app.Service#onBind onBind()} 콜백 메서드가 반환하는 인터페이스를 정의하는 것입니다.
 서비스의 {@link android.os.IBinder} 인터페이스를 정의하는 방법에는 몇 가지가 있고, 다음
 섹션에서는 각 기법에 관해 논의합니다.</p>
 
@@ -115,42 +115,42 @@
 <h2 id="Creating">바인딩된 서비스 생성</h2>
 
 <p>바인딩을 제공하는 서비스를 생성할 때는 클라이언트가 서비스와 상호 작용하는 데 사용할 수 있는 프로그래밍 인터페이스를 제공하는 {@link android.os.IBinder}
-를 제공해야 합니다. 
+를 제공해야 합니다.
 인터페이스를 정의하는 방법은 세 가지가 있습니다.</p>
 
 <dl>
   <dt><a href="#Binder">바인더 클래스 확장</a></dt>
-  <dd>서비스가 본인의 애플리케이션 전용이며 클라이언트와 같은 과정으로 실행되는 
+  <dd>서비스가 본인의 애플리케이션 전용이며 클라이언트와 같은 과정으로 실행되는
 경우(이런 경우가 흔함), 인터페이스를 생성할 때 {@link android.os.Binder} 클래스를
- 확장하고 그 인스턴스를 
-{@link android.app.Service#onBind onBind()}에서 반환하는 방식을 사용해야 합니다. 클라이언트가 {@link android.os.Binder}를 받으며, 
-이를 사용하여 {@link android.os.Binder} 구현 또는 심지어 {@link android.app.Service}에서 
+ 확장하고 그 인스턴스를
+{@link android.app.Service#onBind onBind()}에서 반환하는 방식을 사용해야 합니다. 클라이언트가 {@link android.os.Binder}를 받으며,
+이를 사용하여 {@link android.os.Binder} 구현 또는 심지어 {@link android.app.Service}에서
 사용할 수 있는 공개 메서드에 직접 액세스할 수 있습니다.
-  <p>이것은 서비스가 본인의 애플리케이션을 위해 단순히 배경에서 작동하는 요소에 그치는 경우 
-선호되는 기법입니다. 인터페이스를 생성할 때 이 방식을 사용하지 않는 유일한 이유는 
+  <p>이것은 서비스가 본인의 애플리케이션을 위해 단순히 배경에서 작동하는 요소에 그치는 경우
+선호되는 기법입니다. 인터페이스를 생성할 때 이 방식을 사용하지 않는 유일한 이유는
 서비스를 다른 애플리케이션에서나 별도의 프로세스에 걸쳐 사용하고 있는 경우뿐입니다.</dd>
 
   <dt><a href="#Messenger">메신저 사용</a></dt>
-  <dd>인터페이스를 여러 프로세스에 걸쳐 적용되도록 해야 하는 경우, 서비스에 대한 
-인터페이스를 {@link android.os.Messenger}로 생성할 수 있습니다. 
+  <dd>인터페이스를 여러 프로세스에 걸쳐 적용되도록 해야 하는 경우, 서비스에 대한
+인터페이스를 {@link android.os.Messenger}로 생성할 수 있습니다.
 이 방식을 사용하면 서비스가 여러 가지 유형의 {@link
 android.os.Message} 개체에 응답하는 {@link android.os.Handler}를 정의합니다. 이 {@link android.os.Handler}
 가 {@link android.os.Messenger}의 기초이며, 이를 통해 클라이언트와 함께 {@link android.os.IBinder}
 를 공유할 수 있게 되어 클라이언트가 {@link
-android.os.Message} 개체를 사용해 서비스에 명령을 보낼 수 있게 해줍니다. 이외에도, 클라이언트가 자체적으로 {@link android.os.Messenger}를 
+android.os.Message} 개체를 사용해 서비스에 명령을 보낼 수 있게 해줍니다. 이외에도, 클라이언트가 자체적으로 {@link android.os.Messenger}를
 정의하여 서비스가 메시지를 돌려보낼 수 있도록 할 수도 있습니다.
   <p>이것이 프로세스간 통신(IPC)을 수행하는 가장 간단한 방법입니다. {@link
-android.os.Messenger}가 모든 요청을 단일 스레드에 대기하게 해서, 서비스를 스레드로부터 안전하게 
+android.os.Messenger}가 모든 요청을 단일 스레드에 대기하게 해서, 서비스를 스레드로부터 안전하게
 설계하지 않아도 되기 때문입니다.</p>
   </dd>
 
   <dt>AIDL 사용하기</dt>
-  <dd>AIDL(Android Interface Definition Language)은 개체를 운영 체제가 이해할 수 있는 
-원시 데이터로 구성 해제한 다음 여러 프로세스에 걸쳐 집결하여 IPC를 수행하기 위해 
-필요한 모든 작업을 수행합니다. 이전 기법은 {@link android.os.Messenger}를 사용했는데, 
+  <dd>AIDL(Android Interface Definition Language)은 개체를 운영 체제가 이해할 수 있는
+원시 데이터로 구성 해제한 다음 여러 프로세스에 걸쳐 집결하여 IPC를 수행하기 위해
+필요한 모든 작업을 수행합니다. 이전 기법은 {@link android.os.Messenger}를 사용했는데,
 사실 그 기본 구조가 AIDL을 기반으로 하고 있는 것입니다. 위에서 언급한 바와 같이 {@link android.os.Messenger}는 단일 스레드에 모든 클라이언트 요청
-대기열을 생성하므로 서비스는 한 번에 요청을 하나씩 수신합니다. 그러나, 
-서비스가 동시에 여러 요청을 처리하도록 하고 싶은 경우에는 AIDL을 직접 사용해도 
+대기열을 생성하므로 서비스는 한 번에 요청을 하나씩 수신합니다. 그러나,
+서비스가 동시에 여러 요청을 처리하도록 하고 싶은 경우에는 AIDL을 직접 사용해도
 됩니다. 이 경우, 서비스가 다중 스레딩을 할 수 있어야 하며 스레드로부터 안전하게 구축되었어야 합니다.
   <p>AIDL을 직접 사용하려면
 프로그래밍 인터페이스를 정의하는 {@code .aidl} 파일을 생성해야 합니다. Android SDK 도구는
@@ -159,10 +159,10 @@
   </dd>
 </dl>
 
-  <p class="note"><strong>참고:</strong> 대부분의 애플리케이션의 경우, 
-바인딩된 서비스를 생성하기 위해 AIDL를 사용해서는 <strong>안 됩니다</strong>. 
-그러려면 다중 스레딩 기능이 필요할 수 있고, 따라서 더 복잡한 구현을 초래할 수 있기 때문입니다. 따라서 AIDL은 
-대부분의 애플리케이션에 적합하지 않으므로 이 문서에서는 여러분의 서비스에 이를 이용하는 방법에 대해 다루지 않습니다. AIDL을 직접 사용해야 한다는 확신이 드는 경우, 
+  <p class="note"><strong>참고:</strong> 대부분의 애플리케이션의 경우,
+바인딩된 서비스를 생성하기 위해 AIDL를 사용해서는 <strong>안 됩니다</strong>.
+그러려면 다중 스레딩 기능이 필요할 수 있고, 따라서 더 복잡한 구현을 초래할 수 있기 때문입니다. 따라서 AIDL은
+대부분의 애플리케이션에 적합하지 않으므로 이 문서에서는 여러분의 서비스에 이를 이용하는 방법에 대해 다루지 않습니다. AIDL을 직접 사용해야 한다는 확신이 드는 경우,
 <a href="{@docRoot}guide/components/aidl.html">AIDL</a> 문서를 참조하십시오.
 </p>
 
@@ -172,12 +172,12 @@
 <h3 id="Binder">바인더 클래스 확장</h3>
 
 <p>서비스를 사용하는 것이 로컬 애플리케이션뿐이고 여러 프로세스에 걸쳐 작동할 필요가 없는 경우,
-나름의 {@link android.os.Binder} 클래스를 구현하여 
+나름의 {@link android.os.Binder} 클래스를 구현하여
 클라이언트로 하여금 서비스 내의 공개 메서드에 직접 액세스할 수 있도록 할 수도 있습니다.</p>
 
-<p class="note"><strong>참고:</strong> 이것은 클라이언트와 서비스가 
-같은 애플리케이션 및 프로세스에 있는 경우에만 통하며, 이 경우가 가장 보편적입니다. 이 방식이 잘 통하는 경우를 예로 들면, 
-음악 애플리케이션에서 자체 서비스에 액티비티를 바인딩하여 배경에서 음악을 재생하도록 해야 하는 
+<p class="note"><strong>참고:</strong> 이것은 클라이언트와 서비스가
+같은 애플리케이션 및 프로세스에 있는 경우에만 통하며, 이 경우가 가장 보편적입니다. 이 방식이 잘 통하는 경우를 예로 들면,
+음악 애플리케이션에서 자체 서비스에 액티비티를 바인딩하여 배경에서 음악을 재생하도록 해야 하는
 경우가 있습니다.</p>
 
 <p>이렇게 설정하는 방법은 다음과 같습니다.</p>
@@ -185,7 +185,7 @@
   <li>서비스에서 다음 중 한 가지에 해당하는 {@link android.os.Binder}의 인스턴스를 생성합니다.
     <ul>
       <li>클라이언트가 호출할 수 있는 공개 메서드 포함</li>
-      <li>클라이언트가 호출할 수 있는 공개 메서드가 있는 현재{@link android.app.Service} 
+      <li>클라이언트가 호출할 수 있는 공개 메서드가 있는 현재{@link android.app.Service}
 인스턴스를 반환</li>
       <li>클라이언트가 호출할 수 있는 공개 메서드가 포함된 서비스가 호스팅하는 다른 클래스의 인스턴스를 반환
 </li>
@@ -193,16 +193,16 @@
   <li>{@link
 android.app.Service#onBind onBind()} 콜백 메서드에서 이 {@link android.os.Binder}의 인스턴스를 반환합니다.</li>
   <li>클라이언트의 경우, {@link android.os.Binder}를 {@link
-android.content.ServiceConnection#onServiceConnected onServiceConnected()} 
+android.content.ServiceConnection#onServiceConnected onServiceConnected()}
 콜백 메서드에서 받아 제공된 메서드를 사용해 서비스를 바인딩하기 위해 호출합니다.</li>
 </ol>
 
-<p class="note"><strong>참고:</strong> 서비스와 클라이언트가 같은 애플리케이션에 
-있어야 하는 것은 그래야만 클라이언트가 반환된 개체를 캐스팅하여 해당 API를 적절하게 호출할 수 있기 때문입니다. 또한 
-서비스와 클라이언트는 같은 프로세스에 있어야 하기도 합니다. 이 기법에서는 
+<p class="note"><strong>참고:</strong> 서비스와 클라이언트가 같은 애플리케이션에
+있어야 하는 것은 그래야만 클라이언트가 반환된 개체를 캐스팅하여 해당 API를 적절하게 호출할 수 있기 때문입니다. 또한
+서비스와 클라이언트는 같은 프로세스에 있어야 하기도 합니다. 이 기법에서는
 여러 프로세스에 걸친 집결 작업을 전혀 수행하지 않기 때문입니다.</p>
 
-<p>예컨대, 어떤 서비스가 클라이언트에게 {@link android.os.Binder} 구현을 통해 서비스 내의 
+<p>예컨대, 어떤 서비스가 클라이언트에게 {@link android.os.Binder} 구현을 통해 서비스 내의
 메서드에 액세스할 수 있도록 한다고 합시다.</p>
 
 <pre>
@@ -303,12 +303,12 @@
 }
 </pre>
 
-<p>위 예시는 클라이언트가 
+<p>위 예시는 클라이언트가
 {@link android.content.ServiceConnection} 구현과 {@link
-android.content.ServiceConnection#onServiceConnected onServiceConnected()} 콜백을 사용하여 서비스에 바인딩하는 방법을 보여줍니다. 다음 
+android.content.ServiceConnection#onServiceConnected onServiceConnected()} 콜백을 사용하여 서비스에 바인딩하는 방법을 보여줍니다. 다음
 섹션에서는 서비스에 바인딩하는 이러한 과정에 대해 좀 더 자세한 정보를 제공합니다.</p>
 
-<p class="note"><strong>참고:</strong> 위 예시에서는 서비스에서 분명히 바인딩을 해제하지는 않습니다. 
+<p class="note"><strong>참고:</strong> 위 예시에서는 서비스에서 분명히 바인딩을 해제하지는 않습니다.
 그러나 모든 클라이언트는 적절한 시점에 바인딩을 해제해야 합니다(액티비티가 일시 중지될 때 등).</p>
 
 <p>더 많은 샘플 코드를 보려면 <a href="{@docRoot}resources/samples/ApiDemos/index.html">ApiDemos</a>에서 <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LocalService.html">{@code
@@ -326,26 +326,26 @@
   <h4>AIDL과 비교</h4>
   <p>IPC를 수행해야 할 경우, 인터페이스에 대해 {@link android.os.Messenger}를 사용하는 것이
 AIDL로 구현하는 것보다 간단합니다. 왜냐하면 {@link android.os.Messenger}는
-모든 호출을 서비스에 대기시키지만 순수한 AIDL 인터페이스는 
+모든 호출을 서비스에 대기시키지만 순수한 AIDL 인터페이스는
 서비스에 동시에 요청을 전송하여 다중 스레딩을 처리해야 하기 때문입니다.</p>
   <p>대부분의 애플리이션에서는 서비스가 다중 스레딩을 수행할 필요가 없으므로 {@link
-android.os.Messenger}를 사용하면 호출을 한 번에 하나씩 처리할 수 있습니다. 서비스가 
+android.os.Messenger}를 사용하면 호출을 한 번에 하나씩 처리할 수 있습니다. 서비스가
 다중 스레딩되는 것이 중요한 경우, 인터페이스를 정의하는 데 <a href="{@docRoot}guide/components/aidl.html">AIDL</a>을 사용해야 합니다.</p>
 </div>
 </div>
 
-<p>서비스가 원격 프로세스와 통신해야 한다면 서비스에 인터페이스를 제공하는 데 
-{@link android.os.Messenger}를 사용하면 됩니다. 이 기법을 사용하면 
+<p>서비스가 원격 프로세스와 통신해야 한다면 서비스에 인터페이스를 제공하는 데
+{@link android.os.Messenger}를 사용하면 됩니다. 이 기법을 사용하면
 AIDL을 쓰지 않고도 프로세스간 통신(IPC)을 수행할 수 있게 해줍니다.</p>
 
 <p>다음은 {@link android.os.Messenger} 사용 방법을 간략하게 요약한 것입니다.</p>
 
 <ul>
-  <li>서비스가 클라이언트로부터 각 호출에 대해 콜백을 받는 {@link android.os.Handler}를 
+  <li>서비스가 클라이언트로부터 각 호출에 대해 콜백을 받는 {@link android.os.Handler}를
 구현합니다.</li>
   <li>{@link android.os.Handler}를 사용하여 {@link android.os.Messenger} 개체를 생성합니다
 (이것은 {@link android.os.Handler}에 대한 참조입니다).</li>
-  <li>{@link android.os.Messenger}가 {@link android.os.IBinder}를 생성하여 서비스가 
+  <li>{@link android.os.Messenger}가 {@link android.os.IBinder}를 생성하여 서비스가
 {@link android.app.Service#onBind onBind()}로부터 클라이언트에게 반환하도록 합니다.</li>
   <li>클라이언트는 {@link android.os.IBinder}를 사용하여 {@link android.os.Messenger}
 (서비스의 {@link android.os.Handler}를 참조)를 인스턴트화하고, 이를 이용하여
@@ -356,8 +356,8 @@
 </ul>
 
 
-<p>이렇게 하면, 클라이언트가 서비스에서 호출할 "메서드"가 없습니다. 대신 클라이언트는 
-"메시지"({@link android.os.Message} 개체)를 전달하여 서비스가 
+<p>이렇게 하면, 클라이언트가 서비스에서 호출할 "메서드"가 없습니다. 대신 클라이언트는
+"메시지"({@link android.os.Message} 개체)를 전달하여 서비스가
 {@link android.os.Handler}로 받을 수 있도록 합니다.</p>
 
 <p>다음은 {@link android.os.Messenger} 인터페이스를 사용하는 간단한 예시 서비스입니다.</p>
@@ -406,7 +406,7 @@
 
 <p>클라이언트는 서비스가 반환한 {@link
 android.os.IBinder}에 기초하여 {@link android.os.Messenger}를 생성하고 {@link
-android.os.Messenger#send send()}로 메시지를 전송하기만 하면 됩니다. 예를 들어, 다음은 
+android.os.Messenger#send send()}로 메시지를 전송하기만 하면 됩니다. 예를 들어, 다음은
 서비스에 바인딩하여 {@code MSG_SAY_HELLO} 메시지를 서비스에 전달하는 간단한 액티비티입니다.</p>
 
 <pre>
@@ -477,7 +477,7 @@
 </pre>
 
 <p>이 예시에는 서비스가 클라이언트에 응답하는 방식이 나타나 있지 않다는 것을 유념하십시오. 서비스가 응답하게 하려면
- 클라이언트에도 {@link android.os.Messenger}를 생성해야 합니다. 
+ 클라이언트에도 {@link android.os.Messenger}를 생성해야 합니다.
 클라이언트가 {@link android.content.ServiceConnection#onServiceConnected
 onServiceConnected()} 콜백을 받으면 {@link android.os.Messenger#send send()}메서드의 {@link android.os.Message#replyTo} 매개변수에서 클라이언트의 {@link android.os.Messenger}를 포함하는 {@link android.os.Message}를
 서비스에 전송합니다.
@@ -493,7 +493,7 @@
 
 <h2 id="Binding">서비스에 바인딩</h2>
 
-<p>애플리케이션 구성 요소(클라이언트)를 서비스에 바인딩하려면 
+<p>애플리케이션 구성 요소(클라이언트)를 서비스에 바인딩하려면
 {@link android.content.Context#bindService bindService()}를 호출하면 됩니다. 그러면 Android
 system이 서비스의 {@link android.app.Service#onBind
 onBind()} 메서드를 호출하고, 이는 서비스와의 상호 작용을 위해 {@link android.os.IBinder}를 반환합니다.</p>
@@ -505,7 +505,7 @@
 bindService()}에 전달해야 합니다. {@link android.content.ServiceConnection}에는
 {@link android.os.IBinder}를 전달하기 위해 시스템이 호출하는 콜백 메서드가 포함됩니다.</p>
 
-<p class="note"><strong>참고:</strong> 서비스에 바인딩할 수 있는 것은 액티비티, 서비스 및 
+<p class="note"><strong>참고:</strong> 서비스에 바인딩할 수 있는 것은 액티비티, 서비스 및
 콘텐츠 제공자뿐입니다. 브로드캐스트 수신자로부터는 서비스에 바인딩할 수 <strong>없습니다</strong>.</p>
 
 <p>따라서, 클라이언트로부터 서비스에 바인딩하려면 다음과 같이 해야 합니다. </p>
@@ -514,12 +514,12 @@
     <p>이 구현으로 두 가지 콜백 메서드를 재정의해야 합니다.</p>
     <dl>
       <dt>{@link android.content.ServiceConnection#onServiceConnected onServiceConnected()}</dt>
-        <dd>시스템이 이것을 호출하여 서비스의 
+        <dd>시스템이 이것을 호출하여 서비스의
 {@link android.app.Service#onBind onBind()} 메서드가 반환한 {@link android.os.IBinder}를 전달합니다.</dd>
       <dt>{@link android.content.ServiceConnection#onServiceDisconnected
 onServiceDisconnected()}</dt>
-        <dd>Android 시스템이 이것을 호출하는 경우는 서비스로의 연결이 
-예기치 못하게 끊어졌을 때, 즉 서비스가 충돌했거나 중단되었을 때 등입니다. 
+        <dd>Android 시스템이 이것을 호출하는 경우는 서비스로의 연결이
+예기치 못하게 끊어졌을 때, 즉 서비스가 충돌했거나 중단되었을 때 등입니다.
 클라이언트가 바인딩을 해제한다고 이것이 호출되지는 <em>않습니다</em>.</dd>
     </dl>
   </li>
@@ -527,19 +527,19 @@
 android.content.Context#bindService bindService()}를 호출하고 {@link
 android.content.ServiceConnection} 구현을 전달합니다. </li>
   <li>시스템이 {@link android.content.ServiceConnection#onServiceConnected
-onServiceConnected()} 콜백 메서드를 호출하면, 인터페이스가 정의한 메서드를 사용하여 
+onServiceConnected()} 콜백 메서드를 호출하면, 인터페이스가 정의한 메서드를 사용하여
 서비스에 호출을 시작해도 됩니다.</li>
   <li>서비스로부터 연결을 해제하려면 {@link
 android.content.Context#unbindService unbindService()}를 호출합니다.
-    <p>클라이언트가 소멸되면 이는 서비스에서 바인딩을 해제하게 되지만, 
-서비스와 상호 작용을 마쳤을 때 또는 액티비티가 일시 중지되었을 때에는 항상 바인딩을 해제해야 합니다. 
-이렇게 해야 서비스가 사용 중이 아닐 때에는 중지할 수 있습니다 
+    <p>클라이언트가 소멸되면 이는 서비스에서 바인딩을 해제하게 되지만,
+서비스와 상호 작용을 마쳤을 때 또는 액티비티가 일시 중지되었을 때에는 항상 바인딩을 해제해야 합니다.
+이렇게 해야 서비스가 사용 중이 아닐 때에는 중지할 수 있습니다
 (바인딩과 바인딩 해제의 적절한 시기는 아래에서 좀 더 논의합니다).</p>
   </li>
 </ol>
 
-<p>예를 들어, 다음 코드 조각은 위와 같이 
-<a href="#Binder">바인더 클래스를 확장해서</a> 생성한 서비스와 클라이언트를 연결합니다. 그러므로 이것이 해야 하는 일은 반환된 
+<p>예를 들어, 다음 코드 조각은 위와 같이
+<a href="#Binder">바인더 클래스를 확장해서</a> 생성한 서비스와 클라이언트를 연결합니다. 그러므로 이것이 해야 하는 일은 반환된
 {@link android.os.IBinder}를 {@code LocalService} 클래스에 캐스팅하고 {@code
 LocalService} 인스턴스를 요청하는 것뿐입니다.</p>
 
@@ -564,7 +564,7 @@
 };
 </pre>
 
-<p>이 {@link android.content.ServiceConnection}이 있으면 클라이언트는 
+<p>이 {@link android.content.ServiceConnection}이 있으면 클라이언트는
 이것을 {@link android.content.Context#bindService bindService()}에 전달하여 서비스에 바인딩할 수 있습니다. 예:</p>
 
 <pre>
@@ -573,12 +573,12 @@
 </pre>
 
 <ul>
-  <li>{@link android.content.Context#bindService bindService()}의 첫 번째 매개변수는 바인딩할 서비스를 명시적으로 명명하는 
-{@link android.content.Intent}입니다(인텐트는 
+  <li>{@link android.content.Context#bindService bindService()}의 첫 번째 매개변수는 바인딩할 서비스를 명시적으로 명명하는
+{@link android.content.Intent}입니다(인텐트는
 암시적일 수 있음).</li>
 <li>두 번째 매개변수는 {@link android.content.ServiceConnection} 개체입니다.</li>
 <li>세 번째 매개변수는 바인딩 옵션을 나타내는 플래그입니다. 서비스를 생성하기 위해 보통은 {@link
-android.content.Context#BIND_AUTO_CREATE}를 사용합니다(이미 살아 있는 상태가 아닌 경우). 
+android.content.Context#BIND_AUTO_CREATE}를 사용합니다(이미 살아 있는 상태가 아닌 경우).
 가능한 기타 값은 {@link android.content.Context#BIND_DEBUG_UNBIND}
  및 {@link android.content.Context#BIND_NOT_FOREGROUND}, 또는 값이 없는 경우 {@code 0}입니다.</li>
 </ul>
@@ -588,27 +588,27 @@
 
 <p>다음은 서비스에 바인딩하는 데 관한 몇 가지 중요한 참고 사항입니다.</p>
 <ul>
-  <li>항상 {@link android.os.DeadObjectException} 예외를 트래핑해야 합니다. 
+  <li>항상 {@link android.os.DeadObjectException} 예외를 트래핑해야 합니다.
 이것은 연결이 끊어지면 발생합니다. 원격 메서드에 의해 발생하는 예외는 이것뿐입니다.</li>
   <li>개체는 여러 프로세스에 걸쳐 감안된 참조입니다. </li>
   <li>일반적으로, 클라이언트의 수명 주기를
 결합하고 분해하는 순간을 일치시키면서 바인딩과 바인딩 해제를 페어링해야 합니다. 예:
     <ul>
-      <li>액티비티가 눈에 보이는 동안에만 서비스와 상호 작용해야 한다면 
+      <li>액티비티가 눈에 보이는 동안에만 서비스와 상호 작용해야 한다면
 {@link android.app.Activity#onStart onStart()}에는 바인딩하고 {@link
 android.app.Activity#onStop onStop()}에는 바인딩을 해제해야 합니다.</li>
       <li>
 배경에서 중단되었을 때도 액티비티가 응답을 받게 하고 싶다면 {@link android.app.Activity#onCreate onCreate()}에는 바인딩하고
-{@link android.app.Activity#onDestroy onDestroy()} 중에는 바인딩을 해제합니다. 
-이때, 사용자의 액티비티가 서비스가 실행되는 시간 전체에서(배경에서라도) 서비스를 사용한다는 것을 유념해야 합니다. 
+{@link android.app.Activity#onDestroy onDestroy()} 중에는 바인딩을 해제합니다.
+이때, 사용자의 액티비티가 서비스가 실행되는 시간 전체에서(배경에서라도) 서비스를 사용한다는 것을 유념해야 합니다.
 서비스가 다른 프로세스에 있을 경우, 사용자가 프로세스의 가중치를 높이면 시스템이
 이를 중단할 가능성이 높아집니다.</li>
     </ul>
     <p class="note"><strong>참고:</strong> 일반적으로는, 액티비티의 {@link android.app.Activity#onResume onResume()}와 {@link
 android.app.Activity#onPause onPause()}에는 바인딩하거나 바인딩을 해제하지 <strong>말아야</strong> 합니다. 이러한 콜백은 모든 수명 주기 전환에서 발생하고
 이런 전환에서 발생하는 처리는
-최소한으로 유지해야 하기 때문입니다. 또한, 
-사용자 애플리케이션의 여러 액티비티가 동일한 서비스에 바인딩되었고 
+최소한으로 유지해야 하기 때문입니다. 또한,
+사용자 애플리케이션의 여러 액티비티가 동일한 서비스에 바인딩되었고
 두 액티비티 사이에 전환이 있을 경우, 현재 액티비티의 바인딩이 해제된 후(일시중지 중) 다음 액티비티가 바인딩하기 전(재개 중)에
 서비스가 제거되었다가 다시 생성될 수 있습니다 (수명 주기를 조절하기 위한 이러한 액티비티 전환은
 <a href="{@docRoot}guide/components/activities.html#CoordinatingActivities">액티비티</a>
@@ -624,8 +624,8 @@
 
 <h2 id="Lifecycle">바인딩된 서비스 수명 주기 관리</h2>
 
-<p>서비스가 모든 클라이언트로부터 바인딩 해제되면, Android 시스템이 이를 소멸시킵니다(다만 
-{@link android.app.Service#onStartCommand onStartCommand()}와도 함께 시작된 경우는 예외). 
+<p>서비스가 모든 클라이언트로부터 바인딩 해제되면, Android 시스템이 이를 소멸시킵니다(다만
+{@link android.app.Service#onStartCommand onStartCommand()}와도 함께 시작된 경우는 예외).
 따라서, 서비스가 순전히 바인딩된 서비스일 경우에는 해당 서비스의 수명 주기를 관리하지 않아도 됩니다.
 클라이언트에 바인딩되었는지를 근거로 Android 시스템이 대신 관리해주기 때문입니다.</p>
 
diff --git a/docs/html-intl/intl/ko/guide/components/fragments.jd b/docs/html-intl/intl/ko/guide/components/fragments.jd
index a41250c..96bf7a1 100644
--- a/docs/html-intl/intl/ko/guide/components/fragments.jd
+++ b/docs/html-intl/intl/ko/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>참고 항목</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">프래그먼트로 동적 UI 구축하기</a></li>
@@ -46,79 +46,79 @@
 </div>
 </div>
 
-<p>{@link android.app.Fragment}는 동작 또는 
-{@link android.app.Activity} 내에서 사용자 인터페이스의 일부를 나타냅니다. 여러 개의 프래그먼트를 하나의 액티비티에 
-조합하여 창이 여러 개인 UI를 구축할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다. 프래그먼트는 자체 수명 주기를 가지고, 자체 입력 이벤트를 받으며, 
-액티비티 실행 중에 추가 및 제거가 가능한 액티비티의 모듈식 섹션이라고 
-생각하면 됩니다(다른 액티비티에 
+<p>{@link android.app.Fragment}는 동작 또는
+{@link android.app.Activity} 내에서 사용자 인터페이스의 일부를 나타냅니다. 여러 개의 프래그먼트를 하나의 액티비티에
+조합하여 창이 여러 개인 UI를 구축할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다. 프래그먼트는 자체 수명 주기를 가지고, 자체 입력 이벤트를 받으며,
+액티비티 실행 중에 추가 및 제거가 가능한 액티비티의 모듈식 섹션이라고
+생각하면 됩니다(다른 액티비티에
 재사용할 수 있는 "하위 액티비티"와 같은 개념).</p>
 
-<p>프래그먼트는 항상 액티비티 내에 포함되어 있어야 하며 해당 프래그먼트의 수명 주기는 
-호스트 액티비티의 수명 주기에 직접적으로 영향을 받습니다. 예를 들어 액티비티가 일시정지되는 경우, 그 안의 모든 프래그먼트도 
-일시정지되며 액티비티가 소멸되면 모든 프래그먼트도 마찬가지로 소멸됩니다. 그러나 액티비티가 실행 중인 
-동안에는(<em>재개됨</em> <a href="{@docRoot}guide/components/activities.html#Lifecycle">수명 주기 상태</a>에 있을 때를 말합니다) 
-각 프래그먼트를 추가 또는 제거하는 등 개별적으로 조작할 수 있습니다. 그와 같은 프래그먼트 트랜잭션을 
-수행할 때에는 이를 액티비티가 관리하는 백 스택에도 
-추가할 수 있습니다. 각 백 스택 항목이 발생한 프래그먼트 트랜잭션의 
+<p>프래그먼트는 항상 액티비티 내에 포함되어 있어야 하며 해당 프래그먼트의 수명 주기는
+호스트 액티비티의 수명 주기에 직접적으로 영향을 받습니다. 예를 들어 액티비티가 일시정지되는 경우, 그 안의 모든 프래그먼트도
+일시정지되며 액티비티가 소멸되면 모든 프래그먼트도 마찬가지로 소멸됩니다. 그러나 액티비티가 실행 중인
+동안에는(<em>재개됨</em> <a href="{@docRoot}guide/components/activities.html#Lifecycle">수명 주기 상태</a>에 있을 때를 말합니다)
+각 프래그먼트를 추가 또는 제거하는 등 개별적으로 조작할 수 있습니다. 그와 같은 프래그먼트 트랜잭션을
+수행할 때에는 이를 액티비티가 관리하는 백 스택에도
+추가할 수 있습니다. 각 백 스택 항목이 발생한 프래그먼트 트랜잭션의
 기록이 됩니다. 이 백 스택을 사용하면 사용자가 프래그먼트 트랜잭션을 거꾸로 돌릴 수 있습니다(뒤로 이동).
 이때 <em>뒤로</em> 버튼을 누르면 됩니다.</p>
 
 <p>프래그먼트를 액티비티 레이아웃의 일부로 추가하는 경우, 이는 액티비티의 보기 계층 내부의 {@link
-android.view.ViewGroup} 안에 살며, 해당 프래그먼트가 자신의 보기 
+android.view.ViewGroup} 안에 살며, 해당 프래그먼트가 자신의 보기
 레이아웃을 정의합니다.
-프래그먼트를 액티비티 레이아웃에 삽입하려면 해당 프래그먼트를 
-액티비티의 레이아웃 파일에서 {@code &lt;fragment&gt;} 요소로 선언하거나, 애플리케이션 코드에서 이를 
-기존의 {@link android.view.ViewGroup}에 추가하면 됩니다. 그러나 프래그먼트가 
-액티비티 레이아웃의 일부분이어야만 하는 것은 아닙니다. 나름의 UI가 없는 프래그먼트도 액티비티를 위한 
+프래그먼트를 액티비티 레이아웃에 삽입하려면 해당 프래그먼트를
+액티비티의 레이아웃 파일에서 {@code &lt;fragment&gt;} 요소로 선언하거나, 애플리케이션 코드에서 이를
+기존의 {@link android.view.ViewGroup}에 추가하면 됩니다. 그러나 프래그먼트가
+액티비티 레이아웃의 일부분이어야만 하는 것은 아닙니다. 나름의 UI가 없는 프래그먼트도 액티비티를 위한
 보이지 않는 작업자로 사용할 수 있습니다.</p>
 
-<p>이 문서에서는 프래그먼트를 사용하도록 애플리케이션을 구축하는 법을 
-설명합니다. 그중에는 프래그먼트를 액티비티의 백 스택에 추가했을 때 프래그먼트가 자신의 상태를 유지하는 방법, 
-액티비티 및 액티비티 내의 다른 프래그먼트와 이벤트를 공유하는 방법과 액티비티의 
+<p>이 문서에서는 프래그먼트를 사용하도록 애플리케이션을 구축하는 법을
+설명합니다. 그중에는 프래그먼트를 액티비티의 백 스택에 추가했을 때 프래그먼트가 자신의 상태를 유지하는 방법,
+액티비티 및 액티비티 내의 다른 프래그먼트와 이벤트를 공유하는 방법과 액티비티의
 작업 모음에 참가하는 법 등등 여러 가지가 포함됩니다.</p>
 
 
 <h2 id="Design">디자인 철학</h2>
 
-<p>Android가 프래그먼트를 처음 도입한 것은 Android 3.0(API 레벨 11)부터입니다. 기본적으로 
-태블릿과 같은 큰 화면에서 보다 역동적이고 유연한 UI 디자인을 지원하는 것이 목적이었습니다. 태블릿의 화면은 
-핸드셋 화면보다 훨씬 크기 때문에 UI 구성 요소를 조합하고 상호 교환할 공간이 
-더 많습니다. 프래그먼트는 개발자가 보기 계층에 복잡한 변경 내용을 관리하지 않아도 
-그러한 디자인을 사용할 수 있도록 해주는 것입니다. 한 액티비티의 레이아웃을 여러 프래그먼트로 나누면 
-런타임에 액티비티의 외관을 수정할 수도 있고 그러한 변경 내용을 해당 액티비티가 관리하는 
+<p>Android가 프래그먼트를 처음 도입한 것은 Android 3.0(API 레벨 11)부터입니다. 기본적으로
+태블릿과 같은 큰 화면에서 보다 역동적이고 유연한 UI 디자인을 지원하는 것이 목적이었습니다. 태블릿의 화면은
+핸드셋 화면보다 훨씬 크기 때문에 UI 구성 요소를 조합하고 상호 교환할 공간이
+더 많습니다. 프래그먼트는 개발자가 보기 계층에 복잡한 변경 내용을 관리하지 않아도
+그러한 디자인을 사용할 수 있도록 해주는 것입니다. 한 액티비티의 레이아웃을 여러 프래그먼트로 나누면
+런타임에 액티비티의 외관을 수정할 수도 있고 그러한 변경 내용을 해당 액티비티가 관리하는
 백 스택에 보존할 수도 있습니다.</p>
 
-<p>예를 들어 뉴스 애플리케이션이라면 하나의 프래그먼트를 사용하여 
-왼쪽에 기사 목록을 표시하도록 하고 또 다른 프래그먼트로 오른쪽에 기사 내용을 표시하도록 할 수 있습니다. 두 프래그먼트 모두 
-한 액티비티에서 양쪽으로 나란히 나타나며, 각 프래그먼트에 나름의 수명 주기 콜백 메서드가 있고 
-각자 사용자 입력 이벤트를 따로 처리하게 됩니다. 따라서, 사용자는 기사를 선택하는 데 한 액티비티를 쓰고 
-기사를 읽는 데 또 다른 액티비티를 선택하는 대신에 같은 액티비티 안에서 기사를 선택하고 읽는 과정을 
+<p>예를 들어 뉴스 애플리케이션이라면 하나의 프래그먼트를 사용하여
+왼쪽에 기사 목록을 표시하도록 하고 또 다른 프래그먼트로 오른쪽에 기사 내용을 표시하도록 할 수 있습니다. 두 프래그먼트 모두
+한 액티비티에서 양쪽으로 나란히 나타나며, 각 프래그먼트에 나름의 수명 주기 콜백 메서드가 있고
+각자 사용자 입력 이벤트를 따로 처리하게 됩니다. 따라서, 사용자는 기사를 선택하는 데 한 액티비티를 쓰고
+기사를 읽는 데 또 다른 액티비티를 선택하는 대신에 같은 액티비티 안에서 기사를 선택하고 읽는 과정을
 모두 끝낼 수 있는 것입니다. 이것은 그림 1에 나타낸 태블릿 레이아웃과 같습니다.</p>
 
-<p>프래그먼트를 디자인할 때에는 각 프래그먼트를 모듈식이며 재사용 가능한 액티비티 구성 요소로 만들어야 합니다. 
-다시 말해, 각 프래그먼트가 나름의 레이아웃을 따로 정의하고 자기만의 수명 주기 콜백으로 자기 나름의 동작을 정의하기 때문에 
-한 프래그먼트를 여러 액티비티에 포함시킬 수 있습니다. 그러므로 재사용을 염두에 두고 디자인하며 
-한 프래그먼트를 또 다른 프래그먼트로부터 직접 조작하는 것은 삼가야 합니다. 이것은 특히 모듈식 프래그먼트를 사용하면 
-프래그먼트 조합을 여러 가지 화면 크기에 맞춰 변경할 수 있도록 해주기 때문에 중요한 요점입니다. 태블릿과 핸드셋을 모두 지원하는 
-애플리케이션을 디자인하는 경우, 사용 가능한 화면 공간을 토대로 사용자 경험을 최적화하도록 프래그먼트를 
-여러 레이아웃 구성에 재사용할 수 있습니다. 예를 들어 핸드셋에서의 경우 
-프래그먼트를 분리해서 단일 창 UI를 제공하도록 해야할 수 있습니다. 같은 액티비티 안에 하나 이상이 들어가지 않을 수 
+<p>프래그먼트를 디자인할 때에는 각 프래그먼트를 모듈식이며 재사용 가능한 액티비티 구성 요소로 만들어야 합니다.
+다시 말해, 각 프래그먼트가 나름의 레이아웃을 따로 정의하고 자기만의 수명 주기 콜백으로 자기 나름의 동작을 정의하기 때문에
+한 프래그먼트를 여러 액티비티에 포함시킬 수 있습니다. 그러므로 재사용을 염두에 두고 디자인하며
+한 프래그먼트를 또 다른 프래그먼트로부터 직접 조작하는 것은 삼가야 합니다. 이것은 특히 모듈식 프래그먼트를 사용하면
+프래그먼트 조합을 여러 가지 화면 크기에 맞춰 변경할 수 있도록 해주기 때문에 중요한 요점입니다. 태블릿과 핸드셋을 모두 지원하는
+애플리케이션을 디자인하는 경우, 사용 가능한 화면 공간을 토대로 사용자 경험을 최적화하도록 프래그먼트를
+여러 레이아웃 구성에 재사용할 수 있습니다. 예를 들어 핸드셋에서의 경우
+프래그먼트를 분리해서 단일 창 UI를 제공하도록 해야할 수 있습니다. 같은 액티비티 안에 하나 이상이 들어가지 않을 수
 있기 때문입니다.</p>
 
 <img src="{@docRoot}images/fundamentals/fragments.png" alt="" />
-<p class="img-caption"><strong>그림 1.</strong> 프래그먼트가 정의한 두 가지 UI 모듈이 
-태블릿 디자인에서는 하나의 액티비티로 조합될 수 있는 반면 핸드셋 디자인에서는 분리될 수 있다는 것을 
+<p class="img-caption"><strong>그림 1.</strong> 프래그먼트가 정의한 두 가지 UI 모듈이
+태블릿 디자인에서는 하나의 액티비티로 조합될 수 있는 반면 핸드셋 디자인에서는 분리될 수 있다는 것을
 예시로 나타낸 것입니다.</p>
 
-<p>예를 들어&mdash;뉴스 애플리케이션 예시를 계속 사용하겠습니다&mdash;이 애플리케이션을 태블릿 크기의 기기에서 실행하는 경우, 
-애플리케이션 내의 <em>액티비티 A</em> 안에 두 개의 프래그먼트를 포함시킬 수 있습니다. 그러나 
-핸드셋 크기의 화면에서라면 두 프래그먼트를 모두 쓸 만큼 공간이 충분치 않습니다. 
-따라서 <em>액티비티 A</em>에는 기사 목록에 해당되는 프래그먼트만 포함하고, 사용자가 기사를 하나 선택하면 이것이 
-<em>액티비티 B</em>를 시작합니다. 여기에 기사를 읽을 두 번째 프래그먼트가 포함되어 있습니다. 따라서 이 애플리케이션은 
-서로 다른 조합으로 프래그먼트를 재사용함으로써 태블릿과 핸드셋을 둘 다 지원하는 
+<p>예를 들어&mdash;뉴스 애플리케이션 예시를 계속 사용하겠습니다&mdash;이 애플리케이션을 태블릿 크기의 기기에서 실행하는 경우,
+애플리케이션 내의 <em>액티비티 A</em> 안에 두 개의 프래그먼트를 포함시킬 수 있습니다. 그러나
+핸드셋 크기의 화면에서라면 두 프래그먼트를 모두 쓸 만큼 공간이 충분치 않습니다.
+따라서 <em>액티비티 A</em>에는 기사 목록에 해당되는 프래그먼트만 포함하고, 사용자가 기사를 하나 선택하면 이것이
+<em>액티비티 B</em>를 시작합니다. 여기에 기사를 읽을 두 번째 프래그먼트가 포함되어 있습니다. 따라서 이 애플리케이션은
+서로 다른 조합으로 프래그먼트를 재사용함으로써 태블릿과 핸드셋을 둘 다 지원하는
 것입니다(그림 1 참조).</p>
 
-<p>여러 가지 화면 구성에 맞게 여러 가지 프래그먼트 조합으로 애플리케이션을 디자인하는 법에 대한 자세한 정보는 
+<p>여러 가지 화면 구성에 맞게 여러 가지 프래그먼트 조합으로 애플리케이션을 디자인하는 법에 대한 자세한 정보는
 <a href="{@docRoot}guide/practices/tablets-and-handsets.html">태블릿 및 핸드셋 지원</a>에 대한 가이드를 참조하십시오.</p>
 
 
@@ -132,36 +132,36 @@
 </div>
 
 <p>프래그먼트를 생성하려면 {@link android.app.Fragment}의 하위 클래스(또는 이의 기존
-하위 클래스)를 생성해야 합니다. {@link android.app.Fragment} 클래스에는 
-{@link android.app.Activity}와 아주 유사해 보이는 코드가 있습니다. 여기에는 액티비티와 비슷한 콜백 메서드가 들어 있습니다. 
+하위 클래스)를 생성해야 합니다. {@link android.app.Fragment} 클래스에는
+{@link android.app.Activity}와 아주 유사해 보이는 코드가 있습니다. 여기에는 액티비티와 비슷한 콜백 메서드가 들어 있습니다.
 예를 들어 {@link android.app.Fragment#onCreate onCreate()}, {@link android.app.Fragment#onStart onStart()},
-{@link android.app.Fragment#onPause onPause()} 및 {@link android.app.Fragment#onStop onStop()} 등입니다. 사실, 
-기존 Android 애플리케이션을 변환하여 프래그먼트를 사용하도록 하려면 그저 
-액티비티의 콜백 메서드에서 프래그먼트에 해당되는 콜백 메서드로 코드를 옮기기만 하면 
+{@link android.app.Fragment#onPause onPause()} 및 {@link android.app.Fragment#onStop onStop()} 등입니다. 사실,
+기존 Android 애플리케이션을 변환하여 프래그먼트를 사용하도록 하려면 그저
+액티비티의 콜백 메서드에서 프래그먼트에 해당되는 콜백 메서드로 코드를 옮기기만 하면
 될 수도 있습니다.</p>
 
 <p>보통은 최소한 다음과 같은 수명 주기 메서드를 구현해야 합니다.</p>
 
 <dl>
   <dt>{@link android.app.Fragment#onCreate onCreate()}</dt>
-  <dd>시스템은 프래그먼트를 생성할 때 이것을 호출합니다. 구현 내에서 프래그먼트의 기본 구성 요소 중 
-프래그먼트가 일시정지되거나 중단되었다가 재개되었을 때 유지하고자 하는 것을 
+  <dd>시스템은 프래그먼트를 생성할 때 이것을 호출합니다. 구현 내에서 프래그먼트의 기본 구성 요소 중
+프래그먼트가 일시정지되거나 중단되었다가 재개되었을 때 유지하고자 하는 것을
 초기화해야 합니다.</dd>
   <dt>{@link android.app.Fragment#onCreateView onCreateView()}</dt>
-  <dd>시스템은 프래그먼트가 자신의 사용자 인터페이스를 처음으로 그릴 시간이 되면 
-이것을 호출합니다. 프래그먼트에 맞는 UI를 그리려면 메서드에서 {@link android.view.View}를 반환해야 합니다. 
-이 메서드는 프래그먼트 레이아웃의 루트입니다. 프래그먼트가 UI를 제공하지 않는 경우 null을 반환하면 
+  <dd>시스템은 프래그먼트가 자신의 사용자 인터페이스를 처음으로 그릴 시간이 되면
+이것을 호출합니다. 프래그먼트에 맞는 UI를 그리려면 메서드에서 {@link android.view.View}를 반환해야 합니다.
+이 메서드는 프래그먼트 레이아웃의 루트입니다. 프래그먼트가 UI를 제공하지 않는 경우 null을 반환하면
 됩니다.</dd>
   <dt>{@link android.app.Activity#onPause onPause()}</dt>
-  <dd>시스템이 이 메서드를 호출하는 것은 사용자가 프래그먼트를 떠난다는 
-첫 번째 신호입니다(다만 이것이 항상 프래그먼트가 소멸 중이라는 뜻은 아닙니다). 현재 사용자 세션을 넘어서 
-지속되어야 하는 변경 사항을 커밋하려면 보통 이곳에서 해아 합니다(사용자가 
+  <dd>시스템이 이 메서드를 호출하는 것은 사용자가 프래그먼트를 떠난다는
+첫 번째 신호입니다(다만 이것이 항상 프래그먼트가 소멸 중이라는 뜻은 아닙니다). 현재 사용자 세션을 넘어서
+지속되어야 하는 변경 사항을 커밋하려면 보통 이곳에서 해아 합니다(사용자가
 돌아오지 않을 수 있기 때문입니다).</dd>
 </dl>
 
-<p>대부분의 애플리케이션은 각각의 프래그먼트에 이와 같은 메서드를 최소한 세 개씩 
-구현해야 하지만, 프래그먼트 수명 주기의 여러 단계를 처리하려면 사용해야 하는 다른 콜백 메서드도 
-많이 있습니다. 모든 수명 주기 콜백 메서드는 나중에 
+<p>대부분의 애플리케이션은 각각의 프래그먼트에 이와 같은 메서드를 최소한 세 개씩
+구현해야 하지만, 프래그먼트 수명 주기의 여러 단계를 처리하려면 사용해야 하는 다른 콜백 메서드도
+많이 있습니다. 모든 수명 주기 콜백 메서드는 나중에
 <a href="#Lifecycle">프래그먼트 수명 주기 처리</a> 섹션에서 더욱 상세히 논의할 것입니다.</p>
 
 
@@ -170,45 +170,45 @@
 
 <dl>
   <dt>{@link android.app.DialogFragment}</dt>
-  <dd>부동 대화 창을 표시합니다. 이 클래스를 사용하여 대화를 생성하면 
-{@link android.app.Activity} 클래스의 대화 도우미 메서드를 사용하는 것의 
-좋은 대안책이 됩니다. 이렇게 하면 프래그먼트 대화를 액티비티가 관리하는 프래그먼트의 백 스택에 통합시킬 수 있어, 
+  <dd>부동 대화 창을 표시합니다. 이 클래스를 사용하여 대화를 생성하면
+{@link android.app.Activity} 클래스의 대화 도우미 메서드를 사용하는 것의
+좋은 대안책이 됩니다. 이렇게 하면 프래그먼트 대화를 액티비티가 관리하는 프래그먼트의 백 스택에 통합시킬 수 있어,
 사용자가 무시된 프래그먼트를 반환할 수 있도록 해주기 때문입니다.</dd>
 
   <dt>{@link android.app.ListFragment}</dt>
   <dd>어댑터가 관리하는 항목의 목록(예: {@link
-android.widget.SimpleCursorAdapter})을 표시하며, {@link android.app.ListActivity}와 비슷합니다. 
+android.widget.SimpleCursorAdapter})을 표시하며, {@link android.app.ListActivity}와 비슷합니다.
 이것은 목록 보기를 관리하는 데 쓰는 몇 가지 메서드를 제공합니다. 예를 들어 {@link
-android.app.ListFragment#onListItemClick(ListView,View,int,long) onListItemClick()} 콜백을 
+android.app.ListFragment#onListItemClick(ListView,View,int,long) onListItemClick()} 콜백을
 제공하여 클릭 이벤트를 처리하는 것 등입니다.</dd>
 
   <dt>{@link android.preference.PreferenceFragment}</dt>
-  <dd>{@link android.preference.Preference} 객체의 계층을 목록으로 표시하며, 
-{@link android.preference.PreferenceActivity}와 비슷합니다. 이것은 
+  <dd>{@link android.preference.Preference} 객체의 계층을 목록으로 표시하며,
+{@link android.preference.PreferenceActivity}와 비슷합니다. 이것은
 애플리케이션에 대한 "설정" 액티비티를 생성할 때 유용합니다.</dd>
 </dl>
 
 
 <h3 id="UI">사용자 인터페이스 추가하기</h3>
 
-<p>프래그먼트는 일반적으로 액티비티에 속한 사용자 인터페이스의 일부분으로 사용되며 
+<p>프래그먼트는 일반적으로 액티비티에 속한 사용자 인터페이스의 일부분으로 사용되며
 자기 나름의 레이아웃으로 액티비티에 참가합니다.</p>
 
 <p>프래그먼트에 대해 레이아웃을 제공하려면 반드시 {@link
-android.app.Fragment#onCreateView onCreateView()} 콜백 메서드를 구현해야 합니다. 
-이것은 프래그먼트가 자신의 레이아웃을 그릴 때가 되면 Android 시스템이 호출하는 것입니다. 이 메서드의 구현은 반드시 
+android.app.Fragment#onCreateView onCreateView()} 콜백 메서드를 구현해야 합니다.
+이것은 프래그먼트가 자신의 레이아웃을 그릴 때가 되면 Android 시스템이 호출하는 것입니다. 이 메서드의 구현은 반드시
 {@link android.view.View}를 반환해야 합니다. 이것은 프래그먼트 레이아웃의 루트입니다.</p>
 
 <p class="note"><strong>참고:</strong> 프래그먼트가 {@link
-android.app.ListFragment}의 하위 클래스인 경우, 기본 구현이 
+android.app.ListFragment}의 하위 클래스인 경우, 기본 구현이
 {@link android.app.Fragment#onCreateView onCreateView()}로부터 {@link android.widget.ListView}를 반환하므로 이를 구현하지 않아도 됩니다.</p>
 
 <p>{@link
-android.app.Fragment#onCreateView onCreateView()}로부터 레이아웃을 반환하려면 이를 XML에서 정의된 <a href="{@docRoot}guide/topics/resources/layout-resource.html">레이아웃 리소스</a>로부터 팽창시키면 됩니다. 이를 돕기 위해 
-{@link android.app.Fragment#onCreateView onCreateView()}가 
+android.app.Fragment#onCreateView onCreateView()}로부터 레이아웃을 반환하려면 이를 XML에서 정의된 <a href="{@docRoot}guide/topics/resources/layout-resource.html">레이아웃 리소스</a>로부터 팽창시키면 됩니다. 이를 돕기 위해
+{@link android.app.Fragment#onCreateView onCreateView()}가
 {@link android.view.LayoutInflater} 객체를 제공합니다.</p>
 
-<p>예를 들어 다음은 {@link android.app.Fragment}의 하위 클래스입니다. 이것이 
+<p>예를 들어 다음은 {@link android.app.Fragment}의 하위 클래스입니다. 이것이
 {@code example_fragment.xml} 파일로부터 레이아웃을 로딩합니다.</p>
 
 <pre>
@@ -225,49 +225,49 @@
 <div class="sidebox-wrapper">
 <div class="sidebox">
   <h3>레이아웃 생성</h3>
-  <p>위의 샘플에서 {@code R.layout.example_fragment}는 
-애플리케이션 리소스에 저장된 {@code example_fragment.xml}이라는 레이아웃 리소스에 대한 참조입니다. 레이아웃을 
+  <p>위의 샘플에서 {@code R.layout.example_fragment}는
+애플리케이션 리소스에 저장된 {@code example_fragment.xml}이라는 레이아웃 리소스에 대한 참조입니다. 레이아웃을
 XML로 생성하는 방법에 대한 정보는 <a href="{@docRoot}guide/topics/ui/index.html">사용자 인터페이스</a>
  문서를 참조하십시오.</p>
 </div>
 </div>
 
 <p>{@link android.app.Fragment#onCreateView
-onCreateView()}로 전달된 {@code container} 매개변수가 상위 {@link android.view.ViewGroup}이며(액티비티의 레이아웃으로부터), 
+onCreateView()}로 전달된 {@code container} 매개변수가 상위 {@link android.view.ViewGroup}이며(액티비티의 레이아웃으로부터),
 이 안에 프래그먼트 레이아웃이 삽입됩니다.
- {@code savedInstanceState} 매개변수는 일종의 {@link android.os.Bundle}로, 
-이것은 프래그먼트가 재개되는 중인 경우 프래그먼트의 이전 인스턴스에 대한 데이터를 
-제공합니다(상태를 복원하는 것은 <a href="#Lifecycle">프래그먼트 수명 주기 
+ {@code savedInstanceState} 매개변수는 일종의 {@link android.os.Bundle}로,
+이것은 프래그먼트가 재개되는 중인 경우 프래그먼트의 이전 인스턴스에 대한 데이터를
+제공합니다(상태를 복원하는 것은 <a href="#Lifecycle">프래그먼트 수명 주기
 처리</a>에서 좀 더 논의합니다).</p>
 
-<p>{@link android.view.LayoutInflater#inflate(int,ViewGroup,boolean) inflate()} 메서드는 
+<p>{@link android.view.LayoutInflater#inflate(int,ViewGroup,boolean) inflate()} 메서드는
 다음과 같은 세 개의 인수를 취합니다.</p>
 <ul>
   <li>팽창시키고자 하는 레이아웃의 리소스 ID.</li>
   <li>팽창된 레이아웃의 상위가 될 {@link android.view.ViewGroup}. {@code
-container}를 전달해야 시스템이 레이아웃 매개변수를 팽창된 레이아웃의 루트 보기에 실행 중인 상위 보기에서 지정한 것과 같이 
+container}를 전달해야 시스템이 레이아웃 매개변수를 팽창된 레이아웃의 루트 보기에 실행 중인 상위 보기에서 지정한 것과 같이
 적용할 수 있으므로 이는 중요한 부분입니다.</li>
   <li>팽창된 레이아웃이 팽창 중에 {@link
-android.view.ViewGroup}(두 번째 매개변수)에 첨부되어야 하는지를 나타내는 부울 값 (이 경우, 
+android.view.ViewGroup}(두 번째 매개변수)에 첨부되어야 하는지를 나타내는 부울 값 (이 경우,
 이것은 거짓입니다. 시스템이 이미 팽창된 레이아웃을 {@code
 container} 안에 삽입하고 있기 때문입니다. 참을 전달하면 최종 레이아웃에 중복된 보기 그룹을 생성하게 됩니다).</li>
 </ul>
 
-<p>이제 레이아웃을 제공하는 프래그먼트 생성하는 법을 알게 되셨습니다. 다음은 프래그먼트를 
+<p>이제 레이아웃을 제공하는 프래그먼트 생성하는 법을 알게 되셨습니다. 다음은 프래그먼트를
 액티비티에 추가해야 합니다.</p>
 
 
 
 <h3 id="Adding">액티비티에 프래그먼트 추가</h3>
 
-<p>프래그먼트는 보통 UI의 일부분으로 호스트 액티비티에 참가합니다. 이는 해당 액티비티의 
-전반적인 보기 계층의 일부분으로 포함되게 됩니다. 프래그먼트를 액티비티 레이아웃에 추가하는 데에는 두 가지 방법이 
+<p>프래그먼트는 보통 UI의 일부분으로 호스트 액티비티에 참가합니다. 이는 해당 액티비티의
+전반적인 보기 계층의 일부분으로 포함되게 됩니다. 프래그먼트를 액티비티 레이아웃에 추가하는 데에는 두 가지 방법이
 있습니다.</p>
 
 <ul>
   <li><b>프래그먼트를 액티비티의 레이아웃 파일 안에서 선언합니다.</b>
-<p>이 경우, 프래그먼트에 대한 레이아웃 속성을 마치 
-보기인 것처럼 나타낼 수 있습니다. 예를 들어 다음은 프래그먼트가 두 개 있는 
+<p>이 경우, 프래그먼트에 대한 레이아웃 속성을 마치
+보기인 것처럼 나타낼 수 있습니다. 예를 들어 다음은 프래그먼트가 두 개 있는
 한 액티비티에 대한 레이아웃 파일을 나타낸 것입니다.</p>
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
@@ -290,31 +290,31 @@
   <p>{@code &lt;fragment&gt;} 안의 {@code android:name} 속성이 레이아웃 안에서 인스턴트화할 {@link
 android.app.Fragment} 클래스를 나타냅니다.</p>
 
-<p>시스템은 이 액티비티 레이아웃을 생성할 때 레이아웃에서 지정된 각 프래그먼트를 인스턴트화하며 각각에 대해 
-{@link android.app.Fragment#onCreateView onCreateView()} 메서드를 
-호출하여 각 프래그먼트의 레이아웃을 검색합니다. 시스템은 프래그먼트가 반환한 {@link android.view.View}를 
+<p>시스템은 이 액티비티 레이아웃을 생성할 때 레이아웃에서 지정된 각 프래그먼트를 인스턴트화하며 각각에 대해
+{@link android.app.Fragment#onCreateView onCreateView()} 메서드를
+호출하여 각 프래그먼트의 레이아웃을 검색합니다. 시스템은 프래그먼트가 반환한 {@link android.view.View}를
 {@code &lt;fragment&gt;} 요소 자리에 곧바로 삽입합니다.</p>
 
 <div class="note">
-  <p><strong>참고:</strong> 각 프래그먼트에는 액티비티가 재시작되는 경우 
-프래그먼트를 복구하기 위해 시스템이 사용할 수 있는 고유한 식별자가 필요합니다(그리고, 개발자는 이것을 사용하여 프래그먼트를 캡처해 
-이를 제거하는 등 여러 가지 트랜잭션을 수행할 수 있습니다). 프래그먼트에 ID를 제공하는 데에는 
+  <p><strong>참고:</strong> 각 프래그먼트에는 액티비티가 재시작되는 경우
+프래그먼트를 복구하기 위해 시스템이 사용할 수 있는 고유한 식별자가 필요합니다(그리고, 개발자는 이것을 사용하여 프래그먼트를 캡처해
+이를 제거하는 등 여러 가지 트랜잭션을 수행할 수 있습니다). 프래그먼트에 ID를 제공하는 데에는
 다음과 같은 세 가지 방법이 있습니다.</p>
   <ul>
     <li>고유한 ID와 함께 {@code android:id} 속성을 제공합니다.</li>
     <li>고유한 문자열과 함께 {@code android:tag} 속성을 제공합니다.</li>
-    <li>위의 두 가지 중 어느 것도 제공하지 않으면, 시스템은 컨테이너 보기의 ID를 
+    <li>위의 두 가지 중 어느 것도 제공하지 않으면, 시스템은 컨테이너 보기의 ID를
 사용합니다.</li>
   </ul>
 </div>
   </li>
 
   <li><b>또는, 프로그래밍 방식으로 프래그먼트를 기존의 {@link android.view.ViewGroup}에 추가합니다.</b>
-<p>액티비티가 실행 중인 동안에는 언제든 액티비티 레이아웃에 프래그먼트를 추가할 수 있습니다. 그저 프래그먼트를 배치할 
+<p>액티비티가 실행 중인 동안에는 언제든 액티비티 레이아웃에 프래그먼트를 추가할 수 있습니다. 그저 프래그먼트를 배치할
 {@link
 android.view.ViewGroup}를 지정하기만 하면 됩니다.</p>
-  <p>액티비티 내에서 프래그먼트 트랜잭션을 수행하려면(프래그먼트 추가, 제거 또는 
-교체 등), {@link android.app.FragmentTransaction}에서 가져온 API를 사용해야 합니다. 
+  <p>액티비티 내에서 프래그먼트 트랜잭션을 수행하려면(프래그먼트 추가, 제거 또는
+교체 등), {@link android.app.FragmentTransaction}에서 가져온 API를 사용해야 합니다.
 {@link android.app.FragmentTransaction}의 인스턴스를 {@link android.app.Activity}에서 가져오는 방법은 다음과 같습니다.</p>
 
 <pre>
@@ -323,7 +323,7 @@
 </pre>
 
 <p>그런 다음 {@link
-android.app.FragmentTransaction#add(int,Fragment) add()} 메서드를 사용하여 프래그먼트를 추가하고, 추가할 프래그먼트와 이를 삽입할 
+android.app.FragmentTransaction#add(int,Fragment) add()} 메서드를 사용하여 프래그먼트를 추가하고, 추가할 프래그먼트와 이를 삽입할
 보기를 지정하면 됩니다. 예:</p>
 
 <pre>
@@ -332,11 +332,11 @@
 fragmentTransaction.commit();
 </pre>
 
-  <p>{@link android.app.FragmentTransaction#add(int,Fragment) add()}에 
-전달되는 첫 인수가 {@link android.view.ViewGroup}입니다. 
+  <p>{@link android.app.FragmentTransaction#add(int,Fragment) add()}에
+전달되는 첫 인수가 {@link android.view.ViewGroup}입니다.
 여기에 프래그먼트가 리소스 ID가 지정한 바와 같이 배치되어야 하며, 두 번째 매개변수는 추가할 프래그먼트입니다.</p>
   <p>
-{@link android.app.FragmentTransaction}을 변경하고 나면, 반드시 
+{@link android.app.FragmentTransaction}을 변경하고 나면, 반드시
 {@link android.app.FragmentTransaction#commit}을 호출해야 변경 내용이 적용됩니다.</p>
   </li>
 </ul>
@@ -344,41 +344,41 @@
 
 <h4 id="AddingWithoutUI">UI 없이 프래그먼트 추가</h4>
 
-<p>위의 예시에서는 UI를 제공하기 위해 프래그먼트를 액티비티에 추가하는 방법을 보여드렸습니다. 하지만 
-추가로 UI를 제시하지 않고 액티비티에 대한 배경 동작을 제공하는 데에도 프래그먼트를 사용할 수 
+<p>위의 예시에서는 UI를 제공하기 위해 프래그먼트를 액티비티에 추가하는 방법을 보여드렸습니다. 하지만
+추가로 UI를 제시하지 않고 액티비티에 대한 배경 동작을 제공하는 데에도 프래그먼트를 사용할 수
 있습니다.</p>
 
 <p>UI 없이 프래그먼트를 추가하려면 액티비티로부터 가져온 프래그먼트를 {@link
-android.app.FragmentTransaction#add(Fragment,String)}을 사용하여 추가합니다(이때, 프래그먼트에 대해 
-보기 ID보다는 고유한 문자열 "태그"를 제공합니다). 이렇게 하면 프래그먼트가 추가되지만, 
+android.app.FragmentTransaction#add(Fragment,String)}을 사용하여 추가합니다(이때, 프래그먼트에 대해
+보기 ID보다는 고유한 문자열 "태그"를 제공합니다). 이렇게 하면 프래그먼트가 추가되지만,
 이것은 액티비티 레이아웃 안에 있는 보기와 연관되어 있지 않기 때문에 {@link
 android.app.Fragment#onCreateView onCreateView()}로의 호출은 받지 않습니다. 따라서 그 메서드는 구현하지 않아도 됩니다.</p>
 
-<p>프래그먼트에 대해 문자열 태그를 제공하는 것은 엄밀히 말해 비 UI 프래그먼트에만 해당되는 것은 아닙니다. UI가 있는 
-프래그먼트에도 문자열 태그를 제공할 수 있습니다. 하지만 프래그먼트에 
-UI가 없는 경우라면 이를 식별할 방법은 문자열 태그뿐입니다. 액티비티에서 나중에 
+<p>프래그먼트에 대해 문자열 태그를 제공하는 것은 엄밀히 말해 비 UI 프래그먼트에만 해당되는 것은 아닙니다. UI가 있는
+프래그먼트에도 문자열 태그를 제공할 수 있습니다. 하지만 프래그먼트에
+UI가 없는 경우라면 이를 식별할 방법은 문자열 태그뿐입니다. 액티비티에서 나중에
 프래그먼트를 가져오고자 하는 경우, {@link android.app.FragmentManager#findFragmentByTag
 findFragmentByTag()}를 사용해야 합니다.</p>
 
 <p>예를 들어 어떤 액티비티에서 UI 없이 프래그먼트를 배경 작업자로 사용한다고 가정해봅시다. 이것의 예로 {@code
-FragmentRetainInstance.java} 샘플을 들 수 있으며 
-이는 SDK 샘플에 포함되어 있고(Android SDK Manager를 통해 이용 가능), 시스템에는 
+FragmentRetainInstance.java} 샘플을 들 수 있으며
+이는 SDK 샘플에 포함되어 있고(Android SDK Manager를 통해 이용 가능), 시스템에는
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>로 찾을 수 있습니다.</p>
 
 
 
 <h2 id="Managing">프래그먼트 관리</h2>
 
-<p>액티비티 내의 프래그먼트를 관리하려면 {@link android.app.FragmentManager}를 사용해야 합니다. 이것을 
+<p>액티비티 내의 프래그먼트를 관리하려면 {@link android.app.FragmentManager}를 사용해야 합니다. 이것을
 가져오려면 액티비티에서 {@link android.app.Activity#getFragmentManager()}를 호출하십시오.</p>
 
 <p>{@link android.app.FragmentManager}를 가지고 할 수 있는 여러 가지 일 중에 예를 들면 다음과 같습니다.</p>
 
 <ul>
   <li>액티비티 내에 존재하는 프래그먼트를 {@link
-android.app.FragmentManager#findFragmentById findFragmentById()}로 가져오기(액티비티 레이아웃 내에서 
+android.app.FragmentManager#findFragmentById findFragmentById()}로 가져오기(액티비티 레이아웃 내에서
 UI를 제공하는 프래그먼트의 경우) 또는 {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()}로 가져오기(UI를 제공하거나 하지 않는 프래그먼트의 경우).</li> 
+findFragmentByTag()}로 가져오기(UI를 제공하거나 하지 않는 프래그먼트의 경우).</li>
   <li>백 스택에서 프래그먼트를 {@link
 android.app.FragmentManager#popBackStack()}을 사용하여 튀어나오게 하기(사용자가 내린 <em>뒤로</em> 명령을 시뮬레이트함).</li>
   <li>백 스택에 변경 내용이 있는지 알아보기 위해 {@link
@@ -388,18 +388,18 @@
 <p>이와 같은 메서드와 그 외 다른 메서드에 대한 자세한 정보는 {@link
 android.app.FragmentManager} 클래스 관련 문서를 참조하십시오.</p>
 
-<p>이전 섹션에서 설명한 바와 같이 {@link android.app.FragmentManager}를 
+<p>이전 섹션에서 설명한 바와 같이 {@link android.app.FragmentManager}를
 사용해서도 {@link android.app.FragmentTransaction}
 을 열 수 있습니다. 이렇게 하면 프래그먼트 추가 및 제거 등 트랜잭션을 수행할 수 있게 해줍니다.</p>
 
 
 <h2 id="Transactions">프래그먼트 트랜잭션 수행</h2>
 
-<p>액티비티에서 프래그먼트를 사용하는 경우 특히 유용한 점은 사용자 상호 작용에 응답하여 추가, 
-제거, 교체 및 다른 작업을 수행할 수 있다는 것입니다. 액티비티에 적용한 
+<p>액티비티에서 프래그먼트를 사용하는 경우 특히 유용한 점은 사용자 상호 작용에 응답하여 추가,
+제거, 교체 및 다른 작업을 수행할 수 있다는 것입니다. 액티비티에 적용한
 변경 내용의 집합을 하나의 트랜잭션이라 칭합니다. 이것을 수행하려면 {@link
-android.app.FragmentTransaction} 내의 API를 사용하면 됩니다. 해당 액티비티가 관리하는 백 스택에 행해진 각 트랜잭션을 
-저장할 수도 있습니다. 이렇게 하면 사용자가 프래그먼트 변경 내역을 거쳐 뒤로 탐색할 수 있습니다(액티비티를 통과해 
+android.app.FragmentTransaction} 내의 API를 사용하면 됩니다. 해당 액티비티가 관리하는 백 스택에 행해진 각 트랜잭션을
+저장할 수도 있습니다. 이렇게 하면 사용자가 프래그먼트 변경 내역을 거쳐 뒤로 탐색할 수 있습니다(액티비티를 통과해
 뒤로 탐색하는 것과 비슷합니다).</p>
 
 <p>{@link android.app.FragmentTransaction}의 인스턴스를 {@link
@@ -410,20 +410,20 @@
 FragmentTransaction fragmentTransaction = fragmentManager.{@link android.app.FragmentManager#beginTransaction()};
 </pre>
 
-<p>각 트랜잭션은 동시에 수행하고자 하는 여러 변경을 집합적으로 일컫는 말입니다. 주어진 
+<p>각 트랜잭션은 동시에 수행하고자 하는 여러 변경을 집합적으로 일컫는 말입니다. 주어진
 트랜잭션에 대해 수행하고자 하는 모든 변경 사항을 설정하려면 {@link
 android.app.FragmentTransaction#add add()}, {@link android.app.FragmentTransaction#remove remove()},
-및 {@link android.app.FragmentTransaction#replace replace()}와 같은 메서드를 사용하면 됩니다. 그런 다음, 
+및 {@link android.app.FragmentTransaction#replace replace()}와 같은 메서드를 사용하면 됩니다. 그런 다음,
 트랜잭션을 액티비티에 적용하려면 반드시 {@link android.app.FragmentTransaction#commit()}을 호출해야 합니다.</p>
 </dl>
 
 <p>하지만 {@link
 android.app.FragmentTransaction#commit()}을 호출하기 전에 먼저 호출해야 할 것이 있습니다. 바로 {@link
-android.app.FragmentTransaction#addToBackStack addToBackStack()}입니다. 
-이렇게 해야 트랜잭션을 프래그먼트 트랜잭션의 백 스택에 추가할 수 있습니다. 이 백 스택을 액티비티가 관리하며, 
+android.app.FragmentTransaction#addToBackStack addToBackStack()}입니다.
+이렇게 해야 트랜잭션을 프래그먼트 트랜잭션의 백 스택에 추가할 수 있습니다. 이 백 스택을 액티비티가 관리하며,
 이를 통해 사용자가 이전 프래그먼트 상태로 되돌아갈 수 있습니다. 이때 <em>뒤로</em> 버튼을 누르면 됩니다.</p>
 
-<p>예를 들어 다음은 한 프래그먼트를 다른 것으로 교체하고 이전 상태를 백 스택에 보존하는 법을 
+<p>예를 들어 다음은 한 프래그먼트를 다른 것으로 교체하고 이전 상태를 백 스택에 보존하는 법을
 나타낸 것입니다.</p>
 
 <pre>
@@ -440,49 +440,49 @@
 transaction.commit();
 </pre>
 
-<p>이 예시에서 {@code newFragment}가 현재 레이아웃 컨테이너에 있는 
+<p>이 예시에서 {@code newFragment}가 현재 레이아웃 컨테이너에 있는
 프래그먼트(있는 경우)를 교체합니다. 이는 {@code R.id.fragment_container} ID로 식별할 수 있습니다. {@link
-android.app.FragmentTransaction#addToBackStack addToBackStack()}를 호출하면 교체 트랜잭션이 
-백 스택에 저장되고, 따라서 사용자가 트랜잭션을 거꾸로 수행하여 
+android.app.FragmentTransaction#addToBackStack addToBackStack()}를 호출하면 교체 트랜잭션이
+백 스택에 저장되고, 따라서 사용자가 트랜잭션을 거꾸로 수행하여
 이전 프래그먼트를 도로 가져올 수 있습니다. <em>뒤로</em> 버튼을 사용하면 됩니다.</p>
 
 <p>트랜잭션에 여러 개의 변경을 추가하고(예를 들어 또 다른 {@link
 android.app.FragmentTransaction#add add()} 또는 {@link android.app.FragmentTransaction#remove
 remove()}) {@link
-android.app.FragmentTransaction#addToBackStack addToBackStack()}을 호출하면, {@link android.app.FragmentTransaction#commit commit()}을 호출하기 전에 적용된 모든 변경 내용이 
-백 스택에 하나의 트랜잭션으로 추가되며, <em>뒤로</em> 버튼을 누르면 
+android.app.FragmentTransaction#addToBackStack addToBackStack()}을 호출하면, {@link android.app.FragmentTransaction#commit commit()}을 호출하기 전에 적용된 모든 변경 내용이
+백 스택에 하나의 트랜잭션으로 추가되며, <em>뒤로</em> 버튼을 누르면
 모두 한꺼번에 역행하게 됩니다.</p>
 
-<p>{@link android.app.FragmentTransaction}에 변경 내용을 추가하는 순서는 중요하지 않습니다. 
+<p>{@link android.app.FragmentTransaction}에 변경 내용을 추가하는 순서는 중요하지 않습니다.
 다만 다음과 같은 예외가 있습니다.</p>
 <ul>
   <li>{@link android.app.FragmentTransaction#commit()}을 마지막으로 호출해야만 합니다.</li>
-  <li>같은 컨테이너에 여러 개의 프래그먼트를 추가하는 경우, 이를 추가하는 순서가 이들이 
+  <li>같은 컨테이너에 여러 개의 프래그먼트를 추가하는 경우, 이를 추가하는 순서가 이들이
 보기 계층에 나타나는 순서를 결정 짓습니다.</li>
 </ul>
 
 <p>프래그먼트를 제거하는 트랜잭션을 수행하면서 {@link android.app.FragmentTransaction#addToBackStack(String)
-addToBackStack()}을 호출하지 않는 경우, 
-해당 프래그먼트는 트랜잭션이 적용되면 소멸되고 사용자가 이를 되짚어 탐색할 수 없게 됩니다. 반면에 
-프래그먼트를 제거하면서 {@link android.app.FragmentTransaction#addToBackStack(String) addToBackStack()}을 호출하면, 
-해당 프래그먼트는 <em>중단</em>되고 사용자가 뒤로 탐색하면 
+addToBackStack()}을 호출하지 않는 경우,
+해당 프래그먼트는 트랜잭션이 적용되면 소멸되고 사용자가 이를 되짚어 탐색할 수 없게 됩니다. 반면에
+프래그먼트를 제거하면서 {@link android.app.FragmentTransaction#addToBackStack(String) addToBackStack()}을 호출하면,
+해당 프래그먼트는 <em>중단</em>되고 사용자가 뒤로 탐색하면
 재개됩니다.</p>
 
-<p class="note"><strong>팁:</strong> 각 프래그먼트 트랜잭션에 대해 전환 애니메이션을 적용하려면 
-커밋하기 전에 {@link android.app.FragmentTransaction#setTransition setTransition()}을 
+<p class="note"><strong>팁:</strong> 각 프래그먼트 트랜잭션에 대해 전환 애니메이션을 적용하려면
+커밋하기 전에 {@link android.app.FragmentTransaction#setTransition setTransition()}을
 호출하면 됩니다.</p>
 
-<p>{@link android.app.FragmentTransaction#commit()}을 호출해도 그 즉시 트랜잭션을 수행하지는 
-않습니다. 그보다는, 액티비티의 UI 스레드("주요" 스레드)를 스레드가 할 수 있는 한 빨리 
+<p>{@link android.app.FragmentTransaction#commit()}을 호출해도 그 즉시 트랜잭션을 수행하지는
+않습니다. 그보다는, 액티비티의 UI 스레드("주요" 스레드)를 스레드가 할 수 있는 한 빨리
 이 트랜잭션을 수행하도록 일정을 예약하는 것에 가깝습니다. 하지만 필요한 경우 UI 스레드로부터 {@link
-android.app.FragmentManager#executePendingTransactions()}를 호출하면 
-{@link android.app.FragmentTransaction#commit()}이 제출한 트랜잭션을 즉시 실행할 수 있습니다. 트랜잭션이 
+android.app.FragmentManager#executePendingTransactions()}를 호출하면
+{@link android.app.FragmentTransaction#commit()}이 제출한 트랜잭션을 즉시 실행할 수 있습니다. 트랜잭션이
 다른 스레드의 작업에 대한 종속성이 아니라면 굳이 이렇게 해야만 하는 것은 아닙니다.</p>
 
 <p class="caution"><strong>주의:</strong> 트랜잭션을 적용할 때 {@link
-android.app.FragmentTransaction#commit commit()}을 사용해도 되는 것은 액티비티가 <a href="{@docRoot}guide/components/activities.html#SavingActivityState">그 상태를 
-저장</a>하기 전뿐입니다(사용자가 액티비티를 떠날 때). 그 시점 이후에 적용하려고 하면 예외가 
-발생합니다. 이것은 액티비티를 복원해야 하는 경우 적용 이후의 상태가 손실될 수 
+android.app.FragmentTransaction#commit commit()}을 사용해도 되는 것은 액티비티가 <a href="{@docRoot}guide/components/activities.html#SavingActivityState">그 상태를
+저장</a>하기 전뿐입니다(사용자가 액티비티를 떠날 때). 그 시점 이후에 적용하려고 하면 예외가
+발생합니다. 이것은 액티비티를 복원해야 하는 경우 적용 이후의 상태가 손실될 수
 있기 때문입니다. 적용이 손실되어도 괜찮은 상황이라면, {@link
 android.app.FragmentTransaction#commitAllowingStateLoss()}를 사용하십시오.</p>
 
@@ -491,19 +491,19 @@
 
 <h2 id="CommunicatingWithActivity">액티비티와 통신</h2>
 
-<p>{@link android.app.Fragment}는 
-{@link android.app.Activity}로부터 독립적인 객체로 구현되었고 여러 개의 액티비티 안에서 사용할 수 있는 것이 사실이지만, 
+<p>{@link android.app.Fragment}는
+{@link android.app.Activity}로부터 독립적인 객체로 구현되었고 여러 개의 액티비티 안에서 사용할 수 있는 것이 사실이지만,
 프래그먼트의 주어진 인스턴스는 그것을 포함하고 있는 액티비티에 직접적으로 연결되어 있습니다.</p>
 
 <p>구체적으로 말하면, 이 프래그먼트는 {@link
-android.app.Fragment#getActivity()}를 사용하여 {@link android.app.Activity} 인스턴스에 액세스하여 
+android.app.Fragment#getActivity()}를 사용하여 {@link android.app.Activity} 인스턴스에 액세스하여
 액티비티 레이아웃에서 보기를 찾는 것과 같은 작업을 손쉽게 수행할 수 있습니다.</p>
 
 <pre>
 View listView = {@link android.app.Fragment#getActivity()}.{@link android.app.Activity#findViewById findViewById}(R.id.list);
 </pre>
 
-<p>이와 마찬가지로, 액티비티도 프래그먼트 안의 메서드를 호출할 수 있습니다. 그러려면 {@link android.app.FragmentManager}로부터의 
+<p>이와 마찬가지로, 액티비티도 프래그먼트 안의 메서드를 호출할 수 있습니다. 그러려면 {@link android.app.FragmentManager}로부터의
 {@link android.app.Fragment}에 대한 참조를 가져와야 하며, 이때 {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} 또는 {@link
 android.app.FragmentManager#findFragmentByTag findFragmentByTag()}를 사용합니다. 예:</p>
@@ -515,14 +515,14 @@
 
 <h3 id="EventCallbacks">액티비티로의 이벤트 콜백 생성</h3>
 
-<p>어떤 경우에는 프래그먼트로 하여금 액티비티와 이벤트를 공유하게 해야 할 수 있습니다. 이렇게 하기 위한 
-한 가지 좋은 방법은 프래그먼트 내부의 콜백 인터페이스를 정의한 다음 해당 호스트 액티비티가 이를 구현하도록 
-하는 것입니다. 액티비티가 인터페이스를 통해 콜백을 수신하면, 필요에 따라 그 정보를 레이아웃 내의 
+<p>어떤 경우에는 프래그먼트로 하여금 액티비티와 이벤트를 공유하게 해야 할 수 있습니다. 이렇게 하기 위한
+한 가지 좋은 방법은 프래그먼트 내부의 콜백 인터페이스를 정의한 다음 해당 호스트 액티비티가 이를 구현하도록
+하는 것입니다. 액티비티가 인터페이스를 통해 콜백을 수신하면, 필요에 따라 그 정보를 레이아웃 내의
 다른 프래그먼트와 공유할 수 있습니다.</p>
 
-<p>예를 들어 어떤 뉴스 애플리케이션에서 액티비티 하나에 프래그먼트가 두 개 있습니다. 
- 하나는 기사 목록을 표시(프래그먼트 A)하고 다른 하나는 기사 하나를 표시(프래그먼트 B)하는 경우 목록 항목이 선택되면 
-프래그먼트 A가 액티비티에 알려야 프래그먼트 B에 해당 기사를 표시하라고 알릴 수 있습니다. 이 경우, 
+<p>예를 들어 어떤 뉴스 애플리케이션에서 액티비티 하나에 프래그먼트가 두 개 있습니다.
+ 하나는 기사 목록을 표시(프래그먼트 A)하고 다른 하나는 기사 하나를 표시(프래그먼트 B)하는 경우 목록 항목이 선택되면
+프래그먼트 A가 액티비티에 알려야 프래그먼트 B에 해당 기사를 표시하라고 알릴 수 있습니다. 이 경우,
 {@code OnArticleSelectedListener} 인터페이스는 프래그먼트 A 내부에 선언됩니다.</p>
 
 <pre>
@@ -537,12 +537,12 @@
 </pre>
 
 <p>그러면 프래그먼트를 호스팅하는 액티비티가 {@code OnArticleSelectedListener}
- 인터페이스를 
-구현하고 {@code onArticleSelected()}를 재정의하여 프래그먼트 A로부터 일어난 이벤트를 
-프래그먼트 B에 알립니다. 호스트 액티비티가 이 인터페이스를 구현하도록 
+ 인터페이스를
+구현하고 {@code onArticleSelected()}를 재정의하여 프래그먼트 A로부터 일어난 이벤트를
+프래그먼트 B에 알립니다. 호스트 액티비티가 이 인터페이스를 구현하도록
 확실히 하려면 프래그먼트 A의 {@link
 android.app.Fragment#onAttach onAttach()} 콜백 메서드(프래그먼트를 액티비티에 추가할 때 시스템이 호출하는 것)가 {@code OnArticleSelectedListener}의 인스턴스를 인스턴트화해야 합니다. 이때 {@link android.app.Fragment#onAttach
-onAttach()} 안으로 전달된 {@link android.app.Activity}를 
+onAttach()} 안으로 전달된 {@link android.app.Activity}를
 캐스팅하는 방법을 씁니다.</p>
 
 <pre>
@@ -562,14 +562,14 @@
 }
 </pre>
 
-<p>액티비티가 인터페이스를 구현하지 않은 경우, 프래그먼트가 
-{@link java.lang.ClassCastException}을 발생시킵니다. 
-성공 시, {@code mListener} 구성원이 액티비티의 
-{@code OnArticleSelectedListener} 구현에 대한 참조를 보유하므로, 프래그먼트 A가 액티비티와 이벤트를 공유할 수 있습니다. 
-이때 {@code OnArticleSelectedListener} 인터페이스가 정의한 메서드를 호출하는 방법을 씁니다. 예를 들어 프래그먼트 A가 
-{@link android.app.ListFragment}의 확장인 경우, 
+<p>액티비티가 인터페이스를 구현하지 않은 경우, 프래그먼트가
+{@link java.lang.ClassCastException}을 발생시킵니다.
+성공 시, {@code mListener} 구성원이 액티비티의
+{@code OnArticleSelectedListener} 구현에 대한 참조를 보유하므로, 프래그먼트 A가 액티비티와 이벤트를 공유할 수 있습니다.
+이때 {@code OnArticleSelectedListener} 인터페이스가 정의한 메서드를 호출하는 방법을 씁니다. 예를 들어 프래그먼트 A가
+{@link android.app.ListFragment}의 확장인 경우,
 사용자가 목록 항목을 클릭할 때마다 시스템이 프래그먼트 안의 {@link android.app.ListFragment#onListItemClick
-onListItemClick()}을 호출하고, 그러면 이것이 {@code onArticleSelected()}를 호출하여 
+onListItemClick()}을 호출하고, 그러면 이것이 {@code onArticleSelected()}를 호출하여
 해당 이벤트를 액티비티와 공유하는 것입니다.</p>
 
 <pre>
@@ -588,42 +588,42 @@
 </pre>
 
 <p>{@link
-android.app.ListFragment#onListItemClick onListItemClick()}에 전달된 {@code id} 매개변수가 클릭한 항목의 행 ID이며, 
+android.app.ListFragment#onListItemClick onListItemClick()}에 전달된 {@code id} 매개변수가 클릭한 항목의 행 ID이며,
 액티비티(또는 다른 프래그먼트)가 이것을 사용해 애플리케이션의 {@link
 android.content.ContentProvider}에서 기사를 가져옵니다.</p>
 
 <p><!--To see a complete implementation of this kind of callback interface, see the <a
-href="{@docRoot}resources/samples/NotePad/index.html">NotePad sample</a>. -->콘텐츠 제공자 사용법에 대한 자세한 정보는 
+href="{@docRoot}resources/samples/NotePad/index.html">NotePad sample</a>. -->콘텐츠 제공자 사용법에 대한 자세한 정보는
 <a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a> 문서에서 이용하실 수 있습니다.</p>
 
 
 
 <h3 id="ActionBar">작업 모음에 항목 추가</h3>
 
-<p>프래그먼트는 액티비티의 <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">옵션 메뉴</a>에(결과적으로 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>에도) 메뉴 항목으로 참가할 수 있습니다. 이때 
-{@link android.app.Fragment#onCreateOptionsMenu(Menu,MenuInflater) onCreateOptionsMenu()}를 구현하는 방법을 씁니다. 이 메서드가 
+<p>프래그먼트는 액티비티의 <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">옵션 메뉴</a>에(결과적으로 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>에도) 메뉴 항목으로 참가할 수 있습니다. 이때
+{@link android.app.Fragment#onCreateOptionsMenu(Menu,MenuInflater) onCreateOptionsMenu()}를 구현하는 방법을 씁니다. 이 메서드가
 호출을 수신하도록 하려면, {@link
 android.app.Fragment#onCreate(Bundle) onCreate()} 중에 {@link
-android.app.Fragment#setHasOptionsMenu(boolean) setHasOptionsMenu()}를 호출하여 프래그먼트가 
-옵션 메뉴에 항목을 추가하고자 한다는 것을 나타내야 합니다(그렇지 않으면 해당 프래그먼트가 
+android.app.Fragment#setHasOptionsMenu(boolean) setHasOptionsMenu()}를 호출하여 프래그먼트가
+옵션 메뉴에 항목을 추가하고자 한다는 것을 나타내야 합니다(그렇지 않으면 해당 프래그먼트가
 {@link android.app.Fragment#onCreateOptionsMenu onCreateOptionsMenu()}로의 호출을 받지 못하게 됩니다).</p>
 
-<p>그런 다음 프래그먼트로부터 옵션 메뉴에 추가하는 모든 항목은 기존의 메뉴 항목에 
+<p>그런 다음 프래그먼트로부터 옵션 메뉴에 추가하는 모든 항목은 기존의 메뉴 항목에
 추가됩니다. 해당 프래그먼트는 메뉴 항목을 선택하면 {@link
-android.app.Fragment#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}로의 콜백도 
+android.app.Fragment#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}로의 콜백도
 수신하게 됩니다.</p>
 
 <p>또한 프래그먼트 레이아웃에 보기를 등록하여 컨텍스트 메뉴를 제공하도록 할 수도 있습니다. 이때 {@link
-android.app.Fragment#registerForContextMenu(View) registerForContextMenu()}를 호출하면 됩니다. 사용자가 컨텍스트 메뉴를 열면, 
+android.app.Fragment#registerForContextMenu(View) registerForContextMenu()}를 호출하면 됩니다. 사용자가 컨텍스트 메뉴를 열면,
 해당 프래그먼트가 {@link
 android.app.Fragment#onCreateContextMenu(ContextMenu,View,ContextMenu.ContextMenuInfo)
 onCreateContextMenu()}로의 호출을 받습니다. 사용자가 항목을 하나 선택하면, 해당 프래그먼트는 {@link
 android.app.Fragment#onContextItemSelected(MenuItem) onContextItemSelected()}로의 호출을 받습니다.</p>
 
-<p class="note"><strong>참고:</strong> 프래그먼트는 추가한 각 메뉴 항목에 대해 '항목 선택됨' 콜백을 
-하나씩 받게 되지만, 사용자가 메뉴 항목을 선택할 때 그에 상응하는 콜백을 가장 처음 받는 것은 
-액티비티입니다. 액티비티가 구현한 '항목 선택됨' 콜백이 선택된 항목을 다루지 않는 경우, 
-해당 이벤트는 프래그먼트의 콜백으로 전달됩니다. 이것은 
+<p class="note"><strong>참고:</strong> 프래그먼트는 추가한 각 메뉴 항목에 대해 '항목 선택됨' 콜백을
+하나씩 받게 되지만, 사용자가 메뉴 항목을 선택할 때 그에 상응하는 콜백을 가장 처음 받는 것은
+액티비티입니다. 액티비티가 구현한 '항목 선택됨' 콜백이 선택된 항목을 다루지 않는 경우,
+해당 이벤트는 프래그먼트의 콜백으로 전달됩니다. 이것은
 옵션 메뉴와 컨텍스트 메뉴에 모두 참입니다.</p>
 
 <p>메뉴에 대한 더 자세한 정보는 <a href="{@docRoot}guide/topics/ui/menus.html">메뉴</a> 및 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a> 개발자 가이드를 참조하십시오.</p>
@@ -635,11 +635,11 @@
 
 <div class="figure" style="width:350px">
 <img src="{@docRoot}images/activity_fragment_lifecycle.png" alt="" />
-<p class="img-caption"><strong>그림 3.</strong> 액티비티 수명 주기가 프래그먼트 수명 주기에 미치는 
+<p class="img-caption"><strong>그림 3.</strong> 액티비티 수명 주기가 프래그먼트 수명 주기에 미치는
 영향입니다.</p>
 </div>
 
-<p>프래그먼트의 수명 주기를 관리하는 것은 액티비티의 수명 주기를 관리하는 것과 매우 비슷합니다. 액티비티와 마찬가지로 
+<p>프래그먼트의 수명 주기를 관리하는 것은 액티비티의 수명 주기를 관리하는 것과 매우 비슷합니다. 액티비티와 마찬가지로
 프래그먼트는 세 가지 상태로 존재할 수 있습니다.</p>
 
 <dl>
@@ -647,57 +647,57 @@
     <dd>프래그먼트가 실행 중인 액티비티에 표시됩니다.</dd>
 
   <dt><i>일시정지됨</i></dt>
-    <dd>또 다른 액티비티가 전경에 나와 있고 사용자가 이에 초점을 맞추고 있지만, 
-이 프래그먼트가 있는 액티비티도 여전히 표시되어 있습니다(전경의 액티비티가 부분적으로 투명하거나 
+    <dd>또 다른 액티비티가 전경에 나와 있고 사용자가 이에 초점을 맞추고 있지만,
+이 프래그먼트가 있는 액티비티도 여전히 표시되어 있습니다(전경의 액티비티가 부분적으로 투명하거나
 전체 화면을 뒤덮지 않습니다).</dd>
 
   <dt><i>정지됨</i></dt>
-    <dd>프래그먼트가 표시되지 않습니다. 호스트 액티비티가 정지되었거나 
-프래그먼트가 액티비티에서 제거되었지만 백 스택에 추가되었습니다. 정지된 프래그먼트도 
-여전히 표시는 됩니다(모든 상태 및 구성원 정보를 시스템이 보존합니다). 하지만, 사용자에게는 
+    <dd>프래그먼트가 표시되지 않습니다. 호스트 액티비티가 정지되었거나
+프래그먼트가 액티비티에서 제거되었지만 백 스택에 추가되었습니다. 정지된 프래그먼트도
+여전히 표시는 됩니다(모든 상태 및 구성원 정보를 시스템이 보존합니다). 하지만, 사용자에게는
 더 이상 표시되지 않으며 액티비티를 종료하면 이것도 종료됩니다.</dd>
 </dl>
 
 <p>이번에도 액티비티와 마찬가지로, 프래그먼트의 상태를 보존하려면 {@link
-android.os.Bundle}을 사용합니다. 이는 혹시나 액티비티의 프로세스가 종료되고 액티비티를 
+android.os.Bundle}을 사용합니다. 이는 혹시나 액티비티의 프로세스가 종료되고 액티비티를
 다시 만들 때 해당 프래그먼트의 상태를 복구해야 할 필요가 있을 때를 대비하는 것입니다. 상태를 저장하려면 프래그먼트의 {@link
-android.app.Fragment#onSaveInstanceState onSaveInstanceState()} 콜백 중에 저장할 수 있고, 복구는 
+android.app.Fragment#onSaveInstanceState onSaveInstanceState()} 콜백 중에 저장할 수 있고, 복구는
 {@link android.app.Fragment#onCreate onCreate()}, {@link
 android.app.Fragment#onCreateView onCreateView()} 또는 {@link
-android.app.Fragment#onActivityCreated onActivityCreated()} 중 한 가지가 진행되는 동안 할 수 있습니다. 상태 저장에 관한 자세한 정보는 
+android.app.Fragment#onActivityCreated onActivityCreated()} 중 한 가지가 진행되는 동안 할 수 있습니다. 상태 저장에 관한 자세한 정보는
 <a href="{@docRoot}guide/components/activities.html#SavingActivityState">액티비티</a>
 문서를 참조하십시오.</p>
 
-<p>액티비티와 프래그먼트의 수명 주기에서 가장 중대한 차이점은 
-해당되는 백 스택에 저장되는 방법입니다. 액티비티는 중단되었을 때 시스템이 관리하는 
-액티비티 백 스택 안에 배치되는 것이 기본입니다(따라서 사용자가 <em>뒤로</em> 버튼을 사용하여 다시 이 액티비티로 
-뒤로 탐색할 수 있습니다. 이 내용은 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업 및 백 스택</a>에서 설명하였습니다). 
-하지만, 프래그먼트가 호스트 액티비티가 관리하는 백 스택 안에 배치되는 것은 해당 인스턴스를 저장하라고 명시적으로 요청하는 경우뿐입니다. 
+<p>액티비티와 프래그먼트의 수명 주기에서 가장 중대한 차이점은
+해당되는 백 스택에 저장되는 방법입니다. 액티비티는 중단되었을 때 시스템이 관리하는
+액티비티 백 스택 안에 배치되는 것이 기본입니다(따라서 사용자가 <em>뒤로</em> 버튼을 사용하여 다시 이 액티비티로
+뒤로 탐색할 수 있습니다. 이 내용은 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업 및 백 스택</a>에서 설명하였습니다).
+하지만, 프래그먼트가 호스트 액티비티가 관리하는 백 스택 안에 배치되는 것은 해당 인스턴스를 저장하라고 명시적으로 요청하는 경우뿐입니다.
 이때 프래그먼트를 제거하는 트랜잭션 중 {@link
-android.app.FragmentTransaction#addToBackStack(String) addToBackStack()}을 
+android.app.FragmentTransaction#addToBackStack(String) addToBackStack()}을
 호출합니다.</p>
 
-<p>이것만 제외하면, 프래그먼트 수명 주기를 관리하는 것은 액티비티의 수명 주기를 관리하는 것과 
-아주 비슷합니다. 따라서, <a href="{@docRoot}guide/components/activities.html#Lifecycle">액티비티 
-수명 주기 관리</a>에 쓰이는 실례가 프래그먼트에도 똑같이 적용되는 것입니다. 하지만 또 한 가지 이해해두어야 하는 것이 있습니다. 즉, 
+<p>이것만 제외하면, 프래그먼트 수명 주기를 관리하는 것은 액티비티의 수명 주기를 관리하는 것과
+아주 비슷합니다. 따라서, <a href="{@docRoot}guide/components/activities.html#Lifecycle">액티비티
+수명 주기 관리</a>에 쓰이는 실례가 프래그먼트에도 똑같이 적용되는 것입니다. 하지만 또 한 가지 이해해두어야 하는 것이 있습니다. 즉,
 액티비티의 수명이 프래그먼트의 수명에 어떤 영향을 미치는지를 알아두어야 합니다.</p>
 
-<p class="caution"><strong>주의:</strong> {@link android.app.Fragment} 내에서 {@link android.content.Context} 
-객체가 필요한 경우, {@link android.app.Fragment#getActivity()}를 호출하면 됩니다. 
+<p class="caution"><strong>주의:</strong> {@link android.app.Fragment} 내에서 {@link android.content.Context}
+객체가 필요한 경우, {@link android.app.Fragment#getActivity()}를 호출하면 됩니다.
 그러나 {@link android.app.Fragment#getActivity()}를 호출하는 것은 프래그먼트가 액티비티에
- 첨부되어 있는 경우뿐이니 유의하십시오. 프래그먼트가 아직 첨부되지 않았거나 수명 주기가 끝날 무렵 분리된 경우, 
+ 첨부되어 있는 경우뿐이니 유의하십시오. 프래그먼트가 아직 첨부되지 않았거나 수명 주기가 끝날 무렵 분리된 경우,
 {@link android.app.Fragment#getActivity()}가 null을 반환합니다.</p>
 
 
 <h3 id="CoordinatingWithActivity">액티비티 수명 주기와 조화</h3>
 
-<p>프래그먼트가 있는 액티비티의 수명 주기는 해당 프래그먼트의 수명 주기에 직접적인 
-영향을 미칩니다. 따라서 액티비티에 대한 각 수명 주기 콜백이 각 프래그먼트에 대한 비슷한 콜백을 
-유발합니다. 예를 들어 액티비티가 {@link android.app.Activity#onPause}를 받으면, 
+<p>프래그먼트가 있는 액티비티의 수명 주기는 해당 프래그먼트의 수명 주기에 직접적인
+영향을 미칩니다. 따라서 액티비티에 대한 각 수명 주기 콜백이 각 프래그먼트에 대한 비슷한 콜백을
+유발합니다. 예를 들어 액티비티가 {@link android.app.Activity#onPause}를 받으면,
 해당 액티비티 내의 각 프래그먼트가 {@link android.app.Fragment#onPause}를 받습니다.</p>
 
-<p>하지만 프래그먼트에는 몇 가지 수명 주기 콜백이 더 있습니다. 이것은 액티비티와의 
-고유한 상호 작용을 다루어 프래그먼트의 UI를 구축하고 소멸시키는 것과 같은 
+<p>하지만 프래그먼트에는 몇 가지 수명 주기 콜백이 더 있습니다. 이것은 액티비티와의
+고유한 상호 작용을 다루어 프래그먼트의 UI를 구축하고 소멸시키는 것과 같은
 작업을 수행합니다. 이러한 추가적인 콜백 메서드를 예로 들면 다음과 같습니다.</p>
 
 <dl>
@@ -715,17 +715,17 @@
     <dd>프래그먼트가 액티비티와 연결이 끊어지는 중일 때 호출됩니다.</dd>
 </dl>
 
-<p>호스트 액티비티의 영향을 받을 프래그먼트 수명 주기의 흐름은 그림 3에서 
-확인하십시오. 이 그림을 보면 액티비티의 각 연속된 상태가 프래그먼트가 어느 
+<p>호스트 액티비티의 영향을 받을 프래그먼트 수명 주기의 흐름은 그림 3에서
+확인하십시오. 이 그림을 보면 액티비티의 각 연속된 상태가 프래그먼트가 어느
 콜백 메서드를 받게 되는지 결정 짓는다는 것을 볼 수 있습니다. 예를 들어 액티비티가 자신의 {@link
-android.app.Activity#onCreate onCreate()} 콜백을 받은 경우, 해당 액티비티 안에 있는 프래그먼트는 
+android.app.Activity#onCreate onCreate()} 콜백을 받은 경우, 해당 액티비티 안에 있는 프래그먼트는
 {@link android.app.Fragment#onActivityCreated onActivityCreated()} 콜백을 받을 뿐입니다.</p>
 
-<p>액티비티가 재개된 상태에 도달하면 자유자재로 프래그먼트를 액티비티에 추가하거나 액티비티에서 
-제거해도 됩니다. 따라서, 액티비티가 재개된 상태에 있는 동안에만 프래그먼트의 수명 주기를 
+<p>액티비티가 재개된 상태에 도달하면 자유자재로 프래그먼트를 액티비티에 추가하거나 액티비티에서
+제거해도 됩니다. 따라서, 액티비티가 재개된 상태에 있는 동안에만 프래그먼트의 수명 주기를
 독립적으로 변경할 수 있는 것입니다.</p>
 
-<p>그러나 액티비티가 재개된 상태를 떠나면 액티비티는 다시 프래그먼트를 그 수명 주기 안으로 
+<p>그러나 액티비티가 재개된 상태를 떠나면 액티비티는 다시 프래그먼트를 그 수명 주기 안으로
 밀어넣습니다.</p>
 
 
@@ -733,13 +733,13 @@
 
 <h2 id="Example">예</h2>
 
-<p>이 문서에서 논의한 모든 것을 한 번에 모아 보기 위해, 다음은 두 개의 프래그먼트를 사용하여 
-창이 두 개인 레이아웃을 생성하는 액티비티를 예시로 나타낸 것입니다. 아래의 액티비티에 포함된 
-한 프래그먼트는 셰익스피어 희곡 제목 목록을 표시하고, 또 다른 하나는 목록에서 선택했을 때 
-해당 희곡의 요약을 표시합니다. 또한 화면 구성을 근거로 프래그먼트를 여러 가지로 구성하여 제공하는 방법도 
+<p>이 문서에서 논의한 모든 것을 한 번에 모아 보기 위해, 다음은 두 개의 프래그먼트를 사용하여
+창이 두 개인 레이아웃을 생성하는 액티비티를 예시로 나타낸 것입니다. 아래의 액티비티에 포함된
+한 프래그먼트는 셰익스피어 희곡 제목 목록을 표시하고, 또 다른 하나는 목록에서 선택했을 때
+해당 희곡의 요약을 표시합니다. 또한 화면 구성을 근거로 프래그먼트를 여러 가지로 구성하여 제공하는 방법도
 보여줍니다.</p>
 
-<p class="note"><strong>참고:</strong> 이 액티비티에 대한 완전한 소스 코드는 
+<p class="note"><strong>참고:</strong> 이 액티비티에 대한 완전한 소스 코드는
 <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html">{@code
 FragmentLayout.java}</a>에서 이용하실 수 있습니다.</p>
 
@@ -752,44 +752,44 @@
 
 {@sample development/samples/ApiDemos/res/layout-land/fragment_layout.xml layout}
 
-<p>시스템은 이 레이아웃을 사용하여 액티비티가 레이아웃을 로딩하자마자 {@code TitlesFragment}를 초기화합니다(이것이 희곡 제목을 
+<p>시스템은 이 레이아웃을 사용하여 액티비티가 레이아웃을 로딩하자마자 {@code TitlesFragment}를 초기화합니다(이것이 희곡 제목을
 목록으로 나열합니다). 반면 {@link android.widget.FrameLayout}
-(희곡 요약을 표시하는 프래그먼트가 배치될 곳)은 화면 오른쪽에 있는 
-공간을 차지하기는 하지만 처음에는 텅 빈 상태로 유지됩니다. 아래에서 볼 수 있듯이, 사용자가 해당 목록에서 
+(희곡 요약을 표시하는 프래그먼트가 배치될 곳)은 화면 오른쪽에 있는
+공간을 차지하기는 하지만 처음에는 텅 빈 상태로 유지됩니다. 아래에서 볼 수 있듯이, 사용자가 해당 목록에서
 항목을 하나 선택해야만 프래그먼트가 {@link android.widget.FrameLayout} 안에 배치됩니다.</p>
 
-<p>그러나 희곡 목록과 요약을 둘 다 나란히 표시할 만큼 너비가 넓지 않은 
-화면 구성도 있습니다. 따라서 위의 레이아웃은 가로 방향 화면 구성에만 사용되며, 
+<p>그러나 희곡 목록과 요약을 둘 다 나란히 표시할 만큼 너비가 넓지 않은
+화면 구성도 있습니다. 따라서 위의 레이아웃은 가로 방향 화면 구성에만 사용되며,
 이를 {@code res/layout-land/fragment_layout.xml}에 저장하여 씁니다.</p>
 
-<p>그러므로 화면이 세로 방향으로 구성된 경우, 시스템은 다음 레이아웃을 적용합니다. 이것은 
+<p>그러므로 화면이 세로 방향으로 구성된 경우, 시스템은 다음 레이아웃을 적용합니다. 이것은
 {@code res/layout/fragment_layout.xml}에 저장되어 있습니다.</p>
 
 {@sample development/samples/ApiDemos/res/layout/fragment_layout.xml layout}
 
-<p>이 레이아웃에는 {@code TitlesFragment}만 포함되어 있습니다. 이는 다시 말해 기기가 세로 방향인 경우에는 
-희곡 제목 목록만 표시된다는 뜻입니다. 따라서 사용자가 이 구성에서 목록 항목을 하나 클릭하면, 
-애플리케이션이 두 번째 프래그먼트를 로딩하는 대신 새 액티비티를 시작하여 요약을 
+<p>이 레이아웃에는 {@code TitlesFragment}만 포함되어 있습니다. 이는 다시 말해 기기가 세로 방향인 경우에는
+희곡 제목 목록만 표시된다는 뜻입니다. 따라서 사용자가 이 구성에서 목록 항목을 하나 클릭하면,
+애플리케이션이 두 번째 프래그먼트를 로딩하는 대신 새 액티비티를 시작하여 요약을
 표시하게 됩니다.</p>
 
 <p>다음으로, 프래그먼트 클래스에서 이것을 달성하는 방법을 보시겠습니다. 첫 번째가 {@code
 TitlesFragment}로, 셰익스피어 희곡 제목 목록을 표시하는 것입니다. 이 프래그먼트는 {@link
 android.app.ListFragment}를 확장하며 목록 보기 작업의 대부분을 처리하기 위해 여기에 의존합니다.</p>
 
-<p>이 코드를 살펴보면서 사용자가 목록 항목을 클릭하면 일어날 수 있는 두 가지 동작이 
-있다는 점을 눈여겨 보십시오. 두 레이아웃 중 어느 것이 활성화 상태인지에 따라 
+<p>이 코드를 살펴보면서 사용자가 목록 항목을 클릭하면 일어날 수 있는 두 가지 동작이
+있다는 점을 눈여겨 보십시오. 두 레이아웃 중 어느 것이 활성화 상태인지에 따라
 같은 액티비티 내에서 세부 사항을 표시하기 위해 새 프래그먼트를 생성하거나 표시할 수도 있고(프래그먼트를 {@link
 android.widget.FrameLayout}에 추가함으로써), 새 액티비티를 시작할 수도 있습니다(프래그먼트를 표시할 수 있는 곳).</p>
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java titles}
 
-<p>두 번째 프래그먼트인 {@code DetailsFragment}는 {@code TitlesFragment}에서 가져온 목록에서 선택한 항목에 대한 희곡 요약을 
+<p>두 번째 프래그먼트인 {@code DetailsFragment}는 {@code TitlesFragment}에서 가져온 목록에서 선택한 항목에 대한 희곡 요약을
 표시하는 것입니다.</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
-<p>{@code TitlesFragment} 클래스에서 다룬 것을 되살려 보면, 사용자가 목록 항목을 클릭하고 
-현재 레이아웃이 {@code R.id.details} 보기를 포함하지 <em>않는</em> 경우(이 보기가 
+<p>{@code TitlesFragment} 클래스에서 다룬 것을 되살려 보면, 사용자가 목록 항목을 클릭하고
+현재 레이아웃이 {@code R.id.details} 보기를 포함하지 <em>않는</em> 경우(이 보기가
 {@code DetailsFragment}가 속하는 곳임), 애플리케이션은 항목의 내용을 표시하기 위해 {@code DetailsActivity}
  액티비티를 시작하게 됩니다.</p>
 
@@ -798,14 +798,14 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
-<p>이 액티비티는 구성이 가로 방향인 경우 알아서 종료한다는 점을 눈여겨 보십시오. 따라서 
+
+<p>이 액티비티는 구성이 가로 방향인 경우 알아서 종료한다는 점을 눈여겨 보십시오. 따라서
 주요 액티비티가 작업을 인계 받아 {@code DetailsFragment}를 {@code TitlesFragment}와 함께 표시할 수 있는 것입니다.
-이것은 사용자가 세로 방향 구성에서 {@code DetailsActivity}를 시작했지만 
+이것은 사용자가 세로 방향 구성에서 {@code DetailsActivity}를 시작했지만
 그런 다음 가로 방향으로 돌리는 경우(현재 액티비티를 다시 시작함) 일어날 수 있습니다.</p>
 
 
-<p>프래그먼트 사용에 대한 더 많은 샘플(및 이 예시에 대한 완전한 소스 파일)을 보시려면 
+<p>프래그먼트 사용에 대한 더 많은 샘플(및 이 예시에 대한 완전한 소스 파일)을 보시려면
 <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/index.html#Fragment">
 ApiDemos</a>에서 이용할 수 있는 API Demos 샘플 앱을 참조하십시오(<a href="{@docRoot}resources/samples/get.html">샘플 SDK 구성 요소</a>에서 다운로드할 수 있습니다).</p>
 
diff --git a/docs/html-intl/intl/ko/guide/components/fundamentals.jd b/docs/html-intl/intl/ko/guide/components/fundamentals.jd
index 608b5a2c..6bb5a9f 100644
--- a/docs/html-intl/intl/ko/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/ko/guide/components/fundamentals.jd
@@ -22,54 +22,54 @@
 </div>
 </div>
 
-<p>Android 앱은 Java 프로그래밍 언어로 작성됩니다. Android SDK 도구는 
+<p>Android 앱은 Java 프로그래밍 언어로 작성됩니다. Android SDK 도구는
 코드를 컴파일링하여 모든 데이터 및 리소스 파일과 함께 하나의 APK로 만듭니다. 이것은 즉, <i>Android 패키지</i>
-를 뜻하며, 이는 일종의 {@code .apk} 접미사가 있는 아카이브 파일입니다. 한 개의 APK 파일에는 
+를 뜻하며, 이는 일종의 {@code .apk} 접미사가 있는 아카이브 파일입니다. 한 개의 APK 파일에는
 Android 앱의 모든 콘텐츠가 들어 있으며 이 파일이 바로 Android로 구동하는 기기가 앱을 설치할 때 사용하는 파일입니다.</p>
 
 <p>Android 앱은 일단 기기에 설치되고 나면 각자 나름의 보안 샌드박스 안에 살게 됩니다. </p>
 
 <ul>
- <li>Android 운영 체제는 멀티 사용자 Linux 시스템으로, 여기서 각 앱은 각기 다른 사용자와 
+ <li>Android 운영 체제는 멀티 사용자 Linux 시스템으로, 여기서 각 앱은 각기 다른 사용자와
 같습니다.</li>
 
-<li>기본적으로 시스템이 각 앱에 고유한 Linux ID를 할당합니다(이 ID는 시스템만 
-사용할 수 있으며 앱은 이것을 알지 못합니다). 시스템은 앱 안의 모든 파일에 대해 권한을 설정하여 
+<li>기본적으로 시스템이 각 앱에 고유한 Linux ID를 할당합니다(이 ID는 시스템만
+사용할 수 있으며 앱은 이것을 알지 못합니다). 시스템은 앱 안의 모든 파일에 대해 권한을 설정하여
 해당 앱에 할당된 사용자 ID만 이에 액세스할 수 있도록 합니다. </li>
 
-<li>각 프로세스에는 나름의 가상 머신(VM)이 있고, 그렇기 때문에 한 앱의 코드가 다른 여러 앱과는 격리된 상태로 
+<li>각 프로세스에는 나름의 가상 머신(VM)이 있고, 그렇기 때문에 한 앱의 코드가 다른 여러 앱과는 격리된 상태로
 실행됩니다.</li>
 
-<li>기본적으로 모든 앱이 나름의 Linux 프로세스에서 실행됩니다. Android는 앱의 구성 요소 중 
-어느 것이라도 실행해야 하는 경우 프로세스를 시작하고, 이것이 더 이상 필요 없어지거나 시스템이 다른 앱을 위해 
+<li>기본적으로 모든 앱이 나름의 Linux 프로세스에서 실행됩니다. Android는 앱의 구성 요소 중
+어느 것이라도 실행해야 하는 경우 프로세스를 시작하고, 이것이 더 이상 필요 없어지거나 시스템이 다른 앱을 위해
 메모리를 회복해야 하는 경우 해당 프로세스를 종료합니다.</li>
 </ul>
 
-<p>Android 시스템은 이런 방식으로 <em>최소 특권의 원리</em>를 구현하는 것입니다. 다시 말해, 
-각 앱은 기본적으로 자신의 작업을 수행하기 위해 필요한 구성 요소에만 액세스 권한을 가지고 
-그 이상은 허용되지 않습니다. 이렇게 하면 대단히 안전한 환경이 만들어져 앱이 시스템에서 
+<p>Android 시스템은 이런 방식으로 <em>최소 특권의 원리</em>를 구현하는 것입니다. 다시 말해,
+각 앱은 기본적으로 자신의 작업을 수행하기 위해 필요한 구성 요소에만 액세스 권한을 가지고
+그 이상은 허용되지 않습니다. 이렇게 하면 대단히 안전한 환경이 만들어져 앱이 시스템에서
 자신이 권한을 부여 받지 못한 부분에는 액세스할 수 없게 됩니다.</p>
 
-<p>그러나, 앱이 다른 여러 앱과 데이터를 공유하는 것과 앱이 시스템 서비스에 액세스하는 데에는 
+<p>그러나, 앱이 다른 여러 앱과 데이터를 공유하는 것과 앱이 시스템 서비스에 액세스하는 데에는
 여러 가지 방법이 있습니다.</p>
 
 <ul>
-  <li>두 개의 앱이 같은 Linux 사용자 ID를 공유하도록 설정할 수도 있습니다. 이 경우 
-두 앱은 서로의 파일에 액세스할 수 있게 됩니다.  시스템 리소스를 절약하려면, 같은 사용자 ID를 가진 앱이 
-같은 Linux 프로세스에서 실행되도록 설정하고 같은 VM을 공유하도록 할 수도 있습니다(이들 앱은 같은 인증서로 
+  <li>두 개의 앱이 같은 Linux 사용자 ID를 공유하도록 설정할 수도 있습니다. 이 경우
+두 앱은 서로의 파일에 액세스할 수 있게 됩니다.  시스템 리소스를 절약하려면, 같은 사용자 ID를 가진 앱이
+같은 Linux 프로세스에서 실행되도록 설정하고 같은 VM을 공유하도록 할 수도 있습니다(이들 앱은 같은 인증서로
 서명해야 합니다).</li>
-  <li>앱은 사용자의 연락처, SMS 메시지, 마운트 가능한 저장소(SD 카드), 
-카메라, Bluetooth를 비롯하여 이외에도 여러 가지 기기 데이터에 액세스할 권한을 요청할 수 있습니다. 모든 
+  <li>앱은 사용자의 연락처, SMS 메시지, 마운트 가능한 저장소(SD 카드),
+카메라, Bluetooth를 비롯하여 이외에도 여러 가지 기기 데이터에 액세스할 권한을 요청할 수 있습니다. 모든
 앱 권한은 설치 시점에 사용자가 허용해야 합니다.</li>
 </ul>
 
-<p>이렇게 해서 Android 앱이 시스템 내에 어떤 식으로 존재하는지 기본 정보를 알아보았습니다. 이 문서의 
+<p>이렇게 해서 Android 앱이 시스템 내에 어떤 식으로 존재하는지 기본 정보를 알아보았습니다. 이 문서의
 나머지 부분에서 소개될 내용은 다음과 같습니다.</p>
 <ul>
   <li>앱을 정의하는 핵심 프레임워크 구성 요소.</li>
-  <li>구성 요소를 선언하고 앱에 맞는 필수 기기 특징을 선언할 수 있는 매니페스트 
+  <li>구성 요소를 선언하고 앱에 맞는 필수 기기 특징을 선언할 수 있는 매니페스트
 파일.</li>
-  <li>앱 코드로부터 별도로 분리되어 있으며 앱이 다양한 기기 구성에 맞게 자신의 행동을 
+  <li>앱 코드로부터 별도로 분리되어 있으며 앱이 다양한 기기 구성에 맞게 자신의 행동을
 안정적으로 최적화할 수 있도록 해주는 리소스.</li>
 </ul>
 
@@ -77,13 +77,13 @@
 
 <h2 id="Components">앱 구성 요소</h2>
 
-<p>앱 구성 요소는 Android 앱을 이루는 가장 기본적인 구성 단위입니다. 각 
-구성 요소는 시스템이 앱으로 들어올 수 있는 각기 다른 통과 지점을 나타냅니다. 구성 요소 중에는 
-실제 사용자가 쓸 수 있는 진입 지점이 아닌 것도 있고, 일부는 서로에게 의존하지만, 
-각각의 구성 요소는 따로 떨어진 엔티티로서 존재하며 각기 특정한 역할을 수행합니다. 즉 하나하나가 
+<p>앱 구성 요소는 Android 앱을 이루는 가장 기본적인 구성 단위입니다. 각
+구성 요소는 시스템이 앱으로 들어올 수 있는 각기 다른 통과 지점을 나타냅니다. 구성 요소 중에는
+실제 사용자가 쓸 수 있는 진입 지점이 아닌 것도 있고, 일부는 서로에게 의존하지만,
+각각의 구성 요소는 따로 떨어진 엔티티로서 존재하며 각기 특정한 역할을 수행합니다. 즉 하나하나가
 앱의 전반적인 행동을 정의하는 데 유용한 고유한 구성 단위인 것입니다.</p>
 
-<p>앱 구성 요소에는 네 가지 서로 다른 유형이 있습니다. 각 유형이 뚜렷한 목적을 가지고 있으며 
+<p>앱 구성 요소에는 네 가지 서로 다른 유형이 있습니다. 각 유형이 뚜렷한 목적을 가지고 있으며
 각자 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다.</p>
 
 <p>다음은 네 가지 유형의 앱 구성 요소를 나타낸 것입니다.</p>
@@ -92,15 +92,15 @@
 
 <dt><b>액티비티</b></dt>
 
-<dd>통상 <i>액티비티</i> 라고 하면, 사용자 인터페이스가 있는 화면 하나를 나타냅니다. 예를 들어 
-이메일 앱이라면 새 이메일 목록을 표시하는 액티비티가 하나 있고, 
-이메일을 작성하는 액티비티가 또 하나, 그리고 이메일을 읽는 데 쓰는 액티비티가 또 하나 있을 수 있습니다. 여러 
-액티비티가 함께 작동하여 해당 이메일 앱에서 짜임새 있는 사용자 환경을 형성하는 것은 사실이지만, 각자 서로와는 
-독립적인 형태입니다. 따라서, 다른 앱이 이와 같은 액티비티 중 어느 것이라도 하나만 
-시작할 수 있습니다(이메일 앱이 그렇게 하도록 허용하는 경우). 예를 들어, 카메라 앱이라면 이메일 앱 안의 
+<dd>통상 <i>액티비티</i> 라고 하면, 사용자 인터페이스가 있는 화면 하나를 나타냅니다. 예를 들어
+이메일 앱이라면 새 이메일 목록을 표시하는 액티비티가 하나 있고,
+이메일을 작성하는 액티비티가 또 하나, 그리고 이메일을 읽는 데 쓰는 액티비티가 또 하나 있을 수 있습니다. 여러
+액티비티가 함께 작동하여 해당 이메일 앱에서 짜임새 있는 사용자 환경을 형성하는 것은 사실이지만, 각자 서로와는
+독립적인 형태입니다. 따라서, 다른 앱이 이와 같은 액티비티 중 어느 것이라도 하나만
+시작할 수 있습니다(이메일 앱이 그렇게 하도록 허용하는 경우). 예를 들어, 카메라 앱이라면 이메일 앱 안의
 액티비티를 시작하여 새 메일을 작성하도록 해서 사용자가 사진을 공유하도록 할 수 있습니다.
 
-<p>액티비티는 {@link android.app.Activity}의 하위 클래스로 구현되며 이에 대한 더 자세한 내용은 
+<p>액티비티는 {@link android.app.Activity}의 하위 클래스로 구현되며 이에 대한 더 자세한 내용은
 <a href="{@docRoot}guide/components/activities.html">액티비티</a>
 개발자 가이드에서 확인하실 수 있습니다.</p>
 </dd>
@@ -108,14 +108,14 @@
 
 <dt><b>서비스</b></dt>
 
-<dd>통상 <i>서비스</i> 라고 하면 배경에서 실행되는 구성 요소로, 오랫동안 실행되는 
-작업을 수행하거나 원격 프로세스를 위한 작업을 수행하는 것입니다. 서비스는 
-사용자 인터페이스를 제공하지 않습니다. 예를 들어 서비스는 사용자가 다른 앱에 있는 동안에 배경에서 음악을 재생할 수도 있고, 
-아니면 사용자와 액티비티 사이의 상호 작용을 차단하지 않고 네트워크를 가로질러 
-데이터를 가져올 수도 있습니다. 또 다른 구성 요소(예: 액티비티)가 서비스를 시작한 다음 
+<dd>통상 <i>서비스</i> 라고 하면 배경에서 실행되는 구성 요소로, 오랫동안 실행되는
+작업을 수행하거나 원격 프로세스를 위한 작업을 수행하는 것입니다. 서비스는
+사용자 인터페이스를 제공하지 않습니다. 예를 들어 서비스는 사용자가 다른 앱에 있는 동안에 배경에서 음악을 재생할 수도 있고,
+아니면 사용자와 액티비티 사이의 상호 작용을 차단하지 않고 네트워크를 가로질러
+데이터를 가져올 수도 있습니다. 또 다른 구성 요소(예: 액티비티)가 서비스를 시작한 다음
 실행되도록 두거나 자신에게 바인딩하여 상호 작용하도록 할 수도 있습니다.
 
-<p>서비스는 {@link android.app.Service}의 하위 클래스로 구현되며 이에 대한 더 자세한 내용은 
+<p>서비스는 {@link android.app.Service}의 하위 클래스로 구현되며 이에 대한 더 자세한 내용은
 <a href="{@docRoot}guide/components/services.html">서비스</a>
 개발자 가이드에서 확인하실 수 있습니다.</p>
 </dd>
@@ -123,20 +123,20 @@
 
 <dt><b>콘텐츠 제공자</b></dt>
 
-<dd>통상 <i>콘텐츠 제공자</i> 는 공유된 앱 데이터 집합을 관리합니다. 데이터는 파일 시스템이나 SQLite 데이터베이스, 
-또는 웹이나 기타 영구적인 저장소 위치 중 앱이 액세스할 수 있는 곳이라면 어디에든 저장할 수 
-있습니다. 다른 여러 앱은 콘텐츠 제공자를 통해 해당 데이터를 쿼리하거나, 심지어는 수정할 수도 
-있습니다(콘텐츠 제공자가 그렇게 하도록 허용하는 경우). 예를 들어, Android 시스템은 사용자의 연락처 정보를 
-관리하는 콘텐츠 제공자를 제공합니다. 따라서, 적절한 권한을 가진 앱이라면 
+<dd>통상 <i>콘텐츠 제공자</i> 는 공유된 앱 데이터 집합을 관리합니다. 데이터는 파일 시스템이나 SQLite 데이터베이스,
+또는 웹이나 기타 영구적인 저장소 위치 중 앱이 액세스할 수 있는 곳이라면 어디에든 저장할 수
+있습니다. 다른 여러 앱은 콘텐츠 제공자를 통해 해당 데이터를 쿼리하거나, 심지어는 수정할 수도
+있습니다(콘텐츠 제공자가 그렇게 하도록 허용하는 경우). 예를 들어, Android 시스템은 사용자의 연락처 정보를
+관리하는 콘텐츠 제공자를 제공합니다. 따라서, 적절한 권한을 가진 앱이라면
 어떤 것이든 해당 콘텐츠 제공자의 일부를 쿼리하여(예를 들어 {@link
 android.provider.ContactsContract.Data} 등) 특정한 사람에 대한 정보를 읽고 쓸 수 있습니다.
 
-<p>콘텐츠 제공자는 앱에서 비공개이며 공유되지 않는 데이터를 읽고 쓰는 데에도 
-유용합니다. 예를 들어 <a href="{@docRoot}resources/samples/NotePad/index.html">메모장</a> 샘플 앱은 메모한 내용을 저장하는 데 
+<p>콘텐츠 제공자는 앱에서 비공개이며 공유되지 않는 데이터를 읽고 쓰는 데에도
+유용합니다. 예를 들어 <a href="{@docRoot}resources/samples/NotePad/index.html">메모장</a> 샘플 앱은 메모한 내용을 저장하는 데
 콘텐츠 제공자를 사용합니다.</p>
 
 <p>콘텐츠 제공자는 {@link android.content.ContentProvider}의
-하위 클래스로 구현되며, 다른 앱이 트랜잭션을 수행할 수 있도록 활성화하는 표준 API 집합을 
+하위 클래스로 구현되며, 다른 앱이 트랜잭션을 수행할 수 있도록 활성화하는 표준 API 집합을
 구현해야 합니다. 자세한 내용은 <a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a> 개발자
 가이드를 참조하십시오.</p>
 </dd>
@@ -144,18 +144,18 @@
 
 <dt><b>브로드캐스트 수신기</b></dt>
 
-<dd>통상 <i>브로드캐스트 수신기</i> 는 시스템 전체에 대한 브로드캐스트 공지에 응답하는 구성 요소를 
-말합니다.  대다수의 브로드캐스트는 시스템에서 시작합니다. 예를 들어, 화면이 꺼졌다거나 
+<dd>통상 <i>브로드캐스트 수신기</i> 는 시스템 전체에 대한 브로드캐스트 공지에 응답하는 구성 요소를
+말합니다.  대다수의 브로드캐스트는 시스템에서 시작합니다. 예를 들어, 화면이 꺼졌다거나
 배터리 잔량이 부족하다거나, 사진을 캡처했다는 것을 알리는 브로드캐스트가 있습니다.
-앱도 브로드캐스트를 시작합니다. 예를 들어, 기기에 몇 가지 데이터를 다운로드하여 다른 앱도 사용할 수 있다는 
-사실을 다른 여러 앱에게 알리는 것입니다. 브로드캐스트 수신기는 사용자 인터페이스를 표시하지 않지만, 
-<a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄 알림을 생성</a>하여 
-사용자에게 브로드캐스트 이벤트가 발생했다고 알릴 수 있습니다. 다만 브로드캐스트 수신기는 
-그저 다른 구성 요소로의 "게이트웨이"인 경우가 더 보편적이고, 극소량의 작업만 수행하도록 만들어진 경우가 많습니다. 예컨대 
+앱도 브로드캐스트를 시작합니다. 예를 들어, 기기에 몇 가지 데이터를 다운로드하여 다른 앱도 사용할 수 있다는
+사실을 다른 여러 앱에게 알리는 것입니다. 브로드캐스트 수신기는 사용자 인터페이스를 표시하지 않지만,
+<a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄 알림을 생성</a>하여
+사용자에게 브로드캐스트 이벤트가 발생했다고 알릴 수 있습니다. 다만 브로드캐스트 수신기는
+그저 다른 구성 요소로의 "게이트웨이"인 경우가 더 보편적이고, 극소량의 작업만 수행하도록 만들어진 경우가 많습니다. 예컨대
 서비스를 시작하여 이벤트를 근거로 한 어떤 작업을 수행하도록 할 수 있습니다.
 
-<p>브로드캐스트 수신기는 {@link android.content.BroadcastReceiver}의 
-하위 클래스로 구현되며 각 브로드캐스트는 {@link android.content.Intent} 객체로 전달됩니다. 자세한 정보는 
+<p>브로드캐스트 수신기는 {@link android.content.BroadcastReceiver}의
+하위 클래스로 구현되며 각 브로드캐스트는 {@link android.content.Intent} 객체로 전달됩니다. 자세한 정보는
 {@link android.content.BroadcastReceiver} 클래스를 참조하십시오.</p>
 </dd>
 
@@ -163,72 +163,72 @@
 
 
 
-<p>Android 시스템 디자인의 독특한 점으로 어떤 앱이든 다른 앱의 구성 요소를 시작할 수 있다는 점을 
-들 수 있습니다. 예를 들어 사용자가 기기 카메라로 사진을 캡처하기를 바라는 경우, 
-그런 작업을 수행하는 또 다른 앱이 있을 가능성이 높습니다. 그러면 사진을 캡처하는 액티비티를 직접 개발하는 대신 
-여러분의 앱이 그 앱을 사용하도록 하면 됩니다. 카메라 앱에 
+<p>Android 시스템 디자인의 독특한 점으로 어떤 앱이든 다른 앱의 구성 요소를 시작할 수 있다는 점을
+들 수 있습니다. 예를 들어 사용자가 기기 카메라로 사진을 캡처하기를 바라는 경우,
+그런 작업을 수행하는 또 다른 앱이 있을 가능성이 높습니다. 그러면 사진을 캡처하는 액티비티를 직접 개발하는 대신
+여러분의 앱이 그 앱을 사용하도록 하면 됩니다. 카메라 앱에
 통합하기는커녕 카메라 앱의 코드에 연결시킬 필요조차도 없습니다.
-그 대신, 그저 사진을 캡처하는 카메라 앱 안의 해당 액티비티를 시작하기만 하면 
-됩니다. 작업이 완료되면 사진이 앱으로 반환되기까지 하여 바로 사용할 수 있습니다. 사용자에게는, 
+그 대신, 그저 사진을 캡처하는 카메라 앱 안의 해당 액티비티를 시작하기만 하면
+됩니다. 작업이 완료되면 사진이 앱으로 반환되기까지 하여 바로 사용할 수 있습니다. 사용자에게는,
 마치 카메라가 여러분의 앱의 일부분인 것처럼 보입니다.</p>
 
-<p>시스템이 구성 요소를 시작하는 경우, 그 앱에 대한 프로세스를 시작하는 것이며(이미 
-실행 중이지 않은 경우), 해당 구성 요소에 필요한 클래스를 인스턴트화하는 것입니다. 예를 들어 여러분의 앱이 
-카메라 앱 내에서 사진을 캡처하는 액티비티를 시작한다고 하면, 해당 액티비티는 
-여러분 앱의 프로세스가 아니라 카메라 앱에 속한 프로세스에서 실행됩니다. 
-따라서 대부분의 다른 시스템에서와는 달리 Android 앱에는 단일한 진입 
+<p>시스템이 구성 요소를 시작하는 경우, 그 앱에 대한 프로세스를 시작하는 것이며(이미
+실행 중이지 않은 경우), 해당 구성 요소에 필요한 클래스를 인스턴트화하는 것입니다. 예를 들어 여러분의 앱이
+카메라 앱 내에서 사진을 캡처하는 액티비티를 시작한다고 하면, 해당 액티비티는
+여러분 앱의 프로세스가 아니라 카메라 앱에 속한 프로세스에서 실행됩니다.
+따라서 대부분의 다른 시스템에서와는 달리 Android 앱에는 단일한 진입
 지점이 없습니다(예를 들어 {@code main()} 기능이 없습니다).</p>
 
-<p>시스템이 각 앱을 별도의 프로세스에서 실행하며 다른 앱에 대한 액세스를 제한하는 
-파일 권한을 가지고 실행하기 때문에 여러분의 앱은 또 다른 앱에서 곧바로 구성 요소를 
-활성화할 수는 없습니다. 하지만 Android 시스템은 할 수 있습니다. 그래서 또 다른 앱에 있는 
-구성 요소를 활성화하려면 시스템에 메시지를 전달하여 특정 구성 요소를 시작하고자 하는 <em>인텐트</em>를 
+<p>시스템이 각 앱을 별도의 프로세스에서 실행하며 다른 앱에 대한 액세스를 제한하는
+파일 권한을 가지고 실행하기 때문에 여러분의 앱은 또 다른 앱에서 곧바로 구성 요소를
+활성화할 수는 없습니다. 하지만 Android 시스템은 할 수 있습니다. 그래서 또 다른 앱에 있는
+구성 요소를 활성화하려면 시스템에 메시지를 전달하여 특정 구성 요소를 시작하고자 하는 <em>인텐트</em>를
 밝혀야 합니다. 그러면 시스템이 대신 해당 구성 요소를 활성화해줍니다.</p>
 
 
 <h3 id="ActivatingComponents">구성 요소 활성화</h3>
 
-<p>네 가지 구성 요소 중 세 가지&mdash;액티비티, 서비스 및 
+<p>네 가지 구성 요소 중 세 가지&mdash;액티비티, 서비스 및
 브로드캐스트 수신기&mdash;는 일명 <em>인텐트</em>라고 하는 비동기식 메시지가 활성화합니다.
-인텐트는 각각의 구성 요소를 런타임에 서로 바인딩하며(다른 구성 요소로부터 작업을 요청하는 
-일종의 메신저로 생각하면 됩니다), 이는 구성 요소가 여러분의 앱에 속하든 아니든 
+인텐트는 각각의 구성 요소를 런타임에 서로 바인딩하며(다른 구성 요소로부터 작업을 요청하는
+일종의 메신저로 생각하면 됩니다), 이는 구성 요소가 여러분의 앱에 속하든 아니든
 무관합니다.</p>
 
-<p>인텐트는 {@link android.content.Intent} 객체로 생성되며, 이것이 
-특정 구성 요소를 활성화할지 아니면 구성 요소의 특정 <em>유형</em>을 활성화할지를 나타내는 메시지를 정의합니다. 인텐트는 
+<p>인텐트는 {@link android.content.Intent} 객체로 생성되며, 이것이
+특정 구성 요소를 활성화할지 아니면 구성 요소의 특정 <em>유형</em>을 활성화할지를 나타내는 메시지를 정의합니다. 인텐트는
 각각 명시적이거나 암시적일 수 있습니다.</p>
 
-<p>액티비티와 서비스의 경우, 인텐트는 수행할 작업을 정의하며(예를 들어 무언가를 '보기" 또는 
-"보내기"), 작업을 수행할 데이터의 URI를 나타낼 수 있습니다(시작되는 구성 요소가 알아야 할 것은 
-이외에도 많이 있습니다). 예를 들어, 인텐트는 액티비티에 이미지를 표시하거나 웹 페이지를 열라는 요청을 
-전달할 수 있습니다. 어떤 경우에는 액티비티를 시작하여 
-결과를 받아오도록 할 수 있습니다. 이런 경우 이 액티비티는 
-{@link android.content.Intent}로 결과를 반환하기도 합니다(예를 들어, 사용자가 
-개인적인 연락처를 선택하도록 한 다음 그것을 반환하도록 하는 인텐트를 발행할 수 있습니다&mdash;반환 인텐트에 
+<p>액티비티와 서비스의 경우, 인텐트는 수행할 작업을 정의하며(예를 들어 무언가를 '보기" 또는
+"보내기"), 작업을 수행할 데이터의 URI를 나타낼 수 있습니다(시작되는 구성 요소가 알아야 할 것은
+이외에도 많이 있습니다). 예를 들어, 인텐트는 액티비티에 이미지를 표시하거나 웹 페이지를 열라는 요청을
+전달할 수 있습니다. 어떤 경우에는 액티비티를 시작하여
+결과를 받아오도록 할 수 있습니다. 이런 경우 이 액티비티는
+{@link android.content.Intent}로 결과를 반환하기도 합니다(예를 들어, 사용자가
+개인적인 연락처를 선택하도록 한 다음 그것을 반환하도록 하는 인텐트를 발행할 수 있습니다&mdash;반환 인텐트에
 선택한 연락처를 가리키는 URI가 포함됩니다).</p>
 
-<p>브로드캐스트 수신기의 경우, 인텐트는 단순히 브로드캐스트될 알림을 
-정의할 뿐입니다(예를 들어, 기기 배터리 잔량이 낮다는 것을 나타내는 브로드캐스트에는 
+<p>브로드캐스트 수신기의 경우, 인텐트는 단순히 브로드캐스트될 알림을
+정의할 뿐입니다(예를 들어, 기기 배터리 잔량이 낮다는 것을 나타내는 브로드캐스트에는
 "배터리 부족"을 나타내는 알려진 작업 문자열만 포함됩니다).</p>
 
-<p>남은 하나의 구성 요소 유형, 즉 콘텐츠 제공자는 인텐트가 활성화하지 않습니다. 그보다는 
-{@link android.content.ContentResolver}로부터의 요청으로 지정되면 활성화됩니다. 콘텐츠 
-확인자는 콘텐츠 제공자와의 모든 직접적인 트랜잭션을 처리하여 
+<p>남은 하나의 구성 요소 유형, 즉 콘텐츠 제공자는 인텐트가 활성화하지 않습니다. 그보다는
+{@link android.content.ContentResolver}로부터의 요청으로 지정되면 활성화됩니다. 콘텐츠
+확인자는 콘텐츠 제공자와의 모든 직접적인 트랜잭션을 처리하여
 제공자와의 트랜잭션을 수행하는 구성 요소가 그런 일을 하지 않아도 되게 하고, 그 대신 {@link
-android.content.ContentResolver} 객체에서 메서드를 호출합니다. 이렇게 되면 콘텐츠 제공자와 
+android.content.ContentResolver} 객체에서 메서드를 호출합니다. 이렇게 되면 콘텐츠 제공자와
 정보를 요청하는 구성 요소 사이에 추상화 계층이 하나 남습니다(보안 목적).</p>
 
 <p>각 유형의 구성 요소를 활성화하는 데에는 각기 별도의 메서드가 있습니다.</p>
 <ul>
-  <li>액티비티를 시작하려면(아니면 무언가 새로운 할 일을 주려면) 
+  <li>액티비티를 시작하려면(아니면 무언가 새로운 할 일을 주려면)
 {@link android.content.Intent}를 {@link android.content.Context#startActivity
-startActivity()} 또는 {@link android.app.Activity#startActivityForResult startActivityForResult()}에 
+startActivity()} 또는 {@link android.app.Activity#startActivityForResult startActivityForResult()}에
 전달하면 됩니다(액티비티가 결과를 반환하기를 원하는 경우).</li>
-  <li>서비스를 시작하려면(또는 진행 중인 서비스에 새로운 지침을 주려면) 
+  <li>서비스를 시작하려면(또는 진행 중인 서비스에 새로운 지침을 주려면)
 {@link android.content.Intent}를 {@link android.content.Context#startService
-startService()}에 전달하면 됩니다. 아니면 {@link android.content.Intent}를 
+startService()}에 전달하면 됩니다. 아니면 {@link android.content.Intent}를
 {@link android.content.Context#bindService bindService()}에 전달하여 서비스에 바인딩할 수도 있습니다.</li>
-  <li>브로드캐스트를 시작하려면 {@link android.content.Intent}를 
+  <li>브로드캐스트를 시작하려면 {@link android.content.Intent}를
 {@link android.content.Context#sendBroadcast(Intent) sendBroadcast()}, {@link
 android.content.Context#sendOrderedBroadcast(Intent, String) sendOrderedBroadcast()} 또는 {@link
 android.content.Context#sendStickyBroadcast sendStickyBroadcast()}와 같은 메서드에 전달하면 됩니다.</li>
@@ -236,29 +236,29 @@
 android.content.ContentProvider#query query()}를 호출하면 됩니다.</li>
 </ul>
 
-<p>인텐트 사용에 관한 자세한 정보는 <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 
-인텐트 필터</a>문서를 참조하십시오. 특정 구성 요소를 활성화하는 데 관한 자세한 정보 또한 다음 문서에 
+<p>인텐트 사용에 관한 자세한 정보는 <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및
+인텐트 필터</a>문서를 참조하십시오. 특정 구성 요소를 활성화하는 데 관한 자세한 정보 또한 다음 문서에
 제공되어 있습니다. <a href="{@docRoot}guide/components/activities.html">액티비티</a>, <a href="{@docRoot}guide/components/services.html">서비스</a>, {@link
 android.content.BroadcastReceiver} 및 <a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a>.</p>
 
 
 <h2 id="Manifest">매니페스트 파일</h2>
 
-<p>Android 시스템이 앱 구성 요소를 시작하려면 시스템은 우선 해당 구성 요소가 
+<p>Android 시스템이 앱 구성 요소를 시작하려면 시스템은 우선 해당 구성 요소가
 존재하는지 알아야 합니다. 그러기 위해 앱의 {@code AndroidManifest.xml} 파일을 읽습니다(즉 "매니페스트"
-파일). 앱은 이 파일 안에 모든 구성 요소를 선언해야 하며, 이 파일은 앱 프로젝트 디렉터리의 루트에 
+파일). 앱은 이 파일 안에 모든 구성 요소를 선언해야 하며, 이 파일은 앱 프로젝트 디렉터리의 루트에
 있어야 합니다.</p>
 
 <p>매니페스트는 앱의 구성 요소를 선언하는 것 이외에도 수많은 역할을 합니다.
 예를 들면 다음과 같습니다.</p>
 <ul>
-  <li>앱이 요구하는 모든 사용자 권한 식별(예: 인터넷 액세스 또는 사용자의 연락처로의 
+  <li>앱이 요구하는 모든 사용자 권한 식별(예: 인터넷 액세스 또는 사용자의 연락처로의
 읽기 액세스)</li>
   <li>앱이 어느 API를 사용하는지를 근거로 하여 앱에서 요구하는 최소 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API 레벨</a>
 선언</li>
-  <li>앱에서 사용하거나 필요로 하는 하드웨어 및 소프트웨어 기능 선언(예: 카메라, 
+  <li>앱에서 사용하거나 필요로 하는 하드웨어 및 소프트웨어 기능 선언(예: 카메라,
 블루투스 서비스 또는 멀티터치 화면 등)</li>
-  <li>앱이 링크되어야 하는 API 라이브러리(Android 프레임워크 
+  <li>앱이 링크되어야 하는 API 라이브러리(Android 프레임워크
 API 제외)(예: <a href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps
 라이브러리</a>)</li>
   <li>그 외 기타 등등</li>
@@ -267,7 +267,7 @@
 
 <h3 id="DeclaringComponents">구성 요소 선언</h3>
 
-<p>매니페스트의 주요 작업은 시스템에 앱의 구성 요소에 대해 알리는 것입니다. 예를 들어 
+<p>매니페스트의 주요 작업은 시스템에 앱의 구성 요소에 대해 알리는 것입니다. 예를 들어
 매니페스트 파일은 액티비티를 다음과 같이 선언할 수 있습니다. </p>
 
 <pre>
@@ -283,36 +283,36 @@
 
 <p><code><a
 href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
-요소에서 {@code android:icon} 속성은 앱을 식별하는 아이콘에 대한 리소스를 
+요소에서 {@code android:icon} 속성은 앱을 식별하는 아이콘에 대한 리소스를
 가리킵니다.</p>
 
 <p><code><a
-href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 요소에서는, 
+href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 요소에서는,
 {@code android:name} 속성이 {@link
-android.app.Activity} 하위 클래스의 완전히 정규화된 클래스 이름을 나타내며 {@code android:label} 속성은 액티비티의 
+android.app.Activity} 하위 클래스의 완전히 정규화된 클래스 이름을 나타내며 {@code android:label} 속성은 액티비티의
 사용자에게 표시되는 레이블로 사용할 문자열을 나타냅니다.</p>
 
 <p>모든 앱 구성 요소를 이렇게 선언해야 합니다.</p>
 <ul>
-  <li>액티비티는 
+  <li>액티비티는
 <code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 요소</li>
-  <li>서비스는 
+  <li>서비스는
 <code><a
 href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 요소</li>
-  <li>브로드캐스트 수신기는 
+  <li>브로드캐스트 수신기는
 <code><a
 href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code> 요소</li>
-  <li>콘텐츠 제공자는 
+  <li>콘텐츠 제공자는
 <code><a
 href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 요소</li>
 </ul>
 
-<p>액티비티, 서비스를 비롯하여 소스에는 포함시키지만 매니페스트에서는 선언하지 않는 
-콘텐츠 제공자는 시스템에 표시되지 않으며, 따라서 실행될 수 없습니다.  그러나 
+<p>액티비티, 서비스를 비롯하여 소스에는 포함시키지만 매니페스트에서는 선언하지 않는
+콘텐츠 제공자는 시스템에 표시되지 않으며, 따라서 실행될 수 없습니다.  그러나
 브로드캐스트
  수신기는 매니페스트에서 선언해도 되고 코드를 사용해(
-{@link android.content.BroadcastReceiver} 객체로) 동적으로 생성한 다음 시스템에 등록해도 됩니다. 이때 
+{@link android.content.BroadcastReceiver} 객체로) 동적으로 생성한 다음 시스템에 등록해도 됩니다. 이때
 {@link android.content.Context#registerReceiver registerReceiver()}를 호출하는 방법을 씁니다.</p>
 
 <p>앱에 맞는 매니페스트 파일을 구성하는 방법에 대한 자세한 내용은 <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">AndroidManifest.xml 파일</a>을
@@ -322,26 +322,26 @@
 
 <h3 id="DeclaringComponentCapabilities">구성 요소 기능 선언</h3>
 
-<p>위에서 논한 바와 같이, <a href="#ActivatingComponents">활성화 상태의 구성 요소</a>에서는 
-{@link android.content.Intent}를 사용하여 액티비티, 서비스 및 브로드캐스트 수신기를 시작할 수 있습니다. 그렇게 하려면 
-대상 구성 요소를 인텐트 내에서 명시적으로 명명하면 됩니다(구성 요소 클래스 이름을 사용). 그러나, 
-인텐트의 진정한 힘은 <em>암시적 인텐트</em>의 개념에서 발휘됩니다. 암시적 인텐트는 
-그저 수행할 작업의 유형을 설명할 뿐이며(또한, 선택 사항으로, 해당 작업을 수행하고자 하는 
-데이터 위치도) 시스템에 기기에서 작업을 수행할 수 있는 구성 요소를 찾아 
-시작하도록 해줍니다. 인텐트가 설명한 작업을 수행할 수 있는 구성 요소가 여러 개인 경우, 
+<p>위에서 논한 바와 같이, <a href="#ActivatingComponents">활성화 상태의 구성 요소</a>에서는
+{@link android.content.Intent}를 사용하여 액티비티, 서비스 및 브로드캐스트 수신기를 시작할 수 있습니다. 그렇게 하려면
+대상 구성 요소를 인텐트 내에서 명시적으로 명명하면 됩니다(구성 요소 클래스 이름을 사용). 그러나,
+인텐트의 진정한 힘은 <em>암시적 인텐트</em>의 개념에서 발휘됩니다. 암시적 인텐트는
+그저 수행할 작업의 유형을 설명할 뿐이며(또한, 선택 사항으로, 해당 작업을 수행하고자 하는
+데이터 위치도) 시스템에 기기에서 작업을 수행할 수 있는 구성 요소를 찾아
+시작하도록 해줍니다. 인텐트가 설명한 작업을 수행할 수 있는 구성 요소가 여러 개인 경우,
 어느 것을 사용할지 사용자가 선택합니다.</p>
 
-<p>시스템이 인텐트에 응답할 수 있는 구성 요소를 식별하는 방법은 수신한 인텐트를 
- <i>인텐트 필터</i> 와 비교하는 것입니다. 이 인텐트 필터는 기기의 다른 여러 앱의 매니페스트 
+<p>시스템이 인텐트에 응답할 수 있는 구성 요소를 식별하는 방법은 수신한 인텐트를
+ <i>인텐트 필터</i> 와 비교하는 것입니다. 이 인텐트 필터는 기기의 다른 여러 앱의 매니페스트
 파일이 제공합니다.</p>
 
-<p>앱의 매니페스트에서 액티비티를 선언하는 경우, 선택 사항으로 
-해당 액티비티의 기능을 선언하는 인텐트 필터를 포함시켜서 다른 앱으로부터의 인텐트에 
-응답할 수 있도록 할 수 있습니다. 구성 요소에 대한 인텐트 필터를 선언하려면 
+<p>앱의 매니페스트에서 액티비티를 선언하는 경우, 선택 사항으로
+해당 액티비티의 기능을 선언하는 인텐트 필터를 포함시켜서 다른 앱으로부터의 인텐트에
+응답할 수 있도록 할 수 있습니다. 구성 요소에 대한 인텐트 필터를 선언하려면
 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 &lt;intent-filter&gt;}</a> 요소를 해당 구성 요소의 선언 요소 하위로 추가하면 됩니다.</p>
 
-<p>예를 들어, 새 이메일을 작성하는 데 쓰는 액티비티가 있는 이메일 앱을 구축했다고 가정합시다. 이때 "전송" 인텐트에 
+<p>예를 들어, 새 이메일을 작성하는 데 쓰는 액티비티가 있는 이메일 앱을 구축했다고 가정합시다. 이때 "전송" 인텐트에
 응답하는 인텐트 필터를 선언하려면(새 이메일을 전송하기 위해) 다음과 같이 하면 됩니다.</p>
 <pre>
 &lt;manifest ... >
@@ -360,7 +360,7 @@
 
 <p>그런 다음, 다른 앱이 {@link
 android.content.Intent#ACTION_SEND} 작업을 가진 인텐트를 생성하여 그것을 {@link android.app.Activity#startActivity
-startActivity()}로 전달하면 시스템이 여러분의 액티비티를 시작하여 사용자가 이메일을 임시 보관하고 전송할 수 
+startActivity()}로 전달하면 시스템이 여러분의 액티비티를 시작하여 사용자가 이메일을 임시 보관하고 전송할 수
 있습니다.</p>
 
 <p>인텐트 필터 생성에 관한 자세한 내용은 <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a> 문서를 참조하십시오.
@@ -370,16 +370,16 @@
 
 <h3 id="DeclaringRequirements">앱 요구 사항 선언</h3>
 
-<p>Android로 구동되는 기기는 수없이 많지만 모두 똑같은 특징을 갖고 같은 
-기능을 제공하는 것은 아닙니다. 앱이 필요로 하는 기능이 부족한 기기에 앱을 설치하게 되는 불상사를 방지하려면, 
-앱이 지원하는 기기 유형에 대한 프로필을 명확하게 정의하는 것이 중요합니다. 
-그러려면 매니페스트 파일에 기기와 소프트웨어 요구 사항을 
-선언하면 됩니다. 이와 같은 선언은 대부분 정보성일 뿐이며 시스템은 이를 읽지 않는 것이 일반적이지만, 
-Google Play와 같은 외부 서비스는 사용자가 본인의 기기에서 앱을 검색할 때 필터링을 제공하기 위해 
+<p>Android로 구동되는 기기는 수없이 많지만 모두 똑같은 특징을 갖고 같은
+기능을 제공하는 것은 아닙니다. 앱이 필요로 하는 기능이 부족한 기기에 앱을 설치하게 되는 불상사를 방지하려면,
+앱이 지원하는 기기 유형에 대한 프로필을 명확하게 정의하는 것이 중요합니다.
+그러려면 매니페스트 파일에 기기와 소프트웨어 요구 사항을
+선언하면 됩니다. 이와 같은 선언은 대부분 정보성일 뿐이며 시스템은 이를 읽지 않는 것이 일반적이지만,
+Google Play와 같은 외부 서비스는 사용자가 본인의 기기에서 앱을 검색할 때 필터링을 제공하기 위해
 이와 같은 선언도 읽습니다.</p>
 
-<p>예를 들어, 앱에 카메라가 필요하고 Android 2.1부터 도입된 API를 사용하는 경우(<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API 레벨</a> 7) 
-이과 같은 내용을 매니페스트 파일에 요구 사항으로 선언하려면 다음과 같이 합니다.</p> 
+<p>예를 들어, 앱에 카메라가 필요하고 Android 2.1부터 도입된 API를 사용하는 경우(<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API 레벨</a> 7)
+이과 같은 내용을 매니페스트 파일에 요구 사항으로 선언하려면 다음과 같이 합니다.</p>
 
 <pre>
 &lt;manifest ... >
@@ -390,15 +390,15 @@
 &lt;/manifest>
 </pre>
 
-<p>이제 카메라가 <em>없고</em> Android 버전이 2.1 <em>이하</em>인 기기는 
+<p>이제 카메라가 <em>없고</em> Android 버전이 2.1 <em>이하</em>인 기기는
 Google Play에서 여러분의 앱을 설치할 수 없습니다.</p>
 
-<p>그러나, 앱이 카메라를 사용하기는 하지만 꼭 
+<p>그러나, 앱이 카메라를 사용하기는 하지만 꼭
 <em>필요한</em> 것은 아니라고 선언할 수도 있습니다. 이 경우에는, 앱이 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#required">{@code required}</a>
- 속성을 {@code "false"}에 설정하고 런타임을 확인하여 
+ 속성을 {@code "false"}에 설정하고 런타임을 확인하여
 해당 기기에 카메라가 있는지, 경우에 따라 모든 카메라 기능을 비활성화할 수 있는지 알아봅니다.</p>
 
-<p>여러 가지 기기와 앱의 호환성을 관리하는 방법에 대한 자세한 정보는 
+<p>여러 가지 기기와 앱의 호환성을 관리하는 방법에 대한 자세한 정보는
 <a href="{@docRoot}guide/practices/compatibility.html">기기 호환성</a>
  문서를 참조하십시오.</p>
 
@@ -407,40 +407,40 @@
 <h2 id="Resources">앱 리소스</h2>
 
 <p>Android 앱을 이루는 것은 코드만이 아닙니다. 소스 코드와는 별개인 여러 리소스가 필요합니다.
-예를 들어 이미지, 오디오 파일과 앱을 시각적으로 표현하는 것과 관련된 모든 것들이 있습니다. 
-예컨대 애니메이션, 메뉴, 스타일, 색상과 액티비티 사용자 인터페이스의 레이아웃을 XML 파일로 
-정의해야 합니다. 앱 리소스를 사용하면 앱의 다양한 특성을 
-쉽게 업데이트할 수 있으며 코드를 수정하지 않아도 되고 일련의 대체 리소스를 
-제공함으로써 다양한 기기 구성에 맞게 앱을 
+예를 들어 이미지, 오디오 파일과 앱을 시각적으로 표현하는 것과 관련된 모든 것들이 있습니다.
+예컨대 애니메이션, 메뉴, 스타일, 색상과 액티비티 사용자 인터페이스의 레이아웃을 XML 파일로
+정의해야 합니다. 앱 리소스를 사용하면 앱의 다양한 특성을
+쉽게 업데이트할 수 있으며 코드를 수정하지 않아도 되고 일련의 대체 리소스를
+제공함으로써 다양한 기기 구성에 맞게 앱을
 최적화할 수도 있습니다(예: 여러 가지 언어 및 화면 크기).</p>
 
-<p>Android 프로젝트에 포함시키는 리소스마다 SDK 빌드 도구가 고유한 
-정수 ID를 정의하므로, 이를 사용하여 앱 코드에서의 리소스나 XML로 정의된 
+<p>Android 프로젝트에 포함시키는 리소스마다 SDK 빌드 도구가 고유한
+정수 ID를 정의하므로, 이를 사용하여 앱 코드에서의 리소스나 XML로 정의된
 다른 리소스에서 참조할 수 있습니다. 예를 들어 앱에 {@code
-logo.png}라는 이름의 이미지 파일이 들어 있다고 하면({@code res/drawable/} 디렉터리에 저장됨) SDK 도구가 
-{@code R.drawable.logo}라는 리소스 ID를 생성합니다. 이것을 사용하여 이미지를 참조하고 사용자 인터페이스에 
+logo.png}라는 이름의 이미지 파일이 들어 있다고 하면({@code res/drawable/} 디렉터리에 저장됨) SDK 도구가
+{@code R.drawable.logo}라는 리소스 ID를 생성합니다. 이것을 사용하여 이미지를 참조하고 사용자 인터페이스에
 삽입할 수 있습니다.</p>
 
-<p>소스 코드와는 별개로 리소스를 제공하는 것의 가장 중요한 측면 중 하나는 
-여러 가지 기기 구성에 맞게 대체 리소스를 제공할 능력을 갖추게 
-됩니다. 예를 들어 UI 문자열을 XML로 정의하면 이러한 문자열을 다른 언어로 변환한 뒤 
+<p>소스 코드와는 별개로 리소스를 제공하는 것의 가장 중요한 측면 중 하나는
+여러 가지 기기 구성에 맞게 대체 리소스를 제공할 능력을 갖추게
+됩니다. 예를 들어 UI 문자열을 XML로 정의하면 이러한 문자열을 다른 언어로 변환한 뒤
 그러한 문자열을 별개의 파일에 저장할 수 있습니다. 그런 다음, 리소스 디렉터리 이름에 추가한 언어 <em>한정자</em>
-(예를 들어 프랑스어 문자열 값의 경우 {@code res/values-fr/}) 및 
-사용자의 언어 설정을 근거로 하여 Android 시스템이 적절한 언어 문자열을 UI에 
+(예를 들어 프랑스어 문자열 값의 경우 {@code res/values-fr/}) 및
+사용자의 언어 설정을 근거로 하여 Android 시스템이 적절한 언어 문자열을 UI에
 적용하는 것입니다.</p>
 
 <p>Android는 대체 리소스에 대해 다양한 <em>한정자</em>를 지원합니다. 한정자란
- 리소스 디렉터리의 이름에 포함시키는 짧은 문자열로, 이를 사용해 해당 리소스를 사용할 기기 구성을 
-정의합니다. 또 다른 예를 들자면, 
-기기의 화면 방향과 크기에 따라 액티비티에 여러 가지 레이아웃을 생성해야 할 때가 
-많습니다. 예를 들어 기기 화면이 세로 
-방향(키가 큼)인 경우, 버튼이 세로 방향으로 되어 있는 레이아웃을 사용하는 것이 좋지만 화면이 
-가로 방향(폭이 넓음)인 경우, 버튼이 가로 방향으로 정렬되어야 합니다. 방향에 따라 레이아웃을 변경하려면, 
-서로 다른 두 가지 레이아웃을 정의하여 적절한 한정자를 각각의 레이아웃의 디렉터리 이름에 
-적용하면 됩니다. 그러면 시스템이 현재 기기 방향에 따라 적절한 레이아웃을 
+ 리소스 디렉터리의 이름에 포함시키는 짧은 문자열로, 이를 사용해 해당 리소스를 사용할 기기 구성을
+정의합니다. 또 다른 예를 들자면,
+기기의 화면 방향과 크기에 따라 액티비티에 여러 가지 레이아웃을 생성해야 할 때가
+많습니다. 예를 들어 기기 화면이 세로
+방향(키가 큼)인 경우, 버튼이 세로 방향으로 되어 있는 레이아웃을 사용하는 것이 좋지만 화면이
+가로 방향(폭이 넓음)인 경우, 버튼이 가로 방향으로 정렬되어야 합니다. 방향에 따라 레이아웃을 변경하려면,
+서로 다른 두 가지 레이아웃을 정의하여 적절한 한정자를 각각의 레이아웃의 디렉터리 이름에
+적용하면 됩니다. 그러면 시스템이 현재 기기 방향에 따라 적절한 레이아웃을
 자동으로 적용합니다.</p>
 
-<p>애플리케이션에 포함할 수 있는 여러 가지 종류의 리소스와, 각기 다른 기기 구성에 따라 
+<p>애플리케이션에 포함할 수 있는 여러 가지 종류의 리소스와, 각기 다른 기기 구성에 따라
 대체 리소스를 생성하는 방법에 대한 자세한 내용은 <a href="{@docRoot}guide/topics/resources/providing-resources.html">리소스 제공</a>을 읽어보십시오.</p>
 
 
@@ -451,15 +451,15 @@
   <dl>
     <dt><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
     </dt>
-    <dd>{@link android.content.Intent} API를 사용하여 
-앱 구성 요소(예: 액티비티 및 서비스 등)를 활성화하는 방법, 앱 구성 요소를 다른 여러 앱이 사용할 수 있도록 하는 방법 
+    <dd>{@link android.content.Intent} API를 사용하여
+앱 구성 요소(예: 액티비티 및 서비스 등)를 활성화하는 방법, 앱 구성 요소를 다른 여러 앱이 사용할 수 있도록 하는 방법
 등에 관한 정보입니다.</dd>
     <dt><a href="{@docRoot}guide/components/activities.html">액티비티</a></dt>
-    <dd>{@link android.app.Activity} 클래스의 인스턴스를 생성하는 방법에 관한 정보로, 
+    <dd>{@link android.app.Activity} 클래스의 인스턴스를 생성하는 방법에 관한 정보로,
 애플리케이션에 사용자 인터페이스가 있는 독특한 화면을 제공합니다.</dd>
     <dt><a href="{@docRoot}guide/topics/resources/providing-resources.html">리소스 제공</a></dt>
-    <dd>Android 앱이 앱 코드와는 별개의 앱 리소스에 대해 구조화된 방식에 관한 정보로, 
-특정 기기 구성에 맞게 대체 리소스를 제공하는 방법도 포함되어 
+    <dd>Android 앱이 앱 코드와는 별개의 앱 리소스에 대해 구조화된 방식에 관한 정보로,
+특정 기기 구성에 맞게 대체 리소스를 제공하는 방법도 포함되어
 있습니다.
     </dd>
   </dl>
@@ -468,11 +468,11 @@
   <h2 class="norule">혹시 다음과 같은 내용에도 흥미가 있으신가요?</h2>
   <dl>
     <dt><a href="{@docRoot}guide/practices/compatibility.html">기기 호환성</a></dt>
-    <dd>여러 가지 유형의 기기에서 Android의 작동 방식과 앱을 각 기기에 맞춰 최적화하는 방법 
-또는 여러 가지 기기에 대해 앱의 가용성을 제한하는 방법 등에 관한 
+    <dd>여러 가지 유형의 기기에서 Android의 작동 방식과 앱을 각 기기에 맞춰 최적화하는 방법
+또는 여러 가지 기기에 대해 앱의 가용성을 제한하는 방법 등에 관한
 정보입니다.</dd>
     <dt><a href="{@docRoot}guide/topics/security/permissions.html">시스템 권한</a></dt>
-    <dd>Android가 특정 API에 대한 앱의 액세스를 제한하기 위해 권한 시스템을 
+    <dd>Android가 특정 API에 대한 앱의 액세스를 제한하기 위해 권한 시스템을
 사용하는 방법으로, 그러한 API를 사용하려면 앱에 대해 사용자의 승인이 필요합니다.</dd>
   </dl>
 </div>
diff --git a/docs/html-intl/intl/ko/guide/components/index.jd b/docs/html-intl/intl/ko/guide/components/index.jd
index 3662632..a860c0f 100644
--- a/docs/html-intl/intl/ko/guide/components/index.jd
+++ b/docs/html-intl/intl/ko/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=앱 구성 요소
 page.landing=true
-page.landing.intro=Android의 애플리케이션 프레임워크는 일련의 재사용 가능한 구성 요소를 사용하여 풍성하고 혁신적인 앱을 생성할 수 있습니다. 이 섹션에서는 앱의 구성 단위를 정의 내리는 구성 요소를 구축하는 방법과 인텐트를 사용하여 이와 같은 구성 요소를 연결시키는 법을 설명합니다. 
-page.metaDescription=Android의 애플리케이션 프레임워크는 일련의 재사용 가능한 구성 요소를 사용하여 풍성하고 혁신적인 앱을 생성할 수 있습니다. 이 섹션에서는 앱의 구성 단위를 정의 내리는 구성 요소를 구축하는 방법과 인텐트를 사용하여 이와 같은 구성 요소를 연결시키는 법을 설명합니다. 
+page.landing.intro=Android의 애플리케이션 프레임워크는 일련의 재사용 가능한 구성 요소를 사용하여 풍성하고 혁신적인 앱을 생성할 수 있습니다. 이 섹션에서는 앱의 구성 단위를 정의 내리는 구성 요소를 구축하는 방법과 인텐트를 사용하여 이와 같은 구성 요소를 연결시키는 법을 설명합니다.
+page.metaDescription=Android의 애플리케이션 프레임워크는 일련의 재사용 가능한 구성 요소를 사용하여 풍성하고 혁신적인 앱을 생성할 수 있습니다. 이 섹션에서는 앱의 구성 단위를 정의 내리는 구성 요소를 구축하는 방법과 인텐트를 사용하여 이와 같은 구성 요소를 연결시키는 법을 설명합니다.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>블로그 문서</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>DialogFragment 사용하기</h4>
       <p>이 포스트에서는 v4 지원 라이브러리와 함께 DialogFragment를 사용하여(Honeycomb 이전 기기에서 이전 버전과의 호환성을 위해) 간단한 편집 대화를 표시하고 인터페이스를 사용하여 호출 중인 액티비티에 결과를 반환하는 법을 보여드립니다.</p>
@@ -21,35 +21,35 @@
       <h4>모두를 위한 프래그먼트</h4>
       <p>Google에서는 오늘 같은 프래그먼트 API를 노출하는 정적 라이브러리를 출시했습니다(새로운 LoaderManager와 몇 가지 다른 클래스도 포함). 이 덕분에 Android 1.6 이후 버전과 호환되는 애플리케이션이 프래그먼트를 사용하여 태블릿과 호환되는 사용자 인터페이스를 생성할 수 있게 되었습니다. </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>성능을 위한 다중 스레딩</h4>
-      <p>반응형 애플리케이션을 생성할 때에는 주요 UI 스레드가 최소한의 작업만 
-하도록 하는 것이 좋습니다. 애플리케이션을 중단시킬 수 있는, 
+      <p>반응형 애플리케이션을 생성할 때에는 주요 UI 스레드가 최소한의 작업만
+하도록 하는 것이 좋습니다. 애플리케이션을 중단시킬 수 있는,
 길어질 수 있는 작업은 모두 다른 스레드에서 처리해야 합니다.</p>
     </a>
   </div>
 
   <div class="col-6">
     <h3>교육</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>액티비티 수명 주기 관리하기</h4>
-      <p>이 클래스에서는 각각의 액티비티 
-인스턴스가 수신하는 중요한 수명 주기 콜백 메서드를 설명합니다. 또한 이러한 콜백 메서드를 사용하여 액티비티가 
+      <p>이 클래스에서는 각각의 액티비티
+인스턴스가 수신하는 중요한 수명 주기 콜백 메서드를 설명합니다. 또한 이러한 콜백 메서드를 사용하여 액티비티가
 사용자가 원하는 작업을 하고, 액티비티가 필요로 하지 않을 때 시스템 리소스 사용을 방지하는 방법에 대해서도 설명합니다.</p>
     </a>
 
     <a href="http://developer.android.com/training/basics/fragments/index.html">
       <h4>프래그먼트로 동적 UI 구축하기</h4>
-      <p>이 클래스에서는 Android 1.6만큼 오래된 버전을 실행하는 기기도 
-계속 지원하면서 프래그먼트로 동적 사용자 경험을 생성하고, 기기의 화면 크기에 따라 앱의 사용자 환경을 
+      <p>이 클래스에서는 Android 1.6만큼 오래된 버전을 실행하는 기기도
+계속 지원하면서 프래그먼트로 동적 사용자 경험을 생성하고, 기기의 화면 크기에 따라 앱의 사용자 환경을
 최적화할 수 있는 방법을 보여줍니다.</p>
     </a>
 
     <a href="http://developer.android.com/training/sharing/index.html">
       <h4>콘텐츠 공유하기</h4>
-      <p>이 클래스는 인텐트 API와 ActionProvider 객체를 사용하여 여러 애플리케이션 사이에서 
+      <p>이 클래스는 인텐트 API와 ActionProvider 객체를 사용하여 여러 애플리케이션 사이에서
 콘텐츠를 전송하고 수신하는 몇 가지 보편적인 방법을 다룹니다.</p>
     </a>
   </div>
diff --git a/docs/html-intl/intl/ko/guide/components/loaders.jd b/docs/html-intl/intl/ko/guide/components/loaders.jd
index cfbbb91..dd02e11 100644
--- a/docs/html-intl/intl/ko/guide/components/loaders.jd
+++ b/docs/html-intl/intl/ko/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Key 클래스</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>관련 샘플</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -39,22 +39,22 @@
   </div>
 </div>
 
-<p>로더는 Android 3.0부터 도입된 것으로, 액티비티 또는 프래그먼트에서 비동기식으로 데이터를 쉽게 
+<p>로더는 Android 3.0부터 도입된 것으로, 액티비티 또는 프래그먼트에서 비동기식으로 데이터를 쉽게
 로딩할 수 있게 합니다. 로더의 특성은 다음과 같습니다.</p>
   <ul>
     <li>모든 {@link android.app.Activity}와 {@link
 android.app.Fragment}에 사용할 수 있습니다.</li>
     <li>데이터의 비동기식 로딩을 제공합니다.</li>
-    <li>데이터의 출처를 모니터링하여 그 콘텐츠가 변경되면 새 결과를 
+    <li>데이터의 출처를 모니터링하여 그 콘텐츠가 변경되면 새 결과를
 전달합니다.</li>
-    <li>구성 변경 후에 재생성된 경우, 마지막 로더의 커서로 자동으로 
-다시 연결됩니다. 따라서 데이터를 다시 쿼리하지 않아도 
+    <li>구성 변경 후에 재생성된 경우, 마지막 로더의 커서로 자동으로
+다시 연결됩니다. 따라서 데이터를 다시 쿼리하지 않아도
 됩니다.</li>
   </ul>
- 
+
 <h2 id="summary">로더 API 요약</h2>
 
-<p>애플리케이션 안에서 로더를 사용하는 데 관련된 클래스와 인터페이스는 
+<p>애플리케이션 안에서 로더를 사용하는 데 관련된 클래스와 인터페이스는
 여러 가지가 있습니다. 다음 표에서 요약되어 있습니다.</p>
 
 <table>
@@ -64,16 +64,16 @@
   </tr>
   <tr>
     <td>{@link android.app.LoaderManager}</td>
-    <td>{@link android.app.Activity} 또는 
+    <td>{@link android.app.Activity} 또는
 {@link android.app.Fragment}와 연관된 추상 클래스로, 하나 이상의 {@link
-android.content.Loader} 인스턴스를 관리하는 데 쓰입니다. 이것을 사용하면 애플리케이션이 
+android.content.Loader} 인스턴스를 관리하는 데 쓰입니다. 이것을 사용하면 애플리케이션이
 {@link android.app.Activity}
- 또는 {@link android.app.Fragment} 수명 주기와 함께 실행 시간이 긴 작업을 관리하는 데 도움이 됩니다. 이것의 가장 보편적인 용법은 
-{@link android.content.CursorLoader}와 함께 사용하는 것이지만, 
+ 또는 {@link android.app.Fragment} 수명 주기와 함께 실행 시간이 긴 작업을 관리하는 데 도움이 됩니다. 이것의 가장 보편적인 용법은
+{@link android.content.CursorLoader}와 함께 사용하는 것이지만,
 다른 유형의 데이터를 로드하기 위해 애플리케이션이 자체 로더를 작성하는 것도 얼마든지 가능합니다.
     <br />
     <br />
-    액티비티 또는 프래그먼트당 {@link android.app.LoaderManager}는 하나씩밖에 없습니다. 하지만 {@link android.app.LoaderManager}에는 로더가 여러 개 있어도 
+    액티비티 또는 프래그먼트당 {@link android.app.LoaderManager}는 하나씩밖에 없습니다. 하지만 {@link android.app.LoaderManager}에는 로더가 여러 개 있어도
 됩니다.</td>
   </tr>
   <tr>
@@ -85,10 +85,10 @@
   </tr>
   <tr>
     <td>{@link android.content.Loader}</td>
-    <td>데이터의 비동기식 로딩을 수행하는 추상 클래스입니다. 이것이 로더의 기본 
+    <td>데이터의 비동기식 로딩을 수행하는 추상 클래스입니다. 이것이 로더의 기본
 클래스입니다. 보통은 {@link
-android.content.CursorLoader}를 사용하기 마련이지만, 자신만의 하위 클래스를 구현해도 됩니다. 로더가 활성 상태인 동안에는 
-소속 데이터의 출처를 모니터링하고 콘텐츠가 변경되면 새 결과를 
+android.content.CursorLoader}를 사용하기 마련이지만, 자신만의 하위 클래스를 구현해도 됩니다. 로더가 활성 상태인 동안에는
+소속 데이터의 출처를 모니터링하고 콘텐츠가 변경되면 새 결과를
 전달하는 것이 정상입니다. </td>
   </tr>
   <tr>
@@ -97,118 +97,118 @@
   </tr>
   <tr>
     <td>{@link android.content.CursorLoader}</td>
-    <td>{@link android.content.AsyncTaskLoader}의 하위 클래스로, 이것이 
+    <td>{@link android.content.AsyncTaskLoader}의 하위 클래스로, 이것이
 {@link android.content.ContentResolver}를 쿼리하고 {@link
 android.database.Cursor}를 반환합니다. 이 클래스는 커서 쿼리에 대한 표준 방식으로 {@link
-android.content.Loader} 프로토콜을 구현하며, 
-{@link android.content.AsyncTaskLoader}에 구축되어 
-배경 스레드에서 커서 쿼리를 수행하므로 애플리케이션의 UI를 차단하지 않습니다. 
+android.content.Loader} 프로토콜을 구현하며,
+{@link android.content.AsyncTaskLoader}에 구축되어
+배경 스레드에서 커서 쿼리를 수행하므로 애플리케이션의 UI를 차단하지 않습니다.
 이 로더를 사용하는 것이 프래그먼트나 액티비티의 API를 통해 관리된 쿼리를 수행하는 대신 {@link
-android.content.ContentProvider}에서 
+android.content.ContentProvider}에서
 비동기식으로 데이터를 로딩하는 최선의 방법입니다.</td>
   </tr>
 </table>
 
-<p>위의 표에 나열된 클래스와 인터페이스가 애플리케이션 내에서 로더를 구현하는 데 
-사용할 기본적인 구성 요소입니다. 생성하는 로더마다 
+<p>위의 표에 나열된 클래스와 인터페이스가 애플리케이션 내에서 로더를 구현하는 데
+사용할 기본적인 구성 요소입니다. 생성하는 로더마다
 이 모든 것이 다 필요한 것은 아니지만, 로더를 초기화하려면 항상 {@link
 android.app.LoaderManager}를 참조해야 하고 {@link
-android.content.CursorLoader}와 같은 {@link android.content.Loader} 
-클래스도 구현해야 합니다. 다음 몇 섹션에서는 애플리케이션 안에서 이와 같은 
+android.content.CursorLoader}와 같은 {@link android.content.Loader}
+클래스도 구현해야 합니다. 다음 몇 섹션에서는 애플리케이션 안에서 이와 같은
 클래스와 인터페이스를 사용하는 법을 보여줍니다.</p>
 
 <h2 id ="app">애플리케이션 안에서 로더 사용하기</h2>
-<p>이 섹션에서는 Android 애플리케이션 내에서 로더를 사용하는 방법을 설명합니다. 로더를 
+<p>이 섹션에서는 Android 애플리케이션 내에서 로더를 사용하는 방법을 설명합니다. 로더를
 사용하는 애플리케이션에는 보통 다음이 포함되어 있습니다.</p>
 <ul>
   <li>{@link android.app.Activity} 또는 {@link android.app.Fragment}.</li>
   <li>{@link android.app.LoaderManager}의 인스턴스.</li>
   <li>{@link
-android.content.ContentProvider}가 지원하는 데이터를 로딩할 {@link android.content.CursorLoader}. 아니면, 개발자 나름의 
-{@link android.content.Loader} 또는 {@link android.content.AsyncTaskLoader} 하위 클래스를 구현하여 
+android.content.ContentProvider}가 지원하는 데이터를 로딩할 {@link android.content.CursorLoader}. 아니면, 개발자 나름의
+{@link android.content.Loader} 또는 {@link android.content.AsyncTaskLoader} 하위 클래스를 구현하여
 다른 출처에서 데이터를 로딩해도 됩니다.</li>
   <li>{@link android.app.LoaderManager.LoaderCallbacks}의 구현.
-여기에서 새 로더를 생성하고 기존 로더에 대한 참조를 
-관리합니다.</li> 
+여기에서 새 로더를 생성하고 기존 로더에 대한 참조를
+관리합니다.</li>
 <li>로더의 데이터를 표시하는 방법(예: {@link
 android.widget.SimpleCursorAdapter})</li>
-  <li>{@link android.content.ContentProvider}와 같은 데이터 출처로, 
+  <li>{@link android.content.ContentProvider}와 같은 데이터 출처로,
 {@link android.content.CursorLoader}를 사용하는 경우에 해당.</li>
 </ul>
 <h3 id="starting">로더 시작</h3>
 
-<p>{@link android.app.LoaderManager}는 {@link android.app.Activity} 또는 
+<p>{@link android.app.LoaderManager}는 {@link android.app.Activity} 또는
 {@link android.app.Fragment} 내에서 하나 이상의 {@link
 android.content.Loader} 인스턴스를 관리합니다. 액티비티 또는 프래그먼트당 {@link
-android.app.LoaderManager}는 하나씩밖에 없습니다.</p> 
+android.app.LoaderManager}는 하나씩밖에 없습니다.</p>
 
-<p>보통은 
+<p>보통은
 액티비티의 {@link
-android.app.Activity#onCreate onCreate()} 메서드 내에서, 또는 프래그먼트의 
-{@link android.app.Fragment#onActivityCreated onActivityCreated()} 메서드 내에서 {@link android.content.Loader}를 초기화합니다. 이렇게 하려면 
+android.app.Activity#onCreate onCreate()} 메서드 내에서, 또는 프래그먼트의
+{@link android.app.Fragment#onActivityCreated onActivityCreated()} 메서드 내에서 {@link android.content.Loader}를 초기화합니다. 이렇게 하려면
 다음과 같은 방법을 따릅니다.</p>
 
 <pre>// Prepare the loader.  Either re-connect with an existing one,
 // or start a new one.
 getLoaderManager().initLoader(0, null, this);</pre>
 
-<p>{@link android.app.LoaderManager#initLoader initLoader()} 메서드는 
+<p>{@link android.app.LoaderManager#initLoader initLoader()} 메서드는
 다음과 같은 인수를 취합니다.</p>
 <ul>
   <li>로더를 식별하는 고유한 ID. 이 예시에서 ID는 0입니다.</li>
 <li>생성 시 로더에 제공할 선택적 인수
-(이 예시에서는 <code>null</code>).</li> 
+(이 예시에서는 <code>null</code>).</li>
 
-<li>{@link android.app.LoaderManager.LoaderCallbacks} 구현. 로더 이벤트를 보고하기 위해 
+<li>{@link android.app.LoaderManager.LoaderCallbacks} 구현. 로더 이벤트를 보고하기 위해
 {@link android.app.LoaderManager}가 이것을 호출합니다. 이 예시에서는
  로컬 클래스가 {@link
-android.app.LoaderManager.LoaderCallbacks} 인터페이스를 구현하여 자신에 대한 참조인 
-{@code this}를 통과합니다.</li> 
+android.app.LoaderManager.LoaderCallbacks} 인터페이스를 구현하여 자신에 대한 참조인
+{@code this}를 통과합니다.</li>
 </ul>
-<p>{@link android.app.LoaderManager#initLoader initLoader()} 호출로 로더가 초기화되었고 활성 상태이도록 
+<p>{@link android.app.LoaderManager#initLoader initLoader()} 호출로 로더가 초기화되었고 활성 상태이도록
 확실히 합니다. 이로써 발생할 수 있는 결과가 두 가지 있습니다.</p>
 <ul>
-  <li>ID가 지정한 로더가 이미 존재하는 경우, 마지막으로 생성된 로더를 
+  <li>ID가 지정한 로더가 이미 존재하는 경우, 마지막으로 생성된 로더를
 재사용합니다.</li>
-  <li>ID가 지정한 로더가 존재하지 <em>않는</em> 경우, 
-{@link android.app.LoaderManager#initLoader initLoader()}가 
-{@link android.app.LoaderManager.LoaderCallbacks} 메서드 {@link android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()}를 발생시킵니다. 
+  <li>ID가 지정한 로더가 존재하지 <em>않는</em> 경우,
+{@link android.app.LoaderManager#initLoader initLoader()}가
+{@link android.app.LoaderManager.LoaderCallbacks} 메서드 {@link android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()}를 발생시킵니다.
 여기에서 인스턴트화할 코드를 구현하고 새 로더를 반환합니다.
 자세한 논의는 <a href="#onCreateLoader">onCreateLoader</a> 섹션을 참조하십시오.</li>
 </ul>
 <p>어떤 경우에든 주어진 {@link android.app.LoaderManager.LoaderCallbacks}
-구현은 해당 로더와 연관되어 있으며, 로더 상태가 변경되면 
-이것이 호출됩니다.  이 호출의 그러한 시점에서 발신자가 
-시작된 상태에 있으며 요청한 로더가 이미 존재하고 자신의 데이터를 
+구현은 해당 로더와 연관되어 있으며, 로더 상태가 변경되면
+이것이 호출됩니다.  이 호출의 그러한 시점에서 발신자가
+시작된 상태에 있으며 요청한 로더가 이미 존재하고 자신의 데이터를
 생성해 놓은 경우, 시스템은 즉시 {@link
-android.app.LoaderManager.LoaderCallbacks#onLoadFinished onLoadFinished()}를 
-호출합니다({@link android.app.LoaderManager#initLoader initLoader()} 도중). 
+android.app.LoaderManager.LoaderCallbacks#onLoadFinished onLoadFinished()}를
+호출합니다({@link android.app.LoaderManager#initLoader initLoader()} 도중).
 따라서 이런 일이 발생할 것에 대비해두어야만 합니다. 이 콜백에 대한 자세한 논의는 <a href="#onLoadFinished">
 onLoadFinished</a>를 참조하십시오.</p>
 
 <p>{@link android.app.LoaderManager#initLoader initLoader()}
-메서드는 생성된 {@link android.content.Loader}를 반환하지만, 이에 대한 참조를 캡처하지 않아도 된다는 점을 
-유의하십시오. {@link android.app.LoaderManager}는 로더의 수명을 
-자동으로 관리합니다. {@link android.app.LoaderManager}는 
-필요에 따라 로딩을 시작하고 중단하며, 로더와 그에 연관된 콘텐츠의 상태를 
-유지관리합니다. 이것이 시사하는 바와 같이, 로더와 직접적으로 
-상호 작용하는 경우는 극히 드뭅니다(다만, 로더의 행동을 미세하게 조정하기 위해 로더 메서드를 사용하는 사례를 알아보려면 
-<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> 샘플을 참조하면 좋습니다). 
+메서드는 생성된 {@link android.content.Loader}를 반환하지만, 이에 대한 참조를 캡처하지 않아도 된다는 점을
+유의하십시오. {@link android.app.LoaderManager}는 로더의 수명을
+자동으로 관리합니다. {@link android.app.LoaderManager}는
+필요에 따라 로딩을 시작하고 중단하며, 로더와 그에 연관된 콘텐츠의 상태를
+유지관리합니다. 이것이 시사하는 바와 같이, 로더와 직접적으로
+상호 작용하는 경우는 극히 드뭅니다(다만, 로더의 행동을 미세하게 조정하기 위해 로더 메서드를 사용하는 사례를 알아보려면
+<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> 샘플을 참조하면 좋습니다).
 가장 보편적으로 사용되는 메서드는 {@link
-android.app.LoaderManager.LoaderCallbacks}로, 이를 사용해 특정한 이벤트가 일어났을 때 
+android.app.LoaderManager.LoaderCallbacks}로, 이를 사용해 특정한 이벤트가 일어났을 때
 로딩 프로세스에 개입하게 됩니다. 이 주제에 대한 자세한 논의는 <a href="#callback">LoaderManager 콜백 사용하기</a>를 참조하십시오.</p>
 
 <h3 id="restarting">로더 다시 시작</h3>
 
-<p>위에서 나타난 것과 같이 {@link android.app.LoaderManager#initLoader initLoader()}를 사용하는 경우, 
-이것은 지정된 ID에 해당되는 기존 로더가 있으면 그것을 사용합니다. 
-없으면, 하나 생성합니다. 하지만 때로는 오래된 데이터를 폐기하고 새로 시작하고 싶을 때가 
+<p>위에서 나타난 것과 같이 {@link android.app.LoaderManager#initLoader initLoader()}를 사용하는 경우,
+이것은 지정된 ID에 해당되는 기존 로더가 있으면 그것을 사용합니다.
+없으면, 하나 생성합니다. 하지만 때로는 오래된 데이터를 폐기하고 새로 시작하고 싶을 때가
 있습니다.</p>
 
 <p>오래된 데이터를 폐기하려면 {@link
-android.app.LoaderManager#restartLoader restartLoader()}를 사용합니다. 예를 들어, 다음의 
-{@link android.widget.SearchView.OnQueryTextListener} 구현은 
-사용자의 쿼리가 변경되면 로더를 다시 시작합니다. 로더를 다시 시작해야 수정된 검색 필터를 사용하여 
+android.app.LoaderManager#restartLoader restartLoader()}를 사용합니다. 예를 들어, 다음의
+{@link android.widget.SearchView.OnQueryTextListener} 구현은
+사용자의 쿼리가 변경되면 로더를 다시 시작합니다. 로더를 다시 시작해야 수정된 검색 필터를 사용하여
 새 쿼리를 수행할 수 있습니다.</p>
 
 <pre>
@@ -223,18 +223,18 @@
 
 <h3 id="callback">LoaderManager 콜백 사용하기</h3>
 
-<p>{@link android.app.LoaderManager.LoaderCallbacks}는 클라이언트가 
+<p>{@link android.app.LoaderManager.LoaderCallbacks}는 클라이언트가
 {@link android.app.LoaderManager}와 상호 작용할 수 있게 해주는 콜백 인터페이스입니다. </p>
-<p>로더, 특히 {@link android.content.CursorLoader}는 중단된 후에도 
-자신의 데이터를 유지할 것으로 기대됩니다. 이 때문에 애플리케이션이 
+<p>로더, 특히 {@link android.content.CursorLoader}는 중단된 후에도
+자신의 데이터를 유지할 것으로 기대됩니다. 이 때문에 애플리케이션이
 액티비티 또는 프래그먼트의 @link android.app.Activity#onStop
-onStop()} 및 {@link android.app.Activity#onStart onStart()}를 가로질러 데이터를 유지할 수 있고, 
-따라서 사용자가 애플리케이션에 되돌아오면 데이터가 다시 로딩되기를 기다리지 
-않아도 됩니다. 새 로더를 언제 생성해야 할지 알아보려면 {@link android.app.LoaderManager.LoaderCallbacks} 
-메서드를 사용합니다. 또한 로더의 데이터 사용을 중단할 때가 되면 
+onStop()} 및 {@link android.app.Activity#onStart onStart()}를 가로질러 데이터를 유지할 수 있고,
+따라서 사용자가 애플리케이션에 되돌아오면 데이터가 다시 로딩되기를 기다리지
+않아도 됩니다. 새 로더를 언제 생성해야 할지 알아보려면 {@link android.app.LoaderManager.LoaderCallbacks}
+메서드를 사용합니다. 또한 로더의 데이터 사용을 중단할 때가 되면
 이를 애플리케이션에 알리는 데에도 이것을 사용할 수 있습니다.</p>
 
-<p>{@link android.app.LoaderManager.LoaderCallbacks}에는 다음과 같은 메서드가 
+<p>{@link android.app.LoaderManager.LoaderCallbacks}에는 다음과 같은 메서드가
 포함됩니다.</p>
 <ul>
   <li>{@link android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()} -
@@ -246,7 +246,7 @@
 </li></ul>
 <ul>
   <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}
-- 이전에 생성된 로더가 휴식 중이라서 해당되는 데이터를 사용할 수 없을 경우 
+- 이전에 생성된 로더가 휴식 중이라서 해당되는 데이터를 사용할 수 없을 경우
 호출됩니다.
 </li>
 </ul>
@@ -255,32 +255,32 @@
 <h4 id ="onCreateLoader">onCreateLoader</h4>
 
 <p>로더에 액세스하려 시도하는 경우(예를 들어 {@link
-android.app.LoaderManager#initLoader initLoader()}를 통해), 로더는 해당 ID가 지정하는 로더가 존재하는지 
+android.app.LoaderManager#initLoader initLoader()}를 통해), 로더는 해당 ID가 지정하는 로더가 존재하는지
 여부를 확인합니다. 그런 로더가 없으면, {@link
 android.app.LoaderManager.LoaderCallbacks} 메서드 {@link
-android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()}를 발생시킵니다. 여기에서 
+android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()}를 발생시킵니다. 여기에서
 새 로더를 생성합니다. 이것은 보통 {@link
 android.content.CursorLoader}이지만, 개발자 나름대로 {@link
 android.content.Loader} 하위 클래스를 구현해도 됩니다. </p>
 
 <p>이 예시에서는, {@link
 android.app.LoaderManager.LoaderCallbacks#onCreateLoader onCreateLoader()}
- 콜백 메서드가 {@link android.content.CursorLoader}를 생성합니다. 
-{@link android.content.CursorLoader}를 자체 생성자 메서드를 사용하여 구축해야 합니다. 이것은 
+ 콜백 메서드가 {@link android.content.CursorLoader}를 생성합니다.
+{@link android.content.CursorLoader}를 자체 생성자 메서드를 사용하여 구축해야 합니다. 이것은
 {@link
 android.content.ContentProvider}로 쿼리를 수행하기 위해 필요한 모든 정보 집합을 필요로 합니다. 구체적으로 필요한 것은 다음과 같습니다.</p>
 <ul>
   <li><em>uri</em> — 검색할 콘텐츠의 URI입니다. </li>
-  <li><em>예측</em> — 반환할 열 목록입니다. 
+  <li><em>예측</em> — 반환할 열 목록입니다.
 <code>null</code>을 전달하면 모든 열을 반환하며, 이는 비효율적입니다. </li>
-  <li><em>선택</em> — 반환할 행을 선언하는 필터로, 
-SQL WHERE 절로 형식이 설정됩니다(WHERE 자체는 제외). 
+  <li><em>선택</em> — 반환할 행을 선언하는 필터로,
+SQL WHERE 절로 형식이 설정됩니다(WHERE 자체는 제외).
 <code>null</code>을 반환하면 주어진 URI에 대한 모든 행을 반환합니다. </li>
-  <li><em>selectionArgs</em> — 선택에 ?를 포함해도 됩니다. 이렇게 하면 
-이것이 <em>selectionArgs</em>에서 가져온 값으로 교체되며, 이때 선택에 표시되는 
+  <li><em>selectionArgs</em> — 선택에 ?를 포함해도 됩니다. 이렇게 하면
+이것이 <em>selectionArgs</em>에서 가져온 값으로 교체되며, 이때 선택에 표시되는
 순서를 따릅니다. 값은 문자열로 바인딩됩니다. </li>
-  <li><em>sortOrder</em> — SQL ORDER BY 절 형식으로 설정된 
-행의 순서 지정 방법입니다(ORDER BY 자체는 제외). <code>null</code>을 
+  <li><em>sortOrder</em> — SQL ORDER BY 절 형식으로 설정된
+행의 순서 지정 방법입니다(ORDER BY 자체는 제외). <code>null</code>을
 전달하면 기본 정렬 순서를 사용하는데, 이는 순서가 없습니다.</li>
 </ul>
 <p>예:</p>
@@ -312,19 +312,19 @@
 }</pre>
 <h4 id="onLoadFinished">onLoadFinished</h4>
 
-<p>이 메서드는 이전에 생성된 로더가 로딩을 완료하면 호출됩니다. 
-이 로더에 대해 제공된 마지막 데이터가 릴리스되기 전에 틀림없이 
-이 메서드가 호출됩니다.  이 시점에서 오래된 데이터의 
-사용 내용을 모두 제거해야 하지만(곧 릴리스될 것이므로), 데이터 릴리스를 직접 수행해서는 안 됩니다. 해당 데이터는 
+<p>이 메서드는 이전에 생성된 로더가 로딩을 완료하면 호출됩니다.
+이 로더에 대해 제공된 마지막 데이터가 릴리스되기 전에 틀림없이
+이 메서드가 호출됩니다.  이 시점에서 오래된 데이터의
+사용 내용을 모두 제거해야 하지만(곧 릴리스될 것이므로), 데이터 릴리스를 직접 수행해서는 안 됩니다. 해당 데이터는
 로더의 소유이며, 로더가 알아서 처리할 것이기 때문입니다.</p>
 
 
-<p>로더는 애플리케이션이 데이터를 더 이상 사용하지 않는다는 사실을 알게 되면 곧바로 해당 데이터를 
+<p>로더는 애플리케이션이 데이터를 더 이상 사용하지 않는다는 사실을 알게 되면 곧바로 해당 데이터를
 릴리스할 것입니다.  예를 들어 데이터가 {@link
 android.content.CursorLoader}의 커서인 경우, 거기에서 직접 {@link
-android.database.Cursor#close close()}를 호출하면 안 됩니다. 커서가 
+android.database.Cursor#close close()}를 호출하면 안 됩니다. 커서가
 {@link android.widget.CursorAdapter}에 배치되는 경우, {@link
-android.widget.SimpleCursorAdapter#swapCursor swapCursor()} 메서드를 사용해야 합니다. 그래야 
+android.widget.SimpleCursorAdapter#swapCursor swapCursor()} 메서드를 사용해야 합니다. 그래야
 오래된 {@link android.database.Cursor}가 종료되지 않습니다. 예:</p>
 
 <pre>
@@ -340,11 +340,11 @@
 
 <h4 id="onLoaderReset">onLoaderReset</h4>
 
-<p>이 메서드는 이전에 생성된 로더가 휴식 중이라서 해당되는 데이터를 사용할 수 없는 경우 
-호출됩니다. 이 콜백을 사용하면 데이터가 언제 릴리스될지 알아낼 수 있어 
+<p>이 메서드는 이전에 생성된 로더가 휴식 중이라서 해당되는 데이터를 사용할 수 없는 경우
+호출됩니다. 이 콜백을 사용하면 데이터가 언제 릴리스될지 알아낼 수 있어
 이에 대한 참조를 직접 제거할 수 있습니다.  </p>
-<p>이 구현은 
-{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}를 호출하며, 
+<p>이 구현은
+{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}를 호출하며,
 이때 값은 <code>null</code>을 씁니다.</p>
 
 <pre>
@@ -363,12 +363,12 @@
 <h2 id="example">예</h2>
 
 <p>일례를 제시하기 위해 아래에 {@link android.widget.ListView}를 표시하는 {@link
-android.app.Fragment}의 전체 구현을 나타내었습니다. 여기에는 
+android.app.Fragment}의 전체 구현을 나타내었습니다. 여기에는
 연락처 콘텐츠 제공자에 대한 쿼리 결과가 들어 있습니다. 이것은 {@link
 android.content.CursorLoader}를 사용하여 제공자에 대한 쿼리를 관리합니다.</p>
- 
-<p>이 예시에서 나타낸 바와 같이 애플리케이션이 사용자의 연락처에 액세스하려면 
-애플리케이션의 매니페스트에 
+
+<p>이 예시에서 나타낸 바와 같이 애플리케이션이 사용자의 연락처에 액세스하려면
+애플리케이션의 매니페스트에
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS} 권한이 포함되어 있어야 합니다.</p>
 
 <pre>
@@ -479,16 +479,16 @@
 }</pre>
 <h3 id="more_examples">추가 예</h3>
 
-<p>로더를 사용하는 법을 보여주는 몇 가지 다른 예가 <strong>ApiDemos</strong>에 
+<p>로더를 사용하는 법을 보여주는 몇 가지 다른 예가 <strong>ApiDemos</strong>에
 소개되어 있습니다.</p>
 <ul>
   <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
-LoaderCursor</a> — 위에 표시된 코드 조각의 완전한 
+LoaderCursor</a> — 위에 표시된 코드 조각의 완전한
 버전입니다.</li>
-  <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> — 데이터가 변경될 때 콘텐츠 제공자가 
+  <li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> — 데이터가 변경될 때 콘텐츠 제공자가
 수행하는 쿼리의 수를 줄이기 위해 제한을 사용하는 방법을 예시로 나타낸 것입니다.</li>
 </ul>
 
-<p>SDK 샘플을 다운로드하고 설치하는 데 대한 정보는 <a href="http://developer.android.com/resources/samples/get.html">샘플 
+<p>SDK 샘플을 다운로드하고 설치하는 데 대한 정보는 <a href="http://developer.android.com/resources/samples/get.html">샘플
 가져오기</a>를 참조하십시오. </p>
 
diff --git a/docs/html-intl/intl/ko/guide/components/processes-and-threads.jd b/docs/html-intl/intl/ko/guide/components/processes-and-threads.jd
index 850d55c..cad4917 100644
--- a/docs/html-intl/intl/ko/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/ko/guide/components/processes-and-threads.jd
@@ -28,10 +28,10 @@
 <p>애플리케이션 구성 요소가 시작되고 애플리케이션에 실행 중인 다른 구성 요소가 없으면
 Android 시스템은 하나의 실행 스레드로 애플리케이션의 Linux 프로세스를
 시작합니다. 기본적으로 같은 애플리케이션의 모든 구성 요소는 같은 프로세스와 스레드에서 실행됩니다
-("기본" 스레드라고 합니다). 애플리케이션 구성 요소가 시작되고 (애플리케이션의 다른 구성 요소가 존재해서) 
+("기본" 스레드라고 합니다). 애플리케이션 구성 요소가 시작되고 (애플리케이션의 다른 구성 요소가 존재해서)
 해당 애플리케이션의 프로세스가 이미 존재하면 해당 구성 요소는
-프로세스 내에서 시작되고 같은 실행 스레드를 사용합니다. 하지만 애플리케이션 내의 
-여러 가지 구성 요소가 각자 별도의 프로세스에서 실행되도록 할 수도 있고, 어느 프로세스에든 추가 스레드를 
+프로세스 내에서 시작되고 같은 실행 스레드를 사용합니다. 하지만 애플리케이션 내의
+여러 가지 구성 요소가 각자 별도의 프로세스에서 실행되도록 할 수도 있고, 어느 프로세스에든 추가 스레드를
 만들 수 있습니다.</p>
 
 <p>이 문서는 프로세스와 스레드가 Android 애플리케이션에서 작동하는 방식을 설명합니다.</p>
@@ -48,8 +48,8 @@
 &lt;service&gt;}</a>, <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code
 &lt;receiver&gt;}</a> 및 <a href="{@docRoot}guide/topics/manifest/provider-element.html">{@code
 &lt;provider&gt;}</a>&mdash;의 각 유형에 대한 매니페스트 항목은 구성 요소를 실행할 프로세스를 지정하는 {@code android:process} 속성을 지원합니다.
- 이러한 속성을 설정하여 각 구성 요소를 자체 프로세스에서 실행시키거나 
-다른 구성 요소를 제외한 일부 구성 요소만 프로세스를 공유하게 할 수 있습니다  또한, 
+ 이러한 속성을 설정하여 각 구성 요소를 자체 프로세스에서 실행시키거나
+다른 구성 요소를 제외한 일부 구성 요소만 프로세스를 공유하게 할 수 있습니다  또한,
 {@code android:process}를 설정하여 다른 애플리케이션의 구성 요소를 같은 프로세스에서 실행시킬 수 있습니다.
 단, 이는 애플리케이션이 같은 Linux 사용자 ID를 공유하고 같은 인증서에
 서명되었을 경우에 한합니다.</p>
@@ -58,35 +58,35 @@
 &lt;application&gt;}</a> 요소도 {@code android:process} 속성을 지원하여,
 모든 구성 요소에 적용되는 기본값을 설정합니다.</p>
 
-<p>Android는 어느 시점엔가 프로세스를 종료하기로 결정할 수도 있습니다. 즉 메모리가 부족하거나, 사용자에게 더욱 즉각적인 서비스를 제공하는 
-다른 프로세스가 이 프로세스의 중단을 필요로 하는 경우 등입니다. 그러면 중단된 
-프로세스에서 실행되고 있던 애플리케이션 구성 요소도 따라서 소멸됩니다.  그와 같은 구성 요소가 할 작업이 다시 생기면 
+<p>Android는 어느 시점엔가 프로세스를 종료하기로 결정할 수도 있습니다. 즉 메모리가 부족하거나, 사용자에게 더욱 즉각적인 서비스를 제공하는
+다른 프로세스가 이 프로세스의 중단을 필요로 하는 경우 등입니다. 그러면 중단된
+프로세스에서 실행되고 있던 애플리케이션 구성 요소도 따라서 소멸됩니다.  그와 같은 구성 요소가 할 작업이 다시 생기면
 그에 대한 프로세스도 다시 시작됩니다.</p>
 
-<p>어느 프로세스를 삭제할지 결정할 때, Android 시스템은 
-사용자에 대한 이들의 상대적 중요성을 가늠합니다.  예를 들어, 눈에 보이는 액티비티를 호스팅하는 프로세스와 비교하여 
-화면에 보이지 않는 액티비티를 호스팅하는 프로세스를 쉽게 종료할 수 있습니다. 프로세스 종료 결정은 
-해당 프로세스에서 실행되는 구성 요소의 상태에 따라 달라집니다. 종료할 
+<p>어느 프로세스를 삭제할지 결정할 때, Android 시스템은
+사용자에 대한 이들의 상대적 중요성을 가늠합니다.  예를 들어, 눈에 보이는 액티비티를 호스팅하는 프로세스와 비교하여
+화면에 보이지 않는 액티비티를 호스팅하는 프로세스를 쉽게 종료할 수 있습니다. 프로세스 종료 결정은
+해당 프로세스에서 실행되는 구성 요소의 상태에 따라 달라집니다. 종료할
 프로세스를 결정하는 데 사용하는 규칙은 아래에 설명되어 있습니다. </p>
 
 
 <h3 id="Lifecycle">프로세스 수명 주기</h3>
 
 <p>Android 시스템은 최대한 오래 애플리케이션 프로세스를 유지하려고 시도하지만,
-결국 오래된 프로세스를 제거하고 새 프로세스나 더 중요한 프로세스에 사용할 메모리를 확보해야 합니다.  유지할 
+결국 오래된 프로세스를 제거하고 새 프로세스나 더 중요한 프로세스에 사용할 메모리를 확보해야 합니다.  유지할
 프로세스와 종료할 프로세스를 결정하기 위해
-시스템은 프로세스에서 실행되는 구성 요소와 해당 구성 요소의 상태에 기초하여 각 프로세스에 
-"중요 계층"을 부여합니다.  중요도가 낮은 
+시스템은 프로세스에서 실행되는 구성 요소와 해당 구성 요소의 상태에 기초하여 각 프로세스에
+"중요 계층"을 부여합니다.  중요도가 낮은
 프로세스가 먼저 제거되고, 그 다음으로 중요도가 낮은 프로세스를 제거하는 식으로
 필요에 따라 시스템 리소스를 회복하는 것입니다.</p>
 
-<p>중요 계층에는 다섯 가지 단계가 있습니다. 다음 목록은 
-중요도 순서에 따른 프로세스 유형을 나타낸 것입니다(첫 번째 프로세스가 <em>가장 중요하고</em> 
+<p>중요 계층에는 다섯 가지 단계가 있습니다. 다음 목록은
+중요도 순서에 따른 프로세스 유형을 나타낸 것입니다(첫 번째 프로세스가 <em>가장 중요하고</em>
 <em>마지막으로 종료됩니다)</em>.</p>
 
 <ol>
   <li><b>전경 프로세스</b>
-    <p>사용자가 현재 진행하는 작업에 필요한 프로세스입니다.  다음 조건 중 
+    <p>사용자가 현재 진행하는 작업에 필요한 프로세스입니다.  다음 조건 중
 하나가 참일 경우 프로세스가 전경에 있는 것으로 간주합니다.</p>
 
       <ul>
@@ -108,19 +108,19 @@
 android.content.BroadcastReceiver#onReceive onReceive()} 메서드를 실행하는 {@link android.content.BroadcastReceiver}를 호스팅할 경우.</li>
     </ul>
 
-    <p>일반적으로, 주어진 시간에 존재하는 전경 프로세스는 몇 개밖에 되지 않습니다.  이들은 최후의 
-수단으로서만 종료됩니다. 즉, 메모리가 너무 부족해 계속 실행할 수 없는 경우를 말합니다.  일반적으로 그 시점이 되면 
-기기가 메모리 페이징 상태에 도달한 것이므로 전경 프로세스 몇 개를 중단해야만 
+    <p>일반적으로, 주어진 시간에 존재하는 전경 프로세스는 몇 개밖에 되지 않습니다.  이들은 최후의
+수단으로서만 종료됩니다. 즉, 메모리가 너무 부족해 계속 실행할 수 없는 경우를 말합니다.  일반적으로 그 시점이 되면
+기기가 메모리 페이징 상태에 도달한 것이므로 전경 프로세스 몇 개를 중단해야만
 사용자 인터페이스의 반응성을 유지할 수 있습니다.</p></li>
 
   <li><b>가시적 프로세스</b>
-    <p>전경 구성 요소는 없지만 
-사용자가 화면에서 보는 것에 영향을 미칠 수 있는 프로세스입니다. 다음 조건 중 하나가 참이면 
+    <p>전경 구성 요소는 없지만
+사용자가 화면에서 보는 것에 영향을 미칠 수 있는 프로세스입니다. 다음 조건 중 하나가 참이면
 가시적 프로세스로 간주합니다.</p>
 
       <ul>
         <li>전경에 있지는 않지만 사용자에게 보이는 {@link android.app.Activity}를 호스팅할 경우
-({@link android.app.Activity#onPause onPause()} 메서드가 호출되었을 경우). 
+({@link android.app.Activity#onPause onPause()} 메서드가 호출되었을 경우).
 예를 들어 이것은 전경 액티비티가 대화를 시작하여 이전 액티비티가 그 뒤에 보일 경우
  발생합니다.</li>
 
@@ -128,59 +128,59 @@
 </li>
       </ul>
 
-      <p>가시적인 프로세스는 매우 중요도가 높은 것으로 취급하고 모든 전경 프로세스를 실행하는 데 필요할 경우에만 
+      <p>가시적인 프로세스는 매우 중요도가 높은 것으로 취급하고 모든 전경 프로세스를 실행하는 데 필요할 경우에만
 종료됩니다. </p>
     </li>
 
   <li><b>서비스 프로세스</b>
     <p>{@link
-android.content.Context#startService startService()} 메서드로 시작되었지만 두 개의 상위 계층 분류에 
-들어가지 않는 서비스를 실행하는 프로세스입니다. 서비스 프로세스는 사용자가 보는 것과 직접 연결되어 있지는 않지만, 
-일반적으로 사용자가 신경 쓰는 작업을 하므로(배경에서 음악 재생 또는 네트워크에서 데이터 다운로드) 
-시스템은 모든 전경 및 가시적 프로세스와 함께 실행할 만큼 메모리가 충분하지 않을 경우에만 
+android.content.Context#startService startService()} 메서드로 시작되었지만 두 개의 상위 계층 분류에
+들어가지 않는 서비스를 실행하는 프로세스입니다. 서비스 프로세스는 사용자가 보는 것과 직접 연결되어 있지는 않지만,
+일반적으로 사용자가 신경 쓰는 작업을 하므로(배경에서 음악 재생 또는 네트워크에서 데이터 다운로드)
+시스템은 모든 전경 및 가시적 프로세스와 함께 실행할 만큼 메모리가 충분하지 않을 경우에만
 프로세스를 중단합니다. </p>
   </li>
 
   <li><b>배경 프로세스</b>
-    <p>현재 사용자에게 보이지 않는 액티비티를 보유한 프로세스입니다(액티비티의 
-{@link android.app.Activity#onStop onStop()} 메서드가 호출되었습니다). 이와 같은 프로세스는 
-사용자 환경에 직접적 영향을 미치지 않고, 시스템은 언제든 이 프로세스를 중단시켜 
+    <p>현재 사용자에게 보이지 않는 액티비티를 보유한 프로세스입니다(액티비티의
+{@link android.app.Activity#onStop onStop()} 메서드가 호출되었습니다). 이와 같은 프로세스는
+사용자 환경에 직접적 영향을 미치지 않고, 시스템은 언제든 이 프로세스를 중단시켜
 전경,
-가시적 또는 서비스 프로세스를 위한 메모리를 확보할 수 있습니다. 보통 한번에 실행 중인 배경 프로세스가 많은 편이므로 이들은 
-LRU(최저 사용 빈도) 목록에 보관하여 사용자가 가장 최근에 본 액티비티가 있는 
-프로세스가 가장 마지막에 중단되도록 합니다. 액티비티가 수명 주기 메서드를 올바르게 구현하고 
-자신의 현재 상태를 저장할 경우, 사용자가 액티비티로 다시 이동할 때 액티비티가 모든 가시적 상태를 
-복원하므로 프로세스를 중단시키더라도 사용자 환경에는 눈에 띄게 영향을 미치지 
+가시적 또는 서비스 프로세스를 위한 메모리를 확보할 수 있습니다. 보통 한번에 실행 중인 배경 프로세스가 많은 편이므로 이들은
+LRU(최저 사용 빈도) 목록에 보관하여 사용자가 가장 최근에 본 액티비티가 있는
+프로세스가 가장 마지막에 중단되도록 합니다. 액티비티가 수명 주기 메서드를 올바르게 구현하고
+자신의 현재 상태를 저장할 경우, 사용자가 액티비티로 다시 이동할 때 액티비티가 모든 가시적 상태를
+복원하므로 프로세스를 중단시키더라도 사용자 환경에는 눈에 띄게 영향을 미치지
 않습니다. 상태 저장과 복원에 관한 정보는 <a href="{@docRoot}guide/components/activities.html#SavingActivityState">액티비티</a>
 문서를 참조하십시오.</p>
   </li>
 
   <li><b>빈 프로세스</b>
-    <p>활성 애플리케이션 구성 요소를 보유하지 않은 프로세스입니다.  이런 프로세스를 
-유지하는 유일한 이유는 다음에 내부 구성 요소를 실행할 때 시작 시간을 절약하기 위한 캐싱 
+    <p>활성 애플리케이션 구성 요소를 보유하지 않은 프로세스입니다.  이런 프로세스를
+유지하는 유일한 이유는 다음에 내부 구성 요소를 실행할 때 시작 시간을 절약하기 위한 캐싱
 때문입니다.  시스템은 프로세스 캐시와 기본 커널 캐시 사이에서 전반적인 시스템 리소스의 균형을 맞추기 위해
 이 프로세스를 중단시키는 경우가 많습니다.</p>
   </li>
 </ol>
 
 
-  <p>Android는 프로세스에서 현재 활성 상태인 구성 요소의 중요도에 따라 
-프로세스에 가장 높은 수준을 부여합니다.  예를 들어, 프로세스가 서비스와 가시적 액티비티를 호스팅할 경우, 
+  <p>Android는 프로세스에서 현재 활성 상태인 구성 요소의 중요도에 따라
+프로세스에 가장 높은 수준을 부여합니다.  예를 들어, 프로세스가 서비스와 가시적 액티비티를 호스팅할 경우,
 해당 프로세스는 서비스 프로세스가 아니라 가시적 프로세스 등급이 부여됩니다.</p>
 
   <p>또한, 프로세스의 등급은 다른 프로세스가 이에 의존할 경우 상승할 수 있습니다.
-즉, 다른 프로세스에 서비스를 제공하는 프로세스가 서비스 제공 대상 프로세스보다 
-등급이 낮은 경우는 있을 수 없습니다. 예를 들어 프로세스 A의 콘텐츠 제공자가 프로세스 B의 클라이언트에 서비스를 제공하거나 
-프로세스 A의 서비스가 프로세스 B의 구성 요소에 바인딩되어 있을 경우 프로세스 A는 항상 중요도가 
+즉, 다른 프로세스에 서비스를 제공하는 프로세스가 서비스 제공 대상 프로세스보다
+등급이 낮은 경우는 있을 수 없습니다. 예를 들어 프로세스 A의 콘텐츠 제공자가 프로세스 B의 클라이언트에 서비스를 제공하거나
+프로세스 A의 서비스가 프로세스 B의 구성 요소에 바인딩되어 있을 경우 프로세스 A는 항상 중요도가
 프로세스 B와 같거나 그보다 높습니다.</p>
 
-  <p>서비스를 실행하는 프로세스가 배경 액티비티가 포함된 프로세스보다 높으므로, 
+  <p>서비스를 실행하는 프로세스가 배경 액티비티가 포함된 프로세스보다 높으므로,
 장기 작업을 시작하는 액티비티는 작업자 스레드만 생성하기보다는 해당 작업에 대한 <a href="{@docRoot}guide/components/services.html">서비스</a>를 시작하는 것이 좋습니다.
-이는 특히 작업이 해당 액티비티보다 오래 지속될 경우 더욱 중요합니다. 
-예를 들어, 웹사이트에 사진을 업로드하는 액티비티가 업로드를 수행하는 서비스를 시작해야 
-사용자가 액티비티를 떠나더라도 배경에서 업로드를 지속할 수 있습니다. 
-서비스를 사용하면 액티비티에 어떤 일이 발생하든 해당 작업에 반드시 
-"서비스 프로세스" 우선 순위 이상이 부여됩니다. 이것이 브로드캐스트 수신기가 시간이 오래 걸리는 작업을 
+이는 특히 작업이 해당 액티비티보다 오래 지속될 경우 더욱 중요합니다.
+예를 들어, 웹사이트에 사진을 업로드하는 액티비티가 업로드를 수행하는 서비스를 시작해야
+사용자가 액티비티를 떠나더라도 배경에서 업로드를 지속할 수 있습니다.
+서비스를 사용하면 액티비티에 어떤 일이 발생하든 해당 작업에 반드시
+"서비스 프로세스" 우선 순위 이상이 부여됩니다. 이것이 브로드캐스트 수신기가 시간이 오래 걸리는 작업을
 스레드에 넣기보다는 서비스를 사용해야 하는 것과 같은 이유입니다.</p>
 
 
@@ -188,36 +188,36 @@
 
 <h2 id="Threads">스레드</h2>
 
-<p> 애플리케이션이 시작되면 시스템이 애플리케이션에 대한 실행의 스레드를 생성하며, 이를 
-"기본"이라고 합니다. 이 스레드는 드로어블 이벤트를 포함하여 적절한 사용자 인터페이스 위젯에 
+<p> 애플리케이션이 시작되면 시스템이 애플리케이션에 대한 실행의 스레드를 생성하며, 이를
+"기본"이라고 합니다. 이 스레드는 드로어블 이벤트를 포함하여 적절한 사용자 인터페이스 위젯에
 이벤트를 발송하는 역할을 맡기 때문에 중요합니다. 이것은 Android UI 도구 키트의 구성 요소({@link
 android.widget}과 {@link android.view} 패키지의 구성 요소)와 개발자의 애플리케이션이
-상호 작용하는 스레드이기도 합니다. 따라서 기본 스레드는 
+상호 작용하는 스레드이기도 합니다. 따라서 기본 스레드는
 UI 스레드라고 불릴 때도 있습니다.</p>
 
-<p>시스템은 구성 요소의 각 인스턴스에 대해 별도의 스레드를 생성하지 <em>않습니다</em>. 같은 
+<p>시스템은 구성 요소의 각 인스턴스에 대해 별도의 스레드를 생성하지 <em>않습니다</em>. 같은
 프로세스에서 실행되는 모든 구성 요소는 UI 스레드에서 시작되고, 각 구성 요소를 호출하는 시스템이
-해당 스레드에서 발송됩니다. 따라서 
-시스템 콜백에 응답하는 메서드(사용자 작업을 보고하는 {@link android.view.View#onKeyDown onKeyDown()} 또는 
+해당 스레드에서 발송됩니다. 따라서
+시스템 콜백에 응답하는 메서드(사용자 작업을 보고하는 {@link android.view.View#onKeyDown onKeyDown()} 또는
 수명 주기 콜백 메서드)는 항상 프로세스의 UI 스레드에서 실행됩니다.</p>
 
 <p>예를 들어, 사용자가 화면의 버튼을 터치하면, 앱 UI 스레드가 위젯에 터치 이벤트를 발송하고,
-위젯은 눌린 상태를 설정하고 이벤트 대기열에 
-무효화 요청을 게시합니다. UI 스레드가 이 요청을 대기열에서 해제하고 위젯에 스스로를 다시 
+위젯은 눌린 상태를 설정하고 이벤트 대기열에
+무효화 요청을 게시합니다. UI 스레드가 이 요청을 대기열에서 해제하고 위젯에 스스로를 다시
 그려야 한다고 알립니다.</p>
 
 <p>앱이 사용자 상호작용에 응답하여 집약적인 작업을 수행할 때는 이 단일 스레드 모델은
 애플리케이션을 제대로 구현하지 않으면 낮은 성능을 보일 수 있습니다. 특히,
-모든 것이 UI 스레드에서 발생하고 네트워크 액세스나 데이터 베이스 쿼리 등의 긴 작업을 수행하면 
-UI가 통째로 차단됩니다. 스레드가 차단되면 드로잉 이벤트를 포함하여 
-모든 이벤트가 발송되지 않습니다. 사용자가 보기에는 애플리케이션이 
+모든 것이 UI 스레드에서 발생하고 네트워크 액세스나 데이터 베이스 쿼리 등의 긴 작업을 수행하면
+UI가 통째로 차단됩니다. 스레드가 차단되면 드로잉 이벤트를 포함하여
+모든 이벤트가 발송되지 않습니다. 사용자가 보기에는 애플리케이션이
 중단된 것처럼 보입니다. 더 나쁜 경우, UI 스레드가 몇 초 이상 차단되어 있으면
-(현재 약 5초) 사용자에게 악명 높은 "<a href="http://developer.android.com/guide/practices/responsiveness.html">애플리케이션이 응답하지 
-않습니다</a>"(ANR) 대화가 표시됩니다. 그러면 사용자가 여러분의 애플리케이션을 종료 할 수도 있고, 불만족한 경우 앱을 
+(현재 약 5초) 사용자에게 악명 높은 "<a href="http://developer.android.com/guide/practices/responsiveness.html">애플리케이션이 응답하지
+않습니다</a>"(ANR) 대화가 표시됩니다. 그러면 사용자가 여러분의 애플리케이션을 종료 할 수도 있고, 불만족한 경우 앱을
 제거할 수도 있습니다.</p>
 
-<p>또한, Andoid UI 도구 키트는 스레드로부터 안전하지 <em>않습니다</em>. 따라서 UI를 
-작업자 스레드에서 조작해서는 안 됩니다. 사용자 인터페이스 조작 작업은 모두 UI 
+<p>또한, Andoid UI 도구 키트는 스레드로부터 안전하지 <em>않습니다</em>. 따라서 UI를
+작업자 스레드에서 조작해서는 안 됩니다. 사용자 인터페이스 조작 작업은 모두 UI
 스레드에서 해야만 합니다. 결론적으로, Android의 단일 스레드 모델에는 두 가지 단순한 규칙이 있습니다.</p>
 
 <ol>
@@ -227,12 +227,12 @@
 
 <h3 id="WorkerThreads">작업자 스레드</h3>
 
-<p>위에 설명한 단일 스레드 모델로 인해, 애플리케이션 UI의 반응성을 위해서는 
-UI 스레드를 차단하지 않는 것이 매우 중요합니다. 수행해야 할 작업이 있는데 
-이들이 즉각적인 조치를 요하지 않는 경우, 이런 작업은 반드시 별도의 스레드에서 수행해야 합니다("배경" 또는 
+<p>위에 설명한 단일 스레드 모델로 인해, 애플리케이션 UI의 반응성을 위해서는
+UI 스레드를 차단하지 않는 것이 매우 중요합니다. 수행해야 할 작업이 있는데
+이들이 즉각적인 조치를 요하지 않는 경우, 이런 작업은 반드시 별도의 스레드에서 수행해야 합니다("배경" 또는
 "작업자" 스레드).</p>
 
-<p>예를 들어, 아래는 별도의 스레드에서 이미지를 다운로드하고 이를 
+<p>예를 들어, 아래는 별도의 스레드에서 이미지를 다운로드하고 이를
 {@link android.widget.ImageView}에 표시하는 클릭 수신기에 대한 몇 가지 코드입니다.</p>
 
 <pre>
@@ -246,10 +246,10 @@
 }
 </pre>
 
-<p>처음에는 네트워크 작업을 처리하기 위한 새 스레드를 생성하므로 
-아무 문제 없이 작동하는 것처럼 보입니다. 하지만, 이것은 단일 스레드된 모델의 두 번째 규칙 즉, '<em>UI 스레드 외부에서 
+<p>처음에는 네트워크 작업을 처리하기 위한 새 스레드를 생성하므로
+아무 문제 없이 작동하는 것처럼 보입니다. 하지만, 이것은 단일 스레드된 모델의 두 번째 규칙 즉, '<em>UI 스레드 외부에서
 Android UI 도구 키트에 액세스하지 마세요.</em>'를 위반합니다. 이 샘플은 UI 스레드 대신 작업자 스레드에서 {@link
-android.widget.ImageView}를 수정합니다. 이렇게 되면 
+android.widget.ImageView}를 수정합니다. 이렇게 되면
 정의되지 않고 예기치 못한 동작이 발생하는 결과를 초래할 수 있고, 이는 추적하기 어려워 시간도 오래 걸립니다.</p>
 
 <p>이 문제를 해결하기 위해 Android는 다른 스레드에서 UI 스레드에 액세스하는 여러 가지 방식을
@@ -281,28 +281,28 @@
 }
 </pre>
 
-<p>이 구현은 이제 스레드로부터 안전합니다. 네트워크 작업은 별도의 스레드에서 수행된 반면 
+<p>이 구현은 이제 스레드로부터 안전합니다. 네트워크 작업은 별도의 스레드에서 수행된 반면
 {@link android.widget.ImageView}는 UI 스레드에서 조작되었기 때문입니다.</p>
 
-<p>그러나, 작업이 복잡해질수록 이런 종류의 코드가 더 복잡해질 수 있고 유지 관리하기 
-까다로워질 수 있습니다. 더 복잡한 상호 작용을 작업자 스레드로 처리하려면, 작업자 스레드에서 
-{@link android.os.Handler}를 사용하여 UI 스레드에서 전달 받은 메시지를 처리하는 방안을 
-고려해보십시오. 하지만 최선의 해결책은 {@link android.os.AsyncTask} 클래스를 확장하는 방법일 것입니다. 
+<p>그러나, 작업이 복잡해질수록 이런 종류의 코드가 더 복잡해질 수 있고 유지 관리하기
+까다로워질 수 있습니다. 더 복잡한 상호 작용을 작업자 스레드로 처리하려면, 작업자 스레드에서
+{@link android.os.Handler}를 사용하여 UI 스레드에서 전달 받은 메시지를 처리하는 방안을
+고려해보십시오. 하지만 최선의 해결책은 {@link android.os.AsyncTask} 클래스를 확장하는 방법일 것입니다.
 이것은 UI와 상호 작용해야 하는 작업자 스레드 작업의 실행을 단순화합니다.</p>
 
 
 <h4 id="AsyncTask">AsyncTask 사용</h4>
 
-<p>{@link android.os.AsyncTask}를 사용하면 사용자 인터페이스에서 비동기식 작업을 수행할 수 
-있게 해줍니다. 이것은 작업자 스레드에서 차단 작업을 수행하고 그런 다음 그 결과를 UI 스레드에 
+<p>{@link android.os.AsyncTask}를 사용하면 사용자 인터페이스에서 비동기식 작업을 수행할 수
+있게 해줍니다. 이것은 작업자 스레드에서 차단 작업을 수행하고 그런 다음 그 결과를 UI 스레드에
 게시하며, 개발자가 직접 스레드 및/또는 처리기를 처리할 필요가 없습니다.</p>
 
 <p>이를 사용하려면 우선 {@link android.os.AsyncTask}를 하위 클래스로 한 다음 {@link
-android.os.AsyncTask#doInBackground doInBackground()} 콜백 메서드를 구현해야 합니다. 이것은 여러 가지 
+android.os.AsyncTask#doInBackground doInBackground()} 콜백 메서드를 구현해야 합니다. 이것은 여러 가지
 배경 스레드에서 실행됩니다. UI를 업데이트하려면 {@link
 android.os.AsyncTask#onPostExecute onPostExecute()}를 구현해야 합니다. 이는 {@link
-android.os.AsyncTask#doInBackground doInBackground()}로부터의 결과를 전달하며 UI 스레드에서 실행되므로, 
-안전하게 UI를 업데이트할 수 있습니다. 그런 다음 UI 스레드에서 {@link android.os.AsyncTask#execute execute()}를 
+android.os.AsyncTask#doInBackground doInBackground()}로부터의 결과를 전달하며 UI 스레드에서 실행되므로,
+안전하게 UI를 업데이트할 수 있습니다. 그런 다음 UI 스레드에서 {@link android.os.AsyncTask#execute execute()}를
 호출하여 해당 작업을 실행하면 됩니다.</p>
 
 <p>예를 들어, 이런 방식으로 {@link android.os.AsyncTask}를 사용하여
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
@@ -328,21 +328,21 @@
 }
 </pre>
 
-<p>이제 UI는 안전하고 코드는 더욱 단순해졌습니다. 작업을 작업자 스레드에서 수행되어야 하는 
+<p>이제 UI는 안전하고 코드는 더욱 단순해졌습니다. 작업을 작업자 스레드에서 수행되어야 하는
 부분과 UI 스레드에서 수행되어야 하는 부분으로 구분하기 때문입니다.</p>
 
-<p>이 클래스를 사용하는 법을 완전히 숙지하려면 {@link android.os.AsyncTask} 참조를 
+<p>이 클래스를 사용하는 법을 완전히 숙지하려면 {@link android.os.AsyncTask} 참조를
 읽어보시는 것이 좋습니다. 개괄적인 작동 방식은 아래에 간략히 소개해 놓았습니다.</p>
 
 <ul>
-<li>매개 변수의 유형, 진행률 값과 작업의 최종 값을 제네릭을 사용하여 
+<li>매개 변수의 유형, 진행률 값과 작업의 최종 값을 제네릭을 사용하여
 지정할 수 있습니다.</li>
 <li>메서드 {@link android.os.AsyncTask#doInBackground doInBackground()}는 작업자 스레드에서 자동으로
 실행됩니다.</li>
 <li>{@link android.os.AsyncTask#onPreExecute onPreExecute()}, {@link
 android.os.AsyncTask#onPostExecute onPostExecute()} 및 {@link
 android.os.AsyncTask#onProgressUpdate onProgressUpdate()}는 모두 UI 스레드에서 호출됩니다.</li>
-<li>{@link android.os.AsyncTask#doInBackground doInBackground()}가 반환한 값이 
+<li>{@link android.os.AsyncTask#doInBackground doInBackground()}가 반환한 값이
 {@link android.os.AsyncTask#onPostExecute onPostExecute()}로 전송됩니다.</li>
 <li>언제든 {@link android.os.AsyncTask#publishProgress publishProgress()}를 {@link
 android.os.AsyncTask#doInBackground doInBackground()}에서 호출하여 UI 스레드에서 {@link
@@ -350,27 +350,27 @@
 <li>모든 스레드에서 언제든 작업을 취소할 수 있습니다.</li>
 </ul>
 
-<p class="caution"><strong>주의:</strong> 작업자 스레드를 사용할 때 마주칠 수 있는 또 한 가지 문제는 
+<p class="caution"><strong>주의:</strong> 작업자 스레드를 사용할 때 마주칠 수 있는 또 한 가지 문제는
 <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 구성 변경</a>으로 인해 액티비티가 예기치 못하게 다시 시작되는 것입니다
-(예를 들어 사용자가 화면 방향을 바꾸는 경우). 이 경우 작업자 스레드를 소멸시킬 수 있습니다. 
+(예를 들어 사용자가 화면 방향을 바꾸는 경우). 이 경우 작업자 스레드를 소멸시킬 수 있습니다.
 스레드가 재시작될 때 작업을 지속하는 방법과 액티비티가 제거되었을 때 작업을 적절히 취소하는 방법은
 <a href="http://code.google.com/p/shelves/">Shelves</a> 샘플 애플리케이션의 소스 코드를 참조하십시오.</p>
 
 
 <h3 id="ThreadSafe">스레드로부터 안전한 메서드</h3>
 
-<p> 어떤 경우에는 구현하는 메서드가 하나 이상의 스레드에서 호출되는 일도 있습니다. 따라서 
+<p> 어떤 경우에는 구현하는 메서드가 하나 이상의 스레드에서 호출되는 일도 있습니다. 따라서
 이를 스레드로부터 안전하게 작성해야만 합니다. </p>
 
-<p>이것은 주로 원격으로 호출할 수 있는 메서드에 대해 참입니다. 예를 들어 <a href="{@docRoot}guide/components/bound-services.html">바인딩된 서비스</a> 내의 메서드 등이 해당됩니다. 
-{@link android.os.IBinder}에서 구현된 메서드가 
-{@link android.os.IBinder IBinder}가 실행되는 프로세스에서 호출될 경우, 해당 메서드는 발신자의 스레드에서 실행됩니다. 
-그러나 호출이 다른 프로세스에서 발생하면, 해당 메서드는 시스템이 
+<p>이것은 주로 원격으로 호출할 수 있는 메서드에 대해 참입니다. 예를 들어 <a href="{@docRoot}guide/components/bound-services.html">바인딩된 서비스</a> 내의 메서드 등이 해당됩니다.
+{@link android.os.IBinder}에서 구현된 메서드가
+{@link android.os.IBinder IBinder}가 실행되는 프로세스에서 호출될 경우, 해당 메서드는 발신자의 스레드에서 실행됩니다.
+그러나 호출이 다른 프로세스에서 발생하면, 해당 메서드는 시스템이
 {@link android.os.IBinder
-IBinder}와 같은 프로세스에 유지하는 스레드 풀에서 선택된 스레드에서 실행됩니다(프로세스의 UI 스레드에서 실행되지 않습니다).  예를 들어, 어느 서비스의 
-{@link android.app.Service#onBind onBind()} 메서드는 해당 서비스 
+IBinder}와 같은 프로세스에 유지하는 스레드 풀에서 선택된 스레드에서 실행됩니다(프로세스의 UI 스레드에서 실행되지 않습니다).  예를 들어, 어느 서비스의
+{@link android.app.Service#onBind onBind()} 메서드는 해당 서비스
 프로세스의 UI 스레드에서 호출되고, {@link android.app.Service#onBind
-onBind()}가 반환하는 객체에서 구현된 메서드는(예: RPC 메서드를 구현하는 하위 클래스) 해당 풀 안의 여러 스레드에서 
+onBind()}가 반환하는 객체에서 구현된 메서드는(예: RPC 메서드를 구현하는 하위 클래스) 해당 풀 안의 여러 스레드에서
 호출되게 됩니다. 서비스에 클라이언트가 하나 이상 있을 수 있으므로, 하나 이상의 풀이
 동시에 같은 {@link android.os.IBinder IBinder} 메서드에 참여할 수 있습니다. 그러므로 {@link android.os.IBinder
 IBinder} 메서드는 스레드로부터 안전하게 구현되어야 합니다.</p>
@@ -389,13 +389,13 @@
 
 <h2 id="IPC">프로세스 간 통신</h2>
 
-<p>Android는 원격 프로시저 호출(RPC)을 사용한 프로세스 간 통신(IPC) 메커니즘을 제공합니다. 
-여기서 메서드는 액티비티나 다른 애플리케이션 구성 요소에 호출되지만 
-원격으로 (또 다른 프로세스에서) 실행되고, 결과는 모두 발신자에게 되돌려 
-보냅니다. 메서드 호출과 메서드의 데이터는 운영 체제가 이해할 수 있는 수준으로 분해되고, 
-로컬 프로세스와 주소 공간에서 원격 프로세스와 주소 공간으로 전송된 다음 
-다시 결합되어 여기서 호출에 다시 응답합니다.  그런 다음 반환 값이 
-반대 방향으로 전송됩니다.  Android가 이와 같은 IPC 트랜잭션을 수행하는 데 필요한 
+<p>Android는 원격 프로시저 호출(RPC)을 사용한 프로세스 간 통신(IPC) 메커니즘을 제공합니다.
+여기서 메서드는 액티비티나 다른 애플리케이션 구성 요소에 호출되지만
+원격으로 (또 다른 프로세스에서) 실행되고, 결과는 모두 발신자에게 되돌려
+보냅니다. 메서드 호출과 메서드의 데이터는 운영 체제가 이해할 수 있는 수준으로 분해되고,
+로컬 프로세스와 주소 공간에서 원격 프로세스와 주소 공간으로 전송된 다음
+다시 결합되어 여기서 호출에 다시 응답합니다.  그런 다음 반환 값이
+반대 방향으로 전송됩니다.  Android가 이와 같은 IPC 트랜잭션을 수행하는 데 필요한
 모든 코드를 제공하므로, 개발자는 그저 RPC 프로그래밍 인터페이스를 정의하고 구현하는 데에만 집중하면 됩니다. </p>
 
 <p>IPC를 수행하려면 애플리케이션이 반드시 서비스에 바인딩되어야만 하며, 이때 {@link
diff --git a/docs/html-intl/intl/ko/guide/components/recents.jd b/docs/html-intl/intl/ko/guide/components/recents.jd
index cba3c45..28b3c68 100644
--- a/docs/html-intl/intl/ko/guide/components/recents.jd
+++ b/docs/html-intl/intl/ko/guide/components/recents.jd
@@ -38,50 +38,50 @@
 
 <p>개요 화면(다른 말로 최근 사용 화면, 최근 작업 목록 또는 최근 앱이라고도 함)은
 시스템 수준 UI로, 최근에 액세스한 <a href="{@docRoot}guide/components/activities.html">
-액티비티</a> 및 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업</a>을 목록으로 나열한 것입니다. 사용자는 
-목록을 가로질러 이동하며 작업을 선택해서 재개할 수도 있고, 아니면 
-목록에서 한 작업을 스와이프하여 밀어내어 목록에서 제거할 수도 있습니다. Android 5.0 릴리스(API 레벨 21)의 경우, 같은 액티비티의 여러 인스턴스에 
-각기 다른 문서가 담겨 있는 경우 이들이 개요 화면에 작업으로 나타날 수 있습니다. 예를 들어 
-Google Drive에 여러 개의 Google 문서 각각에 대한 작업이 있을 수 있습니다. 각 문서는 개요 화면에 하나의 
+액티비티</a> 및 <a href="{@docRoot}guide/components/tasks-and-back-stack.html">작업</a>을 목록으로 나열한 것입니다. 사용자는
+목록을 가로질러 이동하며 작업을 선택해서 재개할 수도 있고, 아니면
+목록에서 한 작업을 스와이프하여 밀어내어 목록에서 제거할 수도 있습니다. Android 5.0 릴리스(API 레벨 21)의 경우, 같은 액티비티의 여러 인스턴스에
+각기 다른 문서가 담겨 있는 경우 이들이 개요 화면에 작업으로 나타날 수 있습니다. 예를 들어
+Google Drive에 여러 개의 Google 문서 각각에 대한 작업이 있을 수 있습니다. 각 문서는 개요 화면에 하나의
 작업으로 나타납니다.</p>
 
 <img src="{@docRoot}images/components/recents.png" alt="" width="284" />
-<p class="img-caption"><strong>그림 1.</strong> 세 개의 Google Drive 문서가 각기 별도의 
+<p class="img-caption"><strong>그림 1.</strong> 세 개의 Google Drive 문서가 각기 별도의
 작업을 나타내는 모습을 표시한 개요 화면입니다.</p>
 
-<p>보통은 개요 화면에 작업과 액티비티가 어떻게 표현될지는 시스템이 
-정의하도록 두어야 합니다. 이 행동을 개발자가 수정할 필요도 없습니다. 
-하지만, 개요 화면에 액티비티가 언제, 어떻게 나타날지는 앱이 결정할 수 있습니다. 
-{@link android.app.ActivityManager.AppTask} 클래스를 사용하면 작업을 관리할 수 있게 해주고, 
-{@link android.content.Intent} 클래스의 액티비티 플래그를 사용하면 개요 화면에서 액티비티가 추가되거나 제거되는 시점을 
+<p>보통은 개요 화면에 작업과 액티비티가 어떻게 표현될지는 시스템이
+정의하도록 두어야 합니다. 이 행동을 개발자가 수정할 필요도 없습니다.
+하지만, 개요 화면에 액티비티가 언제, 어떻게 나타날지는 앱이 결정할 수 있습니다.
+{@link android.app.ActivityManager.AppTask} 클래스를 사용하면 작업을 관리할 수 있게 해주고,
+{@link android.content.Intent} 클래스의 액티비티 플래그를 사용하면 개요 화면에서 액티비티가 추가되거나 제거되는 시점을
 지정할 수 있습니다. 또한, <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">
 &lt;activity&gt;</a></code> 특성을 사용하면 매니페스트에서의 동작을 설정할 수 있습니다.</p>
 
 <h2 id="adding">개요 화면에 작업 추가</h2>
 
-<p>{@link android.content.Intent} 클래스의 플래그를 사용하여 작업을 추가하면 
-개요 화면에서 문서가 열리거나 다시 열리는 시점과 방법을 보다 철저히 통제할 수 있습니다. 
+<p>{@link android.content.Intent} 클래스의 플래그를 사용하여 작업을 추가하면
+개요 화면에서 문서가 열리거나 다시 열리는 시점과 방법을 보다 철저히 통제할 수 있습니다.
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
- 특성을 사용하는 경우, 문서를 항상 새 작업에서 여는 방법과 기존 작업을 해당 문서에 다시 사용하는 방법 중에서 
+ 특성을 사용하는 경우, 문서를 항상 새 작업에서 여는 방법과 기존 작업을 해당 문서에 다시 사용하는 방법 중에서
 선택할 수 있습니다.</p>
 
 <h3 id="flag-new-doc">작업 추가에 인텐트 플래그 사용</h3>
 
-<p>액티비티를 위해 새 문서를 생성하는 경우, 
-{@link android.app.ActivityManager.AppTask} 클래스의 
+<p>액티비티를 위해 새 문서를 생성하는 경우,
+{@link android.app.ActivityManager.AppTask} 클래스의
 {@link android.app.ActivityManager.AppTask#startActivity(android.content.Context, android.content.Intent, android.os.Bundle) startActivity()}
- 메서드를 호출하고, 이것을 액티비티를 시작하는 인텐트에 전달하면 됩니다. 논리적인 중단을 삽입하여 시스템이 개요 화면에서 액티비티를 
-새 작업으로 처리하도록 하려면, {@link android.content.Intent}의 
-{@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} 
+ 메서드를 호출하고, 이것을 액티비티를 시작하는 인텐트에 전달하면 됩니다. 논리적인 중단을 삽입하여 시스템이 개요 화면에서 액티비티를
+새 작업으로 처리하도록 하려면, {@link android.content.Intent}의
+{@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
 플래그를 전달하여 액티비티를 시작하도록 합니다.</p>
 
 <p class="note"><strong>참고:</strong> {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
-플래그가 {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET} 플래그를 
+플래그가 {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET} 플래그를
 대체합니다. 이것은 Android 5.0(API 레벨 21)부터 사용이 중단되었습니다.</p>
 
-<p>새 문서를 생성하면서 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그를 설정하는 경우, 
-시스템은 항상 대상 액티비티를 루트로 하여 새 작업을 만듭니다. 
-이렇게 설정하면 같은 문서를 하나 이상의 작업에서 열 수 있습니다. 다음 코드는 기본 액티비티가 이 작업을 수행하는 방법을 
+<p>새 문서를 생성하면서 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그를 설정하는 경우,
+시스템은 항상 대상 액티비티를 루트로 하여 새 작업을 만듭니다.
+이렇게 설정하면 같은 문서를 하나 이상의 작업에서 열 수 있습니다. 다음 코드는 기본 액티비티가 이 작업을 수행하는 방법을
 보여줍니다.</p>
 
 <p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
@@ -111,15 +111,15 @@
 </pre>
 
 <p class="note"><strong>참고:</strong> {@code FLAG_ACTIVITY_NEW_DOCUMENT}
- 플래그로 시작된 액티비티의 경우, 반드시 매니페스트에 {@code android:launchMode="standard"} 특성 값(기본)이 설정되어 
+ 플래그로 시작된 액티비티의 경우, 반드시 매니페스트에 {@code android:launchMode="standard"} 특성 값(기본)이 설정되어
 있어야 합니다.</p>
 
-<p>기본 액티비티가 새 액티비티를 시작하면 시스템은 기존의 작업을 검색하여 그 중 
-해당 액티비티에 대한 인텐트 구성 요소 이름과 인텐트 데이터와 일치하는 인텐트를 가진 작업을 찾습니다. 그러한 작업을 
+<p>기본 액티비티가 새 액티비티를 시작하면 시스템은 기존의 작업을 검색하여 그 중
+해당 액티비티에 대한 인텐트 구성 요소 이름과 인텐트 데이터와 일치하는 인텐트를 가진 작업을 찾습니다. 그러한 작업을
 찾을 수 없거나 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}
- 플래그에 들어 있는 인텐트를 찾을 수 없는 경우, 해당 액티비티를 루트로 하여 새 작업이 생성됩니다. 원하는 항목을 찾으면, 시스템은 해당 작업을 전경으로 가지고 와 
-새 인텐트를 {@link android.app.Activity#onNewIntent onNewIntent()}에 전달합니다. 
-새 액티비티가 인텐트를 받아 개요 화면에서 새 문서를 생성하며, 이는 다음 예시에 나타낸 
+ 플래그에 들어 있는 인텐트를 찾을 수 없는 경우, 해당 액티비티를 루트로 하여 새 작업이 생성됩니다. 원하는 항목을 찾으면, 시스템은 해당 작업을 전경으로 가지고 와
+새 인텐트를 {@link android.app.Activity#onNewIntent onNewIntent()}에 전달합니다.
+새 액티비티가 인텐트를 받아 개요 화면에서 새 문서를 생성하며, 이는 다음 예시에 나타낸
 것과 같습니다.</p>
 
 <p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
@@ -149,64 +149,64 @@
 
 <h3 id="#attr-doclaunch">작업 추가에 액티비티 특성 사용</h3>
 
-<p>액티비티는 자신의 매니페스트에 새 작업을 시작할 때는 항상 
+<p>액티비티는 자신의 매니페스트에 새 작업을 시작할 때는 항상
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
  특성, <a href="{@docRoot}guide/topics/manifest/activity-element.html#dlmode">
-{@code android:documentLaunchMode}</a>를 사용한다고 나타낼 수도 있습니다. 이 특성에는 네 가지 값이 있어 사용자가 애플리케이션으로 문서를 열면 
+{@code android:documentLaunchMode}</a>를 사용한다고 나타낼 수도 있습니다. 이 특성에는 네 가지 값이 있어 사용자가 애플리케이션으로 문서를 열면
 다음과 같은 효과를 발생시킵니다.</p>
 
 <dl>
   <dt>"{@code intoExisting}"</dt>
-  <dd>액티비티가 문서에 대해 기존의 작업을 재사용합니다. 이것은 
-{@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} 플래그를 설정할 때 
-{@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그 <em>없이</em> 설정하는 것과 같습니다. 
+  <dd>액티비티가 문서에 대해 기존의 작업을 재사용합니다. 이것은
+{@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} 플래그를 설정할 때
+{@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그 <em>없이</em> 설정하는 것과 같습니다.
 이는 위의 <a href="#flag-new-doc">작업 추가에 인텐트 플래그 사용</a>에서 설명한 것과 같습니다.</dd>
 
   <dt>"{@code always}"</dt>
-  <dd>액티비티가 문서에 대해 새 작업을 생성하며, 이는 문서가 이미 열려 있는 경우라도 마찬가지입니다. 이 값을 
+  <dd>액티비티가 문서에 대해 새 작업을 생성하며, 이는 문서가 이미 열려 있는 경우라도 마찬가지입니다. 이 값을
 사용하는 것은 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
  및 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그를 둘 다 설정하는 것과 같습니다.</dd>
 
   <dt>"{@code none”}"</dt>
-  <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 개요 화면은 액티비티를 기본 상태에서와 
-같이 다룹니다. 즉 앱에 대한 하나의 작업을 표시하며, 이때 사용자가 
+  <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 개요 화면은 액티비티를 기본 상태에서와
+같이 다룹니다. 즉 앱에 대한 하나의 작업을 표시하며, 이때 사용자가
 마지막으로 호출한 작업이 무엇이든 관계 없이 그 작업에서부터 재개합니다.</dd>
 
   <dt>"{@code never}"</dt>
-  <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 이 값을 설정하면 
+  <dd>액티비티가 문서에 대해 새 작업을 생성하지 않습니다. 이 값을 설정하면
 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
- 및 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그의 행동을 
-재정의합니다(이들 중 하나가 인텐트에서 설정되어 있는 경우). 개요 화면은 앱에 대한 하나의 작업을 표시하고, 
+ 및 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 플래그의 행동을
+재정의합니다(이들 중 하나가 인텐트에서 설정되어 있는 경우). 개요 화면은 앱에 대한 하나의 작업을 표시하고,
 이것이 사용자가 마지막으로 호출한 액티비티가 무엇이든 그것부터 재개합니다.</dd>
 </dl>
 
-<p class="note"><strong>참고:</strong> {@code none} 및 {@code never}를 제외한 다른 값의 경우, 
-액티비티를 {@code launchMode="standard"}로 정의해야 합니다. 이 특성을 지정하지 않으면 
+<p class="note"><strong>참고:</strong> {@code none} 및 {@code never}를 제외한 다른 값의 경우,
+액티비티를 {@code launchMode="standard"}로 정의해야 합니다. 이 특성을 지정하지 않으면
 {@code documentLaunchMode="none"}이 사용됩니다.</p>
 
 <h2 id="removing">작업 제거</h2>
 
-<p>기본적으로 문서 작업은 해당되는 액티비티가 완료되면 자동으로 개요 화면에서 
-제거됩니다. 이 행동을 재정의하려면 {@link android.app.ActivityManager.AppTask} 클래스를 사용합니다. 이때 
+<p>기본적으로 문서 작업은 해당되는 액티비티가 완료되면 자동으로 개요 화면에서
+제거됩니다. 이 행동을 재정의하려면 {@link android.app.ActivityManager.AppTask} 클래스를 사용합니다. 이때
 {@link android.content.Intent} 플래그 또는 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">
 &lt;activity&gt;</a></code> 특성을 함께 사용하십시오.</p>
 
-<p>개요 화면에서 작업을 완전히 제외하려면 언제든 
+<p>개요 화면에서 작업을 완전히 제외하려면 언제든
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 특성, <a href="{@docRoot}guide/topics/manifest/activity-element.html#exclude">
 {@code android:excludeFromRecents}</a>를 {@code true}로 설정합니다.</p>
 
-<p>개요 화면에서 앱이 포함할 수 있는 작업의 최대 개수를 설정하려면 
+<p>개요 화면에서 앱이 포함할 수 있는 작업의 최대 개수를 설정하려면
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
  특성 <a href="{@docRoot}guide/topics/manifest/activity-element.html#maxrecents">{@code android:maxRecents}
-</a>를 정수 값으로 설정합니다. 기본은 16개입니다. 작업의 최대 대수에 도달하면 가장 예전에 사용된 작업이 개요 화면에서 
-제거됩니다. {@code android:maxRecents} 최대값은 
+</a>를 정수 값으로 설정합니다. 기본은 16개입니다. 작업의 최대 대수에 도달하면 가장 예전에 사용된 작업이 개요 화면에서
+제거됩니다. {@code android:maxRecents} 최대값은
 50입니다(메모리 용량이 적은 기기에서는 25). 1 미만의 값은 유효하지 않습니다.</p>
 
 <h3 id="#apptask-remove">작업 제거에 AppTask 클래스 사용</h3>
 
-<p>개요 화면에서 새 작업을 생성하는 액티비티에서는 작업을 언제 제거할 것인지와 
-그와 관련된 모든 액티비티를 언제 완료할 것인지 지정할 수 있습니다. 
+<p>개요 화면에서 새 작업을 생성하는 액티비티에서는 작업을 언제 제거할 것인지와
+그와 관련된 모든 액티비티를 언제 완료할 것인지 지정할 수 있습니다.
 {@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 메서드를 호출하면 됩니다.</p>
 
 <p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
@@ -218,15 +218,15 @@
 }
 </pre>
 
-<p class="note"><strong>참고:</strong> 
-{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 메서드를 
-사용하면 {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 태그 사용을 재정의합니다. 
+<p class="note"><strong>참고:</strong>
+{@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()} 메서드를
+사용하면 {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 태그 사용을 재정의합니다.
 이 내용은 아래에서 설명합니다.</p>
 
 <h3 id="#retain-finished">완료된 작업 보존</h3>
 
-<p>작업을 개요 화면에 보존하려면(액티비티가 완료되었더라도), 
-액티비티를 시작하는 인텐트의 {@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는 
+<p>작업을 개요 화면에 보존하려면(액티비티가 완료되었더라도),
+액티비티를 시작하는 인텐트의 {@link android.content.Intent#addFlags(int) addFlags()} 메서드에 있는
 {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 플래그를 전달합니다.</p>
 
 <p class="code-caption"><a href="{@docRoot}samples/DocumentCentricApps/index.html">
@@ -241,11 +241,11 @@
 }
 </pre>
 
-<p>같은 효과를 얻기 위해 
+<p>같은 효과를 얻기 위해
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
  특성 <a href="{@docRoot}guide/topics/manifest/activity-element.html#autoremrecents">
 {@code android:autoRemoveFromRecents}</a>를 {@code false}로 설정해도 됩니다. 기본 값은 문서 액티비티의 경우 {@code true}
-이고, 일반 액티비티의 경우 {@code false}입니다. 이 특성을 사용하면 이전에 논한 것과 같이 
+이고, 일반 액티비티의 경우 {@code false}입니다. 이 특성을 사용하면 이전에 논한 것과 같이
 {@link android.content.Intent#FLAG_ACTIVITY_RETAIN_IN_RECENTS} 플래그를 재정의하게 됩니다.</p>
 
 
diff --git a/docs/html-intl/intl/ko/guide/components/services.jd b/docs/html-intl/intl/ko/guide/components/services.jd
index fb95ea5..71c2b50 100644
--- a/docs/html-intl/intl/ko/guide/components/services.jd
+++ b/docs/html-intl/intl/ko/guide/components/services.jd
@@ -49,52 +49,52 @@
 </div>
 
 
-<p>{@link android.app.Service}는 배경에서 오래 실행되는 작업을 
-수행할 수 있는 애플리케이션 구성 요소이며 사용자 인터페이스를 제공하지 않습니다. 또 다른 
-애플리케이션 구성 요소가 서비스를 시작할 수 있으며, 이는 사용자가 또 다른 
-애플리케이션으로 전환하더라도 배경에서 계속해서 실행됩니다. 이외에도, 구성 요소를 서비스에 바인딩하여 
-서비스와 상호 작용할 수 있으며, 심지어는 프로세스 간 통신(IPC)도 수행할 수 있습니다. 예를 들어 한 서비스는 
-네트워크 트랜잭션을 처리하고, 음악을 재생하고 파일 I/O를 수행하거나 콘텐츠 제공자와 상호 작용할 수 있으며 
+<p>{@link android.app.Service}는 배경에서 오래 실행되는 작업을
+수행할 수 있는 애플리케이션 구성 요소이며 사용자 인터페이스를 제공하지 않습니다. 또 다른
+애플리케이션 구성 요소가 서비스를 시작할 수 있으며, 이는 사용자가 또 다른
+애플리케이션으로 전환하더라도 배경에서 계속해서 실행됩니다. 이외에도, 구성 요소를 서비스에 바인딩하여
+서비스와 상호 작용할 수 있으며, 심지어는 프로세스 간 통신(IPC)도 수행할 수 있습니다. 예를 들어 한 서비스는
+네트워크 트랜잭션을 처리하고, 음악을 재생하고 파일 I/O를 수행하거나 콘텐츠 제공자와 상호 작용할 수 있으며
 이 모든 것을 배경에서 수행할 수 있습니다.</p>
 
 <p>서비스는 본질적으로 두 가지 형식을 취합니다.</p>
 
 <dl>
   <dt>시작됨</dt>
-  <dd>서비스가 "시작된" 상태가 되려면 애플리케이션 구성 요소(예: 액티비티)가 
-{@link android.content.Context#startService startService()}를 호출하여 시작하면 됩니다. 서비스는 한 번 시작되고 나면 
-배경에서 무기한으로 실행될 수 있으며, 이는 해당 서비스를 시작한 구성 요소가 소멸되었더라도 무관합니다. 보통, 
+  <dd>서비스가 "시작된" 상태가 되려면 애플리케이션 구성 요소(예: 액티비티)가
+{@link android.content.Context#startService startService()}를 호출하여 시작하면 됩니다. 서비스는 한 번 시작되고 나면
+배경에서 무기한으로 실행될 수 있으며, 이는 해당 서비스를 시작한 구성 요소가 소멸되었더라도 무관합니다. 보통,
 시작된 서비스는 한 작업을 수행하고 결과를 발신자에게 반환하지 않습니다.
-예를 들어 네트워크에서 파일을 다운로드하거나 업로드할 수 있습니다. 작업을 완료하면, 해당 서비스는 
+예를 들어 네트워크에서 파일을 다운로드하거나 업로드할 수 있습니다. 작업을 완료하면, 해당 서비스는
 알아서 중단되는 것이 정상입니다.</dd>
   <dt>바인딩됨</dt>
   <dd>서비스가 "바인딩된" 상태가 되려면 애플리케이션 구성 요소가 {@link
-android.content.Context#bindService bindService()}를 사용하여 해당 서비스에 바인딩되면 됩니다. 바인딩된 서비스는 클라이언트-서버 
-인터페이스를 제공하여 구성 요소가 서비스와 상호 작용할 수 있도록 해주며, 결과를 가져올 수도 있고 심지어 
-이와 같은 작업을 여러 프로세스에 걸쳐 프로세스 간 통신(IPC)으로 수행할 수도 있습니다. 바인딩된 서비스는 또 다른 애플리케이션 구성 요소가 
-이에 바인딩되어 있는 경우에만 실행됩니다. 여러 개의 구성 요소가 서비스에 한꺼번에 바인딩될 수 있지만, 
+android.content.Context#bindService bindService()}를 사용하여 해당 서비스에 바인딩되면 됩니다. 바인딩된 서비스는 클라이언트-서버
+인터페이스를 제공하여 구성 요소가 서비스와 상호 작용할 수 있도록 해주며, 결과를 가져올 수도 있고 심지어
+이와 같은 작업을 여러 프로세스에 걸쳐 프로세스 간 통신(IPC)으로 수행할 수도 있습니다. 바인딩된 서비스는 또 다른 애플리케이션 구성 요소가
+이에 바인딩되어 있는 경우에만 실행됩니다. 여러 개의 구성 요소가 서비스에 한꺼번에 바인딩될 수 있지만,
 이 모든 것이 바인딩을 해제하면 해당 서비스는 소멸됩니다.</dd>
 </dl>
 
-<p>이 문서는 주로 이러한 두 가지 유형의 서비스를 따로따로 논하지만, 서비스는 
+<p>이 문서는 주로 이러한 두 가지 유형의 서비스를 따로따로 논하지만, 서비스는
 두 가지 방식 모두로 작동할 수 있습니다. 즉 서비스가 시작될 수도 있고(나아가 무기한으로 실행되고) 바인딩도 허용할 수 있다는 뜻입니다.
 이는 그저 두어 가지 콜백 메서드의 구현 여부에 달린 문제입니다. {@link
 android.app.Service#onStartCommand onStartCommand()}를 사용하면 구성 요소가 서비스를 시작할 수 있게 허용하고, {@link
 android.app.Service#onBind onBind()}를 사용하면 바인딩을 허용합니다.</p>
 
 <p>애플리케이션이 시작되었든, 바인딩되었든 아니면 양쪽 모두이든 모든 애플리케이션 구성 요소가
-해당 서비스를 사용할 수 있으며(별도의 애플리케이션에서라도), 이는 어느 구성 요소든 액티비티를 
-사용할 수 있는 것과 같습니다. 이를 {@link android.content.Intent}로 시작하면 됩니다. 그러나, 
-매니페스트에서 서비스를 비공개로 선언하고 다른 애플리케이션으로부터의 액세스를 차단할 수도 있습니다. 이것은 
-<a href="#Declaring">매니페스트에서 서비스 
+해당 서비스를 사용할 수 있으며(별도의 애플리케이션에서라도), 이는 어느 구성 요소든 액티비티를
+사용할 수 있는 것과 같습니다. 이를 {@link android.content.Intent}로 시작하면 됩니다. 그러나,
+매니페스트에서 서비스를 비공개로 선언하고 다른 애플리케이션으로부터의 액세스를 차단할 수도 있습니다. 이것은
+<a href="#Declaring">매니페스트에서 서비스
 선언하기</a>에 관한 섹션에서 더 자세히 이야기합니다.</p>
 
-<p class="caution"><strong>주의:</strong> 서비스는 자신의 호스팅 프로세스의 
-기본 스레드에서 실행됩니다. 서비스는 자신의 스레드를 직접 생성하지 <strong>않으며</strong>, 
-별도의 프로세스에서 실행되지도 <strong>않습니다</strong>(별도로 지정하는 경우는 예외). 이것은 즉, 
-서비스가 CPU 집약적인 작업을 수행할 예정이거나 차단적인 작업을 수행할 예정인 경우(예를 들어 MP3 
-재생 또는 네트워킹 등), 서비스 내에 새 스레드를 생성하여 해당 작업을 수행하도록 해야 한다는 뜻입니다. 별도의 스레드를 사용하면 
-'애플리케이션이 응답하지 않습니다(ANR)' 오류가 일어날 위험을 줄일 수 있으며 
+<p class="caution"><strong>주의:</strong> 서비스는 자신의 호스팅 프로세스의
+기본 스레드에서 실행됩니다. 서비스는 자신의 스레드를 직접 생성하지 <strong>않으며</strong>,
+별도의 프로세스에서 실행되지도 <strong>않습니다</strong>(별도로 지정하는 경우는 예외). 이것은 즉,
+서비스가 CPU 집약적인 작업을 수행할 예정이거나 차단적인 작업을 수행할 예정인 경우(예를 들어 MP3
+재생 또는 네트워킹 등), 서비스 내에 새 스레드를 생성하여 해당 작업을 수행하도록 해야 한다는 뜻입니다. 별도의 스레드를 사용하면
+'애플리케이션이 응답하지 않습니다(ANR)' 오류가 일어날 위험을 줄일 수 있으며
 애플리케이션의 기본 스레드는 액티비티와 사용자 상호 작용 전용으로 유지될 수 있습니다.</p>
 
 
@@ -103,89 +103,89 @@
 <div class="sidebox-wrapper">
 <div class="sidebox">
   <h3>서비스와 스레드 중 어느 것을 사용해야 할까요?</h3>
-  <p>서비스는 그저 배경에서 실행될 수 있는 구성 요소일 뿐입니다. 이는 사용자가 
-애플리케이션과 상호 작용하지 않아도 관계 없이 해당됩니다. 따라서, 서비스를 생성하는 것은 꼭 그것이 필요할 때만으로 국한되어야 
+  <p>서비스는 그저 배경에서 실행될 수 있는 구성 요소일 뿐입니다. 이는 사용자가
+애플리케이션과 상호 작용하지 않아도 관계 없이 해당됩니다. 따라서, 서비스를 생성하는 것은 꼭 그것이 필요할 때만으로 국한되어야
 합니다.</p>
-  <p>기본 스레드 외부에서 작업을 수행해야 하지만 사용자가 애플리케이션과 상호 작용 중인 
-동안에만 수행하면 되는 경우라면, 서비스가 아니라 그 대신 새 스레드를 생성해야 합니다. 예를 들어 
-액티비티가 실행되는 중에만 음악을 재생하고자 하는 경우, 
+  <p>기본 스레드 외부에서 작업을 수행해야 하지만 사용자가 애플리케이션과 상호 작용 중인
+동안에만 수행하면 되는 경우라면, 서비스가 아니라 그 대신 새 스레드를 생성해야 합니다. 예를 들어
+액티비티가 실행되는 중에만 음악을 재생하고자 하는 경우,
 {@link android.app.Activity#onCreate onCreate()} 안에 스레드를 생성하고 이를 {@link
 android.app.Activity#onStart onStart()}에서 실행하기 시작한 다음 {@link android.app.Activity#onStop
-onStop()}에서 중단하면 됩니다. 또한, 기존의 {@link java.lang.Thread} 클래스 대신 
-{@link android.os.AsyncTask} 또는 {@link android.os.HandlerThread}를 사용하는 방안도 고려하십시오. 스레드에 관한 자세한 정보는 <a href="{@docRoot}guide/components/processes-and-threads.html#Threads">프로세스 및 
+onStop()}에서 중단하면 됩니다. 또한, 기존의 {@link java.lang.Thread} 클래스 대신
+{@link android.os.AsyncTask} 또는 {@link android.os.HandlerThread}를 사용하는 방안도 고려하십시오. 스레드에 관한 자세한 정보는 <a href="{@docRoot}guide/components/processes-and-threads.html#Threads">프로세스 및
 스레딩</a> 문서를 참조하십시오.</p>
-  <p>서비스를 사용하는 경우 기본적으로 애플리케이션의 기본 스레드에서 
-계속 실행되므로 서비스가 집약적이거나 차단적인 작업을 수행하는 경우 여전히 서비스 내에 
+  <p>서비스를 사용하는 경우 기본적으로 애플리케이션의 기본 스레드에서
+계속 실행되므로 서비스가 집약적이거나 차단적인 작업을 수행하는 경우 여전히 서비스 내에
 새 스레드를 생성해야 한다는 점을 명심하십시오.</p>
 </div>
 </div>
 
-<p>서비스를 생성하려면 {@link android.app.Service}의 하위 클래스를 생성해야 합니다(아니면 이의 
-기존 하위 클래스 중 하나). 구현에서는 서비스 수명 주기의 주요 측면을 처리하는 콜백 메서드를 
-몇 가지 재정의해야 하며 서비스에 바인딩할 구성 요소에 대한 메커니즘을 
+<p>서비스를 생성하려면 {@link android.app.Service}의 하위 클래스를 생성해야 합니다(아니면 이의
+기존 하위 클래스 중 하나). 구현에서는 서비스 수명 주기의 주요 측면을 처리하는 콜백 메서드를
+몇 가지 재정의해야 하며 서비스에 바인딩할 구성 요소에 대한 메커니즘을
 제공해야 합니다(해당되는 경우). 재정의해야 하는 가장 중요한 콜백 메서드는 다음과 같습니다.</p>
 
 <dl>
   <dt>{@link android.app.Service#onStartCommand onStartCommand()}</dt>
-    <dd>시스템이 이 메서드를 호출하는 것은 또 다른 구성 요소(예: 액티비티)가 서비스를 
+    <dd>시스템이 이 메서드를 호출하는 것은 또 다른 구성 요소(예: 액티비티)가 서비스를
 시작하도록 요청하는 경우입니다. 이때 {@link android.content.Context#startService
-startService()}를 호출하는 방법을 씁니다. 이 메서드가 실행되면 서비스가 시작되고 배경에서 무기한으로 실행될 수 
-있습니다. 이것을 구성하면 서비스의 작업이 완료되었을 때 해당 서비스를 중단하는 것은 
+startService()}를 호출하는 방법을 씁니다. 이 메서드가 실행되면 서비스가 시작되고 배경에서 무기한으로 실행될 수
+있습니다. 이것을 구성하면 서비스의 작업이 완료되었을 때 해당 서비스를 중단하는 것은
 개발자 본인의 책임입니다. 이때 {@link android.app.Service#stopSelf stopSelf()} 또는 {@link
-android.content.Context#stopService stopService()}를 호출하면 됩니다 (바인딩만 제공하고자 하는 경우, 이 메서드를 구현하지 
+android.content.Context#stopService stopService()}를 호출하면 됩니다 (바인딩만 제공하고자 하는 경우, 이 메서드를 구현하지
 않아도 됩니다).</dd>
   <dt>{@link android.app.Service#onBind onBind()}</dt>
     <dd>시스템이 이 메서드를 호출하는 것은 또 다른 구성 요소가 해당 서비스에 바인딩되고자 하는 경우
 (예를 들어 RPC를 수행하기 위해)입니다. 이때 {@link android.content.Context#bindService
-bindService()}를 호출하는 방법을 씁니다. 이 메서드를 구현할 때에는 클라이언트가 서비스와 통신을 주고받기 위해 사용할 
-인터페이스를 제공해야 합니다. 이때 {@link android.os.IBinder}를 반환하면 됩니다. 이 메서드는 항상 
+bindService()}를 호출하는 방법을 씁니다. 이 메서드를 구현할 때에는 클라이언트가 서비스와 통신을 주고받기 위해 사용할
+인터페이스를 제공해야 합니다. 이때 {@link android.os.IBinder}를 반환하면 됩니다. 이 메서드는 항상
 구현해야 하지만, 바인딩을 허용하지 않고자 하면 null을 반환해야 합니다.</dd>
   <dt>{@link android.app.Service#onCreate()}</dt>
-    <dd>시스템이 이 메서드를 호출하는 것은 서비스가 처음 생성되어 일회성 설정 
-절차를 수행하는 경우입니다({@link android.app.Service#onStartCommand onStartCommand()} 또는 
-{@link android.app.Service#onBind onBind()}를 호출하기 전에). 서비스가 이미 실행 중인 경우, 이 메서드는 호출되지 
+    <dd>시스템이 이 메서드를 호출하는 것은 서비스가 처음 생성되어 일회성 설정
+절차를 수행하는 경우입니다({@link android.app.Service#onStartCommand onStartCommand()} 또는
+{@link android.app.Service#onBind onBind()}를 호출하기 전에). 서비스가 이미 실행 중인 경우, 이 메서드는 호출되지
 않습니다.</dd>
   <dt>{@link android.app.Service#onDestroy()}</dt>
-    <dd>시스템이 이 메서드를 호출하는 것은 해당 서비스를 더 이상 사용하지 않고 소멸시키는 경우입니다. 
-서비스에 이것을 구현해야 스레드, 등록된 각종 수신기(listener, receiver) 등 
+    <dd>시스템이 이 메서드를 호출하는 것은 해당 서비스를 더 이상 사용하지 않고 소멸시키는 경우입니다.
+서비스에 이것을 구현해야 스레드, 등록된 각종 수신기(listener, receiver) 등
 모든 리소스를 정리할 수 있습니다. 이것이 서비스가 수신하는 마지막 호출입니다.</dd>
 </dl>
 
 <p>한 구성 요소가 {@link
 android.content.Context#startService startService()}를 호출하여 서비스를 시작하면({@link
-android.app.Service#onStartCommand onStartCommand()}로의 호출을 초래함), 해당 서비스는 
-알아서 {@link android.app.Service#stopSelf()}로 스스로를 중단할 때까지 또는 
+android.app.Service#onStartCommand onStartCommand()}로의 호출을 초래함), 해당 서비스는
+알아서 {@link android.app.Service#stopSelf()}로 스스로를 중단할 때까지 또는
 또 다른 구성 요소가 {@link android.content.Context#stopService stopService()}를 호출하여 서비스를 중단시킬 때까지 실행 중인 상태로 유지됩니다.</p>
 
-<p>한 구성 요소가 
+<p>한 구성 요소가
 {@link android.content.Context#bindService bindService()}를 호출하여 서비스를 생성하는 경우(그리고 {@link
-android.app.Service#onStartCommand onStartCommand()}를 호출하지 <em>않은</em> 경우), 해당 서비스는 
-해당 구성 요소가 바인딩되어 있는 경우에만 실행됩니다. 서비스가 모든 클라이언트로부터 바인딩 해제되면 시스템이 이를 
+android.app.Service#onStartCommand onStartCommand()}를 호출하지 <em>않은</em> 경우), 해당 서비스는
+해당 구성 요소가 바인딩되어 있는 경우에만 실행됩니다. 서비스가 모든 클라이언트로부터 바인딩 해제되면 시스템이 이를
 소멸시킵니다.</p>
 
-<p>Android 시스템이 서비스를 강제 중단시키는 것은 메모리가 부족하여 사용자가 초점을 집중하고 있는 
-액티비티를 위해 시스템 리소스를 회복해야만 하는 경우로만 국한됩니다. 해당 서비스가 사용자의 주목을 
-끌고 있는 액티비티에 바인딩되어 있다면 중단될 가능성이 낮고, 서비스가 <a href="#Foreground">전경에서 실행</a>된다고 선언된 경우(나중에 자세히 논함), 거의 절대 중단되지 않습니다. 
-그렇지 않으면, 서비스가 시작되었고 오랫동안 실행되는 경우 
-시간이 지나면서 시스템이 배경 작업 목록에서의 이 서비스의 위치를 점점 낮추고 
-서비스는 중단되기 매우 쉬워집니다. 서비스가 시작되었다면 이를 시스템에 의한 재시작을 정상적으로 
-처리하도록 디자인해야 합니다. 시스템이 서비스를 중단시키는 경우, 리소스를 다시 사용할 수 있게 되면 
+<p>Android 시스템이 서비스를 강제 중단시키는 것은 메모리가 부족하여 사용자가 초점을 집중하고 있는
+액티비티를 위해 시스템 리소스를 회복해야만 하는 경우로만 국한됩니다. 해당 서비스가 사용자의 주목을
+끌고 있는 액티비티에 바인딩되어 있다면 중단될 가능성이 낮고, 서비스가 <a href="#Foreground">전경에서 실행</a>된다고 선언된 경우(나중에 자세히 논함), 거의 절대 중단되지 않습니다.
+그렇지 않으면, 서비스가 시작되었고 오랫동안 실행되는 경우
+시간이 지나면서 시스템이 배경 작업 목록에서의 이 서비스의 위치를 점점 낮추고
+서비스는 중단되기 매우 쉬워집니다. 서비스가 시작되었다면 이를 시스템에 의한 재시작을 정상적으로
+처리하도록 디자인해야 합니다. 시스템이 서비스를 중단시키는 경우, 리소스를 다시 사용할 수 있게 되면
 시스템이 가능한 한 빨리 이를 다시 시작합니다(다만 이것은 개발자가 {@link
-android.app.Service#onStartCommand onStartCommand()}에서 반환하는 값에도 좌우됩니다. 이 내용은 나중에 논합니다). 시스템이 서비스를 
+android.app.Service#onStartCommand onStartCommand()}에서 반환하는 값에도 좌우됩니다. 이 내용은 나중에 논합니다). 시스템이 서비스를
 소멸시킬 수 있는 경우에 대한 자세한 정보는 <a href="{@docRoot}guide/components/processes-and-threads.html">프로세스 및 스레딩</a>
 문서를 참조하십시오.</p>
 
-<p>다음 섹션에서는 각 유형의 서비스를 생성하는 방법과 다른 애플리케이션 구성 요소에서 
+<p>다음 섹션에서는 각 유형의 서비스를 생성하는 방법과 다른 애플리케이션 구성 요소에서
 이를 사용하는 방법을 배우게 됩니다.</p>
 
 
 
 <h3 id="Declaring">매니페스트에서 서비스 선언하기</h3>
 
-<p>액티비티(및 다른 구성 요소)와 마찬가지로, 서비스는 모두 애플리케이션의 매니페스트 
+<p>액티비티(및 다른 구성 요소)와 마찬가지로, 서비스는 모두 애플리케이션의 매니페스트
 파일에서 선언해야 합니다.</p>
 
-<p>서비스를 선언하려면 <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 요소를 
+<p>서비스를 선언하려면 <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 요소를
 <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
  요소의 하위로 추가하면 됩니다. 예:</p>
 
@@ -199,28 +199,28 @@
 &lt;/manifest&gt;
 </pre>
 
-<p>매니페스트에서 서비스를 선언하는 데 대한 자세한 정보는 <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 
+<p>매니페스트에서 서비스를 선언하는 데 대한 자세한 정보는 <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a>
 요소 참조를 확인하십시오.</p>
 
-<p><a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 요소에 포함시킬 수 있는 다른 속성도 있습니다. 
-이를 포함시켜 서비스를 시작하는 데 필요한 권한과 서비스가 실행되어야 하는 프로세스 등의 
+<p><a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 요소에 포함시킬 수 있는 다른 속성도 있습니다.
+이를 포함시켜 서비스를 시작하는 데 필요한 권한과 서비스가 실행되어야 하는 프로세스 등의
 속성을 정의할 수 있습니다. <a href="{@docRoot}guide/topics/manifest/service-element.html#nm">{@code android:name}</a>
-속성이 유일한 필수 속성입니다. 이것은 서비스의 클래스 이름을 나타냅니다. 일단 애플리케이션을 
-게시하고 나면 이 이름을 변경해서는 안 됩니다. 이름을 변경하면 
+속성이 유일한 필수 속성입니다. 이것은 서비스의 클래스 이름을 나타냅니다. 일단 애플리케이션을
+게시하고 나면 이 이름을 변경해서는 안 됩니다. 이름을 변경하면
 서비스를 시작하거나 바인딩할 명시적 인텐트에 대한 종속성으로 인해 코드를 단절시킬 위험이 있기 때문입니다(블로그 게시물의 <a href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">
 바꿀 수 없는 항목</a>을 참조하십시오).
 
 <p>앱의 보안을 보장하려면 <strong>
-{@link android.app.Service}을 시작하거나 바인딩할 때 항상 명시적 인텐트를 사용하고</strong> 서비스에 대한 인텐트 필터는 선언하지 마십시오. 어느 
-서비스를 시작할지 어느 정도 모호성을 허용하는 것이 중요한 경우, 서비스에 대해 
+{@link android.app.Service}을 시작하거나 바인딩할 때 항상 명시적 인텐트를 사용하고</strong> 서비스에 대한 인텐트 필터는 선언하지 마십시오. 어느
+서비스를 시작할지 어느 정도 모호성을 허용하는 것이 중요한 경우, 서비스에 대해
 인텐트 필터를 제공하고 구성 요소 이름을 {@link
 android.content.Intent}에서 배제할 수 있지만, 그러면 해당 인텐트에 대한 패키지를 {@link
-android.content.Intent#setPackage setPackage()}로 설정하여 대상 서비스에 대해 충분한 명확화를 
+android.content.Intent#setPackage setPackage()}로 설정하여 대상 서비스에 대해 충분한 명확화를
 제공하도록 해야 합니다.</p>
 
-<p>이외에도 서비스를 본인의 앱에만 사용 가능하도록 보장할 수도 있습니다. 
+<p>이외에도 서비스를 본인의 앱에만 사용 가능하도록 보장할 수도 있습니다.
 <a href="{@docRoot}guide/topics/manifest/service-element.html#exported">{@code android:exported}</a>
- 속성을 포함시킨 뒤 이를 {@code "false"}로 설정하면 됩니다. 이렇게 하면 다른 앱이 여러분의 서비스를 시작하지 못하도록 효과적으로 방지해주며, 
+ 속성을 포함시킨 뒤 이를 {@code "false"}로 설정하면 됩니다. 이렇게 하면 다른 앱이 여러분의 서비스를 시작하지 못하도록 효과적으로 방지해주며,
 이는 명시적 인텐트를 사용하는 경우에도 문제 없이 적용됩니다.</p>
 
 
@@ -229,71 +229,71 @@
 <h2 id="CreatingStartedService">시작된 서비스 생성하기</h2>
 
 <p>시작된 서비스란 다른 구성 요소가 {@link
-android.content.Context#startService startService()}를 호출하여 시작하고, 그 결과 서비스의 
+android.content.Context#startService startService()}를 호출하여 시작하고, 그 결과 서비스의
 {@link android.app.Service#onStartCommand onStartCommand()} 메서드를 호출하는 결과를 초래한 것을 말합니다.</p>
 
-<p>서비스가 시작되면 이를 시작한 구성 요소와 독립된 자신만의 
-수명 주기를 가지며 해당 서비스는 배경에서 무기한으로 실행될 수 있습니다. 이는 해당 서비스를 
-시작한 구성 요소가 소멸되었더라도 무관합니다. 따라서, 서비스는 작업이 완료되면 
-{@link android.app.Service#stopSelf stopSelf()}를 호출하여 스스로 알아서 중단되는 것이 정상이며 아니면 다른 구성 요소가 
+<p>서비스가 시작되면 이를 시작한 구성 요소와 독립된 자신만의
+수명 주기를 가지며 해당 서비스는 배경에서 무기한으로 실행될 수 있습니다. 이는 해당 서비스를
+시작한 구성 요소가 소멸되었더라도 무관합니다. 따라서, 서비스는 작업이 완료되면
+{@link android.app.Service#stopSelf stopSelf()}를 호출하여 스스로 알아서 중단되는 것이 정상이며 아니면 다른 구성 요소가
 {@link android.content.Context#stopService stopService()}를 호출하여 중단시킬 수도 있습니다.</p>
 
 <p>애플리케이션 구성 요소(예: 액티비티)가 서비스를 시작하려면 {@link
-android.content.Context#startService startService()}를 호출하고, {@link android.content.Intent}를 
-전달하면 됩니다. 이것은 서비스를 나타내고 서비스가 사용할 모든 데이터를 포함합니다. 서비스는 이 
+android.content.Context#startService startService()}를 호출하고, {@link android.content.Intent}를
+전달하면 됩니다. 이것은 서비스를 나타내고 서비스가 사용할 모든 데이터를 포함합니다. 서비스는 이
 {@link android.content.Intent}를 {@link android.app.Service#onStartCommand
 onStartCommand()} 메서드에서 수신합니다.</p>
 
-<p>예를 들어 어느 액티비티가 온라인 데이터베이스에 데이터를 약간 저장해야 한다고 가정합니다. 액티비티가 
+<p>예를 들어 어느 액티비티가 온라인 데이터베이스에 데이터를 약간 저장해야 한다고 가정합니다. 액티비티가
 동반자 서비스를 시작하여 저장할 데이터를 이에 전달할 수 있습니다. 이때 인텐트를 {@link
 android.content.Context#startService startService()}에 전달하면 됩니다. 서비스는 이 인텐트를 {@link
-android.app.Service#onStartCommand onStartCommand()}에서 수신하고 인터넷에 연결한 다음 데이터베이스 
-트랜잭션을 수행합니다. 작업을 완료하면, 해당 서비스는 알아서 스스로 중단되고 
+android.app.Service#onStartCommand onStartCommand()}에서 수신하고 인터넷에 연결한 다음 데이터베이스
+트랜잭션을 수행합니다. 작업을 완료하면, 해당 서비스는 알아서 스스로 중단되고
 소멸됩니다.</p>
 
-<p class="caution"><strong>주의:</strong> 서비스는 기본적으로 자신이 선언된 애플리케이션의 같은 
-프로세스에서 실행되기도 하고 해당 애플리케이션의 기본 스레드에서 실행되기도 합니다. 따라서, 사용자가 
-같은 애플리케이션의 액티비티와 상호 작용하는 동안 서비스가 집약적이거나 차단적인 작업을 수행하는 경우, 
-해당 서비스 때문에 액티비티 성능이 느려지게 됩니다. 애플리케이션 성능에 영향을 미치는 것을 방지하려면, 
+<p class="caution"><strong>주의:</strong> 서비스는 기본적으로 자신이 선언된 애플리케이션의 같은
+프로세스에서 실행되기도 하고 해당 애플리케이션의 기본 스레드에서 실행되기도 합니다. 따라서, 사용자가
+같은 애플리케이션의 액티비티와 상호 작용하는 동안 서비스가 집약적이거나 차단적인 작업을 수행하는 경우,
+해당 서비스 때문에 액티비티 성능이 느려지게 됩니다. 애플리케이션 성능에 영향을 미치는 것을 방지하려면,
 서비스 내에서 새 스레드를 시작해야 합니다.</p>
 
 <p>기존에는 시작된 서비스를 생성하기 위해 확장할 수 있는 클래스가 두 개 있었습니다.</p>
 <dl>
   <dt>{@link android.app.Service}</dt>
-  <dd>이것이 모든 서비스의 기본 클래스입니다. 이 클래스를 확장하는 경우, 서비스의 모든 작업을 수행할 
-새 스레드를 만드는 것이 중요합니다. 서비스가 기본적으로 애플리케이션의 기본 스레드를 사용하기 
-때문인데, 이로 인해 애플리케이션이 실행 중인 모든 액티비티의 성능이 
+  <dd>이것이 모든 서비스의 기본 클래스입니다. 이 클래스를 확장하는 경우, 서비스의 모든 작업을 수행할
+새 스레드를 만드는 것이 중요합니다. 서비스가 기본적으로 애플리케이션의 기본 스레드를 사용하기
+때문인데, 이로 인해 애플리케이션이 실행 중인 모든 액티비티의 성능이
 느려질 수 있기 때문입니다.</dd>
   <dt>{@link android.app.IntentService}</dt>
-  <dd>이것은 {@link android.app.Service}의 하위 클래스로, 작업자 스레드를 
-사용하여 모든 시작 요청을 처리하되 한 번에 하나씩 처리합니다. 서비스가 여러 개의 요청을 
+  <dd>이것은 {@link android.app.Service}의 하위 클래스로, 작업자 스레드를
+사용하여 모든 시작 요청을 처리하되 한 번에 하나씩 처리합니다. 서비스가 여러 개의 요청을
 동시에 처리하지 않아도 되는 경우 이것이 최선의 옵션입니다. 해야 할 일은 {@link
-android.app.IntentService#onHandleIntent onHandleIntent()}를 구현하는 것뿐으로, 이것이 각 시작 요청에 대한 인텐트를 수신하여 
+android.app.IntentService#onHandleIntent onHandleIntent()}를 구현하는 것뿐으로, 이것이 각 시작 요청에 대한 인텐트를 수신하여
 개발자는 배경 작업을 수행할 수 있습니다.</dd>
 </dl>
 
-<p>다음 섹션에서는 이와 같은 클래스 중 하나를 사용하여 서비스를 구현하는 방법을 
+<p>다음 섹션에서는 이와 같은 클래스 중 하나를 사용하여 서비스를 구현하는 방법을
 설명합니다.</p>
 
 
 <h3 id="ExtendingIntentService">IntentService 클래스 확장하기</h3>
 
 <p>대부분의 시작된 서비스는 여러 개의 요청을 동시에 처리하지 않아도 되기 때문에
-(이는 사실 위험한 다중 스레딩 시나리오일 수 있습니다), 서비스를 구현할 때에는 
+(이는 사실 위험한 다중 스레딩 시나리오일 수 있습니다), 서비스를 구현할 때에는
 {@link android.app.IntentService} 클래스를 사용하는 것이 최선의 방안일 것입니다.</p>
 
 <p>{@link android.app.IntentService}는 다음과 같은 작업을 수행합니다.</p>
 
 <ul>
   <li>애플리케이션의 기본 스레드와는 별도로 {@link
-android.app.Service#onStartCommand onStartCommand()}에 전달된 모든 인텐트를 실행하는 기본 작업자 스레드를 
+android.app.Service#onStartCommand onStartCommand()}에 전달된 모든 인텐트를 실행하는 기본 작업자 스레드를
 생성합니다.</li>
   <li>한 번에 인텐트를 하나씩 {@link
-android.app.IntentService#onHandleIntent onHandleIntent()} 구현에 전달하는 작업 대기열을 생성하므로 다중 스레딩에 대해 염려할 필요가 
+android.app.IntentService#onHandleIntent onHandleIntent()} 구현에 전달하는 작업 대기열을 생성하므로 다중 스레딩에 대해 염려할 필요가
 전혀 없습니다.</li>
-  <li>시작 요청이 모두 처리된 후 서비스를 중단하므로 개발자가 
+  <li>시작 요청이 모두 처리된 후 서비스를 중단하므로 개발자가
 {@link android.app.Service#stopSelf}를 호출할 필요가 전혀 없습니다.</li>
-  <li>{@link android.app.IntentService#onBind onBind()}의 기본 구현을 제공하여 null을 
+  <li>{@link android.app.IntentService#onBind onBind()}의 기본 구현을 제공하여 null을
 반환하도록 합니다.</li>
   <li>{@link android.app.IntentService#onStartCommand
 onStartCommand()}의 기본 구현을 제공하여 인텐트를 작업 대기열에 보내고, 다음으로 {@link
@@ -301,7 +301,7 @@
 </ul>
 
 <p>이 모든 것은 결론적으로 개발자가 직접 할 일은 클라이언트가 제공한 작업을 수행할 {@link
-android.app.IntentService#onHandleIntent onHandleIntent()}를 구현하는 것뿐이라는 사실로 
+android.app.IntentService#onHandleIntent onHandleIntent()}를 구현하는 것뿐이라는 사실로
 이어집니다. (다만, 서비스에 대해 작은 생성자를 제공해야 하기도 합니다.)</p>
 
 <p>다음은 {@link android.app.IntentService}의 구현을 예시로 나타낸 것입니다.</p>
@@ -345,10 +345,10 @@
 <p>다른 콜백 메서드도 재정의하기로 결정하는 경우-예를 들어 {@link
 android.app.IntentService#onCreate onCreate()}, {@link
 android.app.IntentService#onStartCommand onStartCommand()} 또는 {@link
-android.app.IntentService#onDestroy onDestroy()}-슈퍼 구현을 꼭 호출해야 합니다. 
+android.app.IntentService#onDestroy onDestroy()}-슈퍼 구현을 꼭 호출해야 합니다.
 그래야 {@link android.app.IntentService}가 작업자 스레드의 수명을 적절하게 처리할 수 있습니다.</p>
 
-<p>예를 들어 {@link android.app.IntentService#onStartCommand onStartCommand()}는 반드시 
+<p>예를 들어 {@link android.app.IntentService#onStartCommand onStartCommand()}는 반드시
 기본 구현을 반환해야 합니다(이로써 인텐트가 {@link
 android.app.IntentService#onHandleIntent onHandleIntent()}로 전달되는 것입니다).</p>
 
@@ -360,25 +360,25 @@
 }
 </pre>
 
-<p>{@link android.app.IntentService#onHandleIntent onHandleIntent()} 외에 슈퍼 클래스를 
+<p>{@link android.app.IntentService#onHandleIntent onHandleIntent()} 외에 슈퍼 클래스를
 호출하지 않아도 되는 유일한 메서드는 {@link android.app.IntentService#onBind
 onBind()}입니다(다만 이를 구현하는 것은 서비스가 바인딩을 허용할 때에만 필요합니다).</p>
 
-<p>다음 섹션에서는 기본 {@link android.app.Service} 
-클래스를 확장할 때 같은 종류의 서비스를 구현하는 방법을 배우게 됩니다. 이때에는 코드가 훨씬 많이 필요하지만, 
+<p>다음 섹션에서는 기본 {@link android.app.Service}
+클래스를 확장할 때 같은 종류의 서비스를 구현하는 방법을 배우게 됩니다. 이때에는 코드가 훨씬 많이 필요하지만,
 동시 시작 요청을 처리해야 하는 경우 이것이 적절할 수 있습니다.</p>
 
 
 <h3 id="ExtendingService">서비스 클래스 확장하기</h3>
 
-<p>이전 섹션에서 본 것과 같이 {@link android.app.IntentService}를 사용하면 
-시작된 서비스 구현이 매우 단순해집니다. 하지만 서비스가 다중 스레딩을 
-수행해야 하는 경우(작업 대기열을 통해 시작 요청을 처리하는 대신), 그때는 
+<p>이전 섹션에서 본 것과 같이 {@link android.app.IntentService}를 사용하면
+시작된 서비스 구현이 매우 단순해집니다. 하지만 서비스가 다중 스레딩을
+수행해야 하는 경우(작업 대기열을 통해 시작 요청을 처리하는 대신), 그때는
 {@link android.app.Service} 클래스를 확장하여 각 인텐트를 처리하게 할 수 있습니다.</p>
 
 <p>비교를 위해 다음 예시의 코드를 보겠습니다. 이는 {@link
 android.app.Service} 클래스의 구현으로, 위의 예시에서 {@link
-android.app.IntentService}를 사용하여 수행한 것과 똑같은 작업을 수행합니다. 바꿔 말하면 각 시작 요청에 대해 
+android.app.IntentService}를 사용하여 수행한 것과 똑같은 작업을 수행합니다. 바꿔 말하면 각 시작 요청에 대해
 작업자 스레드를 사용하여 작업을 수행하고 한 번에 요청을 하나씩만 처리한다는 뜻입니다.</p>
 
 <pre>
@@ -455,46 +455,46 @@
 <p>보시다시피 {@link android.app.IntentService}를 사용할 때보다 훨씬 손이 많이 갑니다.</p>
 
 <p>그러나, 각 호출을 {@link android.app.Service#onStartCommand
-onStartCommand()}로 직접 처리할 수 있기 때문에 여러 개의 요청을 동시에 수행할 수 있습니다. 이 예시는 그것을 
-보여주는 것은 아니지만, 그런 작업을 원하는 경우 각 요청에 대해 새 스레드를 
+onStartCommand()}로 직접 처리할 수 있기 때문에 여러 개의 요청을 동시에 수행할 수 있습니다. 이 예시는 그것을
+보여주는 것은 아니지만, 그런 작업을 원하는 경우 각 요청에 대해 새 스레드를
 하나씩 생성한 다음 곧바로 실행하면 됩니다(이전 요청이 끝날 때까지 기다리는 대신).</p>
 
-<p>{@link android.app.Service#onStartCommand onStartCommand()} 메서드가 반드시 
-정수를 반환해야 한다는 사실을 유의하십시오. 정수는 시스템이 서비스를 중단시킨 경우 시스템이 해당 서비스를 
+<p>{@link android.app.Service#onStartCommand onStartCommand()} 메서드가 반드시
+정수를 반환해야 한다는 사실을 유의하십시오. 정수는 시스템이 서비스를 중단시킨 경우 시스템이 해당 서비스를
 계속하는 방법에 대해 설명하는 값입니다(위에서 논한 바와 같이 {@link
-android.app.IntentService}의 기본 구현이 이것을 개발자 대신 처리해줍니다. 개발자가 이를 수정할 수도 있습니다). 
-{@link android.app.Service#onStartCommand onStartCommand()}로부터의 반환 값은 반드시 
+android.app.IntentService}의 기본 구현이 이것을 개발자 대신 처리해줍니다. 개발자가 이를 수정할 수도 있습니다).
+{@link android.app.Service#onStartCommand onStartCommand()}로부터의 반환 값은 반드시
 다음 상수 중 하나여야 합니다.</p>
 
 <dl>
   <dt>{@link android.app.Service#START_NOT_STICKY}</dt>
     <dd>시스템이 서비스를 {@link android.app.Service#onStartCommand
-onStartCommand()} 반환 후에 중단시키면 서비스를 재생성하면 <em>안 됩니다.</em> 다만 전달할 
-보류 인텐트가 있는 경우는 예외입니다. 이것은 서비스가 불필요하게 실행되는 일을 피할 수 있는 가장 안전한 옵션이며, 
+onStartCommand()} 반환 후에 중단시키면 서비스를 재생성하면 <em>안 됩니다.</em> 다만 전달할
+보류 인텐트가 있는 경우는 예외입니다. 이것은 서비스가 불필요하게 실행되는 일을 피할 수 있는 가장 안전한 옵션이며,
 애플리케이션이 완료되지 않은 모든 작업을 단순히 재시작할 수 있을 때 좋습니다.</dd>
   <dt>{@link android.app.Service#START_STICKY}</dt>
     <dd>시스템이 서비스를 {@link android.app.Service#onStartCommand
 onStartCommand()} 반환 후에 중단시키는 경우, 서비스를 재생성하고 {@link
-android.app.Service#onStartCommand onStartCommand()}를 호출하되 마지막 인텐트를 다시 전달하지는 <em>마십시오.</em> 
-그 대신, 시스템이 null 인텐트로 {@link android.app.Service#onStartCommand onStartCommand()}를 
-호출합니다. 다만 서비스를 시작할 보류 인텐트가 있는 경우만은 예외이며, 이럴 때에는 
-그러한 인텐트를 전달합니다. 이것은 명령을 실행하지는 않지만 무기한으로 실행 중이며 작업을 기다리고 있는 
+android.app.Service#onStartCommand onStartCommand()}를 호출하되 마지막 인텐트를 다시 전달하지는 <em>마십시오.</em>
+그 대신, 시스템이 null 인텐트로 {@link android.app.Service#onStartCommand onStartCommand()}를
+호출합니다. 다만 서비스를 시작할 보류 인텐트가 있는 경우만은 예외이며, 이럴 때에는
+그러한 인텐트를 전달합니다. 이것은 명령을 실행하지는 않지만 무기한으로 실행 중이며 작업을 기다리고 있는
 미디어 플레이어(또는 그와 비슷한 서비스)에 적합합니다.</dd>
   <dt>{@link android.app.Service#START_REDELIVER_INTENT}</dt>
     <dd>시스템이 서비스를 {@link android.app.Service#onStartCommand
 onStartCommand()} 반환 후에 중단시키는 경우, 서비스를 재생성하고 서비스에 전달된 마지막 인텐트로 {@link
-android.app.Service#onStartCommand onStartCommand()}를 
-호출하십시오. 모든 보류 인텐트가 차례로 전달됩니다. 이것은 즉시 재개되어야 하는 작업을 
+android.app.Service#onStartCommand onStartCommand()}를
+호출하십시오. 모든 보류 인텐트가 차례로 전달됩니다. 이것은 즉시 재개되어야 하는 작업을
 능동적으로 수행 중인 서비스(예를 들어 파일 다운로드 등)에 적합합니다.</dd>
 </dl>
-<p>이러한 반환 값에 대한 자세한 내용은 각 상수에 대해 링크로 연결된 참조 문서를 
+<p>이러한 반환 값에 대한 자세한 내용은 각 상수에 대해 링크로 연결된 참조 문서를
 확인하십시오.</p>
 
 
 
 <h3 id="StartingAService">서비스 시작</h3>
 
-<p>액티비티나 다른 구성 요소에서 서비스를 시작하려면 
+<p>액티비티나 다른 구성 요소에서 서비스를 시작하려면
 {@link android.content.Intent}를(시작할 서비스를 나타냄) {@link
 android.content.Context#startService startService()}에 전달하면 됩니다. Android 시스템이 서비스의 {@link
 android.app.Service#onStartCommand onStartCommand()} 메서드를 호출하여 여기에 {@link
@@ -510,53 +510,53 @@
 startService(intent);
 </pre>
 
-<p>{@link android.content.Context#startService startService()} 메서드가 즉시 반환되며 
+<p>{@link android.content.Context#startService startService()} 메서드가 즉시 반환되며
 Android 시스템이 서비스의 {@link android.app.Service#onStartCommand
 onStartCommand()} 메서드를 호출합니다. 서비스가 이미 실행 중이지 않은 경우, 시스템은 우선 {@link
 android.app.Service#onCreate onCreate()}를 호출하고, 다음으로 {@link android.app.Service#onStartCommand
 onStartCommand()}를 호출합니다.</p>
 
 <p>서비스가 바인딩도 제공하지 않는 경우, {@link
-android.content.Context#startService startService()}와 함께 전달된 인텐트가 애플리케이션 구성 요소와 서비스 사이의 
-유일한 통신 방법입니다. 그러나 서비스가 결과를 돌려보내기를 원하는 경우, 서비스를 시작한 
-클라이언트가 브로드캐스트를 위해 {@link android.app.PendingIntent}를 
-만들 수 있고({@link android.app.PendingIntent#getBroadcast getBroadcast()} 사용) 이를 서비스를 시작한 
-{@link android.content.Intent} 내의 서비스에 전달할 수 있습니다. 그러면 서비스가 
+android.content.Context#startService startService()}와 함께 전달된 인텐트가 애플리케이션 구성 요소와 서비스 사이의
+유일한 통신 방법입니다. 그러나 서비스가 결과를 돌려보내기를 원하는 경우, 서비스를 시작한
+클라이언트가 브로드캐스트를 위해 {@link android.app.PendingIntent}를
+만들 수 있고({@link android.app.PendingIntent#getBroadcast getBroadcast()} 사용) 이를 서비스를 시작한
+{@link android.content.Intent} 내의 서비스에 전달할 수 있습니다. 그러면 서비스가
 이 브로드캐스트를 사용하여 결과를 전달할 수 있게 됩니다.</p>
 
-<p>서비스를 시작하기 위한 여러 개의 요청은 서비스의 
-{@link android.app.Service#onStartCommand onStartCommand()}로의 상응하는 여러 개의 호출이라는 결과를 낳습니다. 하지만, 서비스를 중단하려면 
+<p>서비스를 시작하기 위한 여러 개의 요청은 서비스의
+{@link android.app.Service#onStartCommand onStartCommand()}로의 상응하는 여러 개의 호출이라는 결과를 낳습니다. 하지만, 서비스를 중단하려면
 이를 중단하라는 요청 하나({@link android.app.Service#stopSelf stopSelf()} 또는 {@link
 android.content.Context#stopService stopService()} 사용)만 있으면 됩니다.</p>
 
 
 <h3 id="Stopping">서비스 중단</h3>
 
-<p>시작된 서비스는 자신만의 수명 주기를 직접 관리해야 합니다. 다시 말해, 시스템이 
-서비스를 중단하거나 소멸시키지 않는다는 뜻입니다. 다만 시스템 메모리를 회복해야 하고 서비스가 
-{@link android.app.Service#onStartCommand onStartCommand()} 반환 후에도 계속 실행되는 경우는 예외입니다. 따라서, 
-서비스는 {@link android.app.Service#stopSelf stopSelf()}를 호출하여 스스로 중단시켜야 하고, 아니면 
+<p>시작된 서비스는 자신만의 수명 주기를 직접 관리해야 합니다. 다시 말해, 시스템이
+서비스를 중단하거나 소멸시키지 않는다는 뜻입니다. 다만 시스템 메모리를 회복해야 하고 서비스가
+{@link android.app.Service#onStartCommand onStartCommand()} 반환 후에도 계속 실행되는 경우는 예외입니다. 따라서,
+서비스는 {@link android.app.Service#stopSelf stopSelf()}를 호출하여 스스로 중단시켜야 하고, 아니면
 다른 구성 요소가 {@link android.content.Context#stopService stopService()}를 호출하여 이를 중단시킬 수 있습니다.</p>
 
 <p>일단 {@link android.app.Service#stopSelf stopSelf()} 또는 {@link
-android.content.Context#stopService stopService()}로 중단하기를 요청하고 나면 시스템이 서비스를 가능한 한 빨리 
+android.content.Context#stopService stopService()}로 중단하기를 요청하고 나면 시스템이 서비스를 가능한 한 빨리
 소멸시킵니다.</p>
 
 <p>그러나, 서비스가 {@link
-android.app.Service#onStartCommand onStartCommand()}로의 요청을 동시에 여러 개 처리하기를 바라는 경우라면 시작 요청 처리를 완료한 뒤에도 
-서비스를 중단하면 안 됩니다. 그 이후 새 시작 요청을 받았을 수 있기 
-때문입니다(첫 요청 종료 시에 중단하면 두 번째 요청을 종료시킵니다). 이 문제를 
-피하려면, {@link android.app.Service#stopSelf(int)}를 사용하여 서비스를 
+android.app.Service#onStartCommand onStartCommand()}로의 요청을 동시에 여러 개 처리하기를 바라는 경우라면 시작 요청 처리를 완료한 뒤에도
+서비스를 중단하면 안 됩니다. 그 이후 새 시작 요청을 받았을 수 있기
+때문입니다(첫 요청 종료 시에 중단하면 두 번째 요청을 종료시킵니다). 이 문제를
+피하려면, {@link android.app.Service#stopSelf(int)}를 사용하여 서비스를
 중단시키라는 개발자의 요청이 항상 최신 시작 요청에 기반하도록 해야 합니다. 다시 말해, {@link
-android.app.Service#stopSelf(int)}를 호출할 때면 시작 요청의 ID({@link android.app.Service#onStartCommand onStartCommand()}에 전달된 
-<code>startId</code>)를 전달하게 됩니다. 여기에 중단 요청이 
+android.app.Service#stopSelf(int)}를 호출할 때면 시작 요청의 ID({@link android.app.Service#onStartCommand onStartCommand()}에 전달된
+<code>startId</code>)를 전달하게 됩니다. 여기에 중단 요청이
 부합됩니다. 그런 다음 개발자가 {@link
 android.app.Service#stopSelf(int)}를 호출할 수 있기 전에 서비스가 새 시작 요청을 받은 경우, ID가 일치하지 않게 되고 서비스는 중단되지 않습니다.</p>
 
-<p class="caution"><strong>주의:</strong> 서비스가 작업을 완료한 다음 애플리케이션이 
-소속 서비스를 중단할 수 있어야 한다는 점이 중요합니다. 그래야 시스템 리소스 낭비를 피하고 배터리 전력 소모를 줄일 수 있습니다. 필요한 경우 
+<p class="caution"><strong>주의:</strong> 서비스가 작업을 완료한 다음 애플리케이션이
+소속 서비스를 중단할 수 있어야 한다는 점이 중요합니다. 그래야 시스템 리소스 낭비를 피하고 배터리 전력 소모를 줄일 수 있습니다. 필요한 경우
 다른 구성 요소도 서비스를 중단시킬 수 있습니다. {@link
-android.content.Context#stopService stopService()}를 호출하면 됩니다. 서비스에 대해 바인딩을 활성화하더라도, 
+android.content.Context#stopService stopService()}를 호출하면 됩니다. 서비스에 대해 바인딩을 활성화하더라도,
 서비스가 {@link
 android.app.Service#onStartCommand onStartCommand()}로의 호출을 한 번이라도 받았으면 항상 서비스를 직접 중단시켜야 합니다.</p>
 
@@ -571,32 +571,32 @@
 (또한 보통은 구성 요소가 {@link
 android.content.Context#startService startService()}를 호출하여 서비스를 <em>시작</em>하는 것을 허용하지 않습니다).</p>
 
-<p>액티비티와 애플리케이션의 다른 구성 요소에서 서비스와 상호 작용하기를 원하는 경우 
-바인딩된 서비스를 생성해야 합니다. 아니면 애플리케이션의 기능 몇 가지를 프로세스 간 통신(IPC)을 통해 
+<p>액티비티와 애플리케이션의 다른 구성 요소에서 서비스와 상호 작용하기를 원하는 경우
+바인딩된 서비스를 생성해야 합니다. 아니면 애플리케이션의 기능 몇 가지를 프로세스 간 통신(IPC)을 통해
 다른 애플리케이션에 노출하고자 하는 경우에도 좋습니다.</p>
 
 <p>바인딩된 서비스를 생성하려면 {@link
-android.app.Service#onBind onBind()} 콜백 메서드를 구현하여 서비스와의 통신을 위한 인터페이스를 정의하는 
-{@link android.os.IBinder}를 반환하도록 해야 합니다. 그러면 다른 애플리케이션 구성 요소가 
-{@link android.content.Context#bindService bindService()}를 호출하여 해당 인터페이스를 검색하고, 서비스에 있는 메서드를 
-호출하기 시작할 수 있습니다. 서비스는 자신에게 바인딩된 애플리케이션 구성 요소에게 도움이 되기 위해서만 
-존재하는 것이므로, 서비스에 바인딩된 구성 요소가 없으면 시스템이 이를 소멸시킵니다(바인딩된 서비스는 시작된 서비스처럼 
-{@link android.app.Service#onStartCommand onStartCommand()}를 통해 
+android.app.Service#onBind onBind()} 콜백 메서드를 구현하여 서비스와의 통신을 위한 인터페이스를 정의하는
+{@link android.os.IBinder}를 반환하도록 해야 합니다. 그러면 다른 애플리케이션 구성 요소가
+{@link android.content.Context#bindService bindService()}를 호출하여 해당 인터페이스를 검색하고, 서비스에 있는 메서드를
+호출하기 시작할 수 있습니다. 서비스는 자신에게 바인딩된 애플리케이션 구성 요소에게 도움이 되기 위해서만
+존재하는 것이므로, 서비스에 바인딩된 구성 요소가 없으면 시스템이 이를 소멸시킵니다(바인딩된 서비스는 시작된 서비스처럼
+{@link android.app.Service#onStartCommand onStartCommand()}를 통해
 중단시키지 <em>않아도</em> 됩니다).</p>
 
-<p>바인딩된 서비스를 생성하려면 가장 먼저 해야 할 일은 클라이언트가 서비스와 
-통신할 수 있는 방법을 나타내는 인터페이스를 정의하는 것입니다. 서비스와 클라이언트 사이에서 쓰이는 이 인터페이스는 
-반드시 {@link android.os.IBinder}의 구현이어야 하며 이를 
+<p>바인딩된 서비스를 생성하려면 가장 먼저 해야 할 일은 클라이언트가 서비스와
+통신할 수 있는 방법을 나타내는 인터페이스를 정의하는 것입니다. 서비스와 클라이언트 사이에서 쓰이는 이 인터페이스는
+반드시 {@link android.os.IBinder}의 구현이어야 하며 이를
 서비스가 {@link android.app.Service#onBind
-onBind()} 콜백 메서드에서 반환해야 합니다. 클라이언트가 {@link android.os.IBinder}를 수신하면 해당 인터페이스를 통해 서비스와 
+onBind()} 콜백 메서드에서 반환해야 합니다. 클라이언트가 {@link android.os.IBinder}를 수신하면 해당 인터페이스를 통해 서비스와
 상호 작용을 시작할 수 있습니다.</p>
 
-<p>여러 클라이언트가 서비스에 한꺼번에 바인딩될 수 있습니다. 클라이언트가 서비스와의 상호 작용을 완료하면 이는 
-{@link android.content.Context#unbindService unbindService()}를 호출하여 바인딩을 해제합니다. 서비스에 
+<p>여러 클라이언트가 서비스에 한꺼번에 바인딩될 수 있습니다. 클라이언트가 서비스와의 상호 작용을 완료하면 이는
+{@link android.content.Context#unbindService unbindService()}를 호출하여 바인딩을 해제합니다. 서비스에
 바인딩된 클라이언트가 하나도 없으면 시스템이 해당 서비스를 소멸시킵니다.</p>
 
-<p>바인딩된 서비스를 구현하는 데에는 여러 가지 방법이 있으며 그러한 구현은 시작된 서비스보다 
-훨씬 복잡합니다. 따라서 바인딩된 서비스 논의는 
+<p>바인딩된 서비스를 구현하는 데에는 여러 가지 방법이 있으며 그러한 구현은 시작된 서비스보다
+훨씬 복잡합니다. 따라서 바인딩된 서비스 논의는
 <a href="{@docRoot}guide/components/bound-services.html">바인딩된 서비스</a>에 관한 별도의 문서에서 다룹니다.</p>
 
 
@@ -605,13 +605,13 @@
 
 <p>서비스는 일단 실행되고 나면 사용자에게 <a href="{@docRoot}guide/topics/ui/notifiers/toasts.html">알림 메시지</a> 또는 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄 알림</a> 등을 사용해 이벤트를 알릴 수 있습니다.</p>
 
-<p>알림 메시지란 현재 창의 표면에 잠시 나타났다가 사라지는 메시지이고, 
-상태 표시줄 알림은 상태 표시줄에 메시지가 담긴 아이콘을 제공하여 사용자가 이를 선택하여 
+<p>알림 메시지란 현재 창의 표면에 잠시 나타났다가 사라지는 메시지이고,
+상태 표시줄 알림은 상태 표시줄에 메시지가 담긴 아이콘을 제공하여 사용자가 이를 선택하여
 조치를 취할 수 있게 하는 것입니다(예: 액티비티 시작).</p>
 
 <p>보통, 일종의 배경 작업이 완료되었고
-(예: 파일 다운로드 완료) 이제 사용자가 그에 대해 조치를 취할 수 있는 경우 상태 표시줄 알림이 
-최선의 기법입니다. 사용자가 확장된 보기에서 알림을 선택하면, 
+(예: 파일 다운로드 완료) 이제 사용자가 그에 대해 조치를 취할 수 있는 경우 상태 표시줄 알림이
+최선의 기법입니다. 사용자가 확장된 보기에서 알림을 선택하면,
 해당 알림이 액티비티를 시작할 수 있습니다(예: 다운로드한 파일 보기).</p>
 
 <p>자세한 정보는 <a href="{@docRoot}guide/topics/ui/notifiers/toasts.html">알림 메시지</a> 또는 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄 알림</a>
@@ -621,19 +621,19 @@
 
 <h2 id="Foreground">전경에서 서비스 실행하기</h2>
 
-<p>전경 서비스는 사용자가 능동적으로 인식하고 있으므로 메모리 부족 시에도 
-시스템이 중단할 후보로 고려되지 않는 서비스를 말합니다. 전경 
-서비스는 상태 표시줄에 대한 알림을 제공해야 합니다. 이것은 
-"진행 중" 제목 아래에 배치되며, 이는 곧 해당 알림은 서비스가 중단되었거나 
+<p>전경 서비스는 사용자가 능동적으로 인식하고 있으므로 메모리 부족 시에도
+시스템이 중단할 후보로 고려되지 않는 서비스를 말합니다. 전경
+서비스는 상태 표시줄에 대한 알림을 제공해야 합니다. 이것은
+"진행 중" 제목 아래에 배치되며, 이는 곧 해당 알림은 서비스가 중단되었거나
 전경에서 제거되지 않은 이상 무시할 수 없다는 뜻입니다.</p>
 
-<p>예를 들어 서비스에서 음악을 재생하는 음악 플레이어는 전경에서 
-실행되도록 설정해야 합니다. 사용자가 이것의 작동을 분명히 인식하고 있기 
-때문입니다. 상태 표시줄에 있는 알림은 현재 노래를 나타내고 
+<p>예를 들어 서비스에서 음악을 재생하는 음악 플레이어는 전경에서
+실행되도록 설정해야 합니다. 사용자가 이것의 작동을 분명히 인식하고 있기
+때문입니다. 상태 표시줄에 있는 알림은 현재 노래를 나타내고
 사용자로 하여금 음악 플레이어와 상호 작용할 액티비티를 시작하게 해줄 수도 있습니다.</p>
 
 <p>서비스가 전경에서 실행되도록 요청하려면 {@link
-android.app.Service#startForeground startForeground()}를 호출하면 됩니다. 이 메서드는 두 개의 매개변수를 취합니다. 
+android.app.Service#startForeground startForeground()}를 호출하면 됩니다. 이 메서드는 두 개의 매개변수를 취합니다.
 그 중 하나는 해당 알림을 고유하게 식별하는 정수이고 다른 하나는 상태 표시줄에 해당되는 {@link
 android.app.Notification}입니다. 예:</p>
 
@@ -652,48 +652,48 @@
 
 
 <p>서비스를 전경에서 제거하려면 {@link
-android.app.Service#stopForeground stopForeground()}를 호출하면 됩니다. 이 메서드는 부울 값을 취하며, 이것이 
+android.app.Service#stopForeground stopForeground()}를 호출하면 됩니다. 이 메서드는 부울 값을 취하며, 이것이
 상태 표시줄 알림도 제거할지 여부를 나타냅니다. 이 메서드는 서비스를 중단시키지 <em>않습니다</em>.
- 그러나, 서비스가 전경에서 실행 중인 동안 서비스를 중단시키면 
+ 그러나, 서비스가 전경에서 실행 중인 동안 서비스를 중단시키면
 알림도 마찬가지로 제거됩니다.</p>
 
-<p>알림에 대한 자세한 정보는 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄 
+<p>알림에 대한 자세한 정보는 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 표시줄
 알림 생성</a>을 참조하십시오.</p>
 
 
 
 <h2 id="Lifecycle">서비스 수명 주기 관리</h2>
 
-<p>서비스의 수명 주기는 액티비티의 수명 주기보다 훨씬 간단합니다. 하지만, 서비스를 생성하고 
-소멸시키는 방법에 특히 주의를 기울여야 한다는 면에서 중요도는 이쪽이 더 높습니다. 서비스는 사용자가 모르는 채로 
+<p>서비스의 수명 주기는 액티비티의 수명 주기보다 훨씬 간단합니다. 하지만, 서비스를 생성하고
+소멸시키는 방법에 특히 주의를 기울여야 한다는 면에서 중요도는 이쪽이 더 높습니다. 서비스는 사용자가 모르는 채로
 배경에서 실행될 수 있기 때문입니다.</p>
 
-<p>서비스 수명 주기&mdash;생성되었을 때부터 소멸될 때까지&mdash;는 두 가지 서로 다른 경로를 
+<p>서비스 수명 주기&mdash;생성되었을 때부터 소멸될 때까지&mdash;는 두 가지 서로 다른 경로를
 따를 수 있습니다.</p>
 
 <ul>
 <li>시작된 서비스
   <p>서비스는 또 다른 구성 요소가 {@link
-android.content.Context#startService startService()}를 호출하면 생성됩니다. 그러면 서비스가 무기한으로 실행될 수 있으며 
+android.content.Context#startService startService()}를 호출하면 생성됩니다. 그러면 서비스가 무기한으로 실행될 수 있으며
 스스로 알아서 중단되어야 합니다. 이때 {@link
-android.app.Service#stopSelf() stopSelf()}를 호출하는 방법을 씁니다. 또 다른 구성 요소도 서비스를 중단시킬 수 
+android.app.Service#stopSelf() stopSelf()}를 호출하는 방법을 씁니다. 또 다른 구성 요소도 서비스를 중단시킬 수
 있습니다. {@link android.content.Context#stopService
 stopService()}를 호출하면 됩니다. 서비스가 중단되면 시스템이 이를 소멸시킵니다.</p></li>
 
 <li>바인딩된 서비스
   <p>서비스는 또 다른 구성 요소(클라이언트)가 {@link
-android.content.Context#bindService bindService()}를 호출하면 생성됩니다. 그러면 클라이언트가 
-{@link android.os.IBinder} 인터페이스를 통해 서비스와 통신을 주고받을 수 있습니다. 클라이언트가 연결을 종료하려면 
-{@link android.content.Context#unbindService unbindService()}를 호출하면 됩니다. 여러 클라이언트가 같은 서비스에 
-바인딩될 수 있으며, 이 모두가 바인딩을 해제하면 시스템이 해당 서비스를 소멸시킵니다 (서비스가 스스로를 중단시키지 
+android.content.Context#bindService bindService()}를 호출하면 생성됩니다. 그러면 클라이언트가
+{@link android.os.IBinder} 인터페이스를 통해 서비스와 통신을 주고받을 수 있습니다. 클라이언트가 연결을 종료하려면
+{@link android.content.Context#unbindService unbindService()}를 호출하면 됩니다. 여러 클라이언트가 같은 서비스에
+바인딩될 수 있으며, 이 모두가 바인딩을 해제하면 시스템이 해당 서비스를 소멸시킵니다 (서비스가 스스로를 중단시키지
 <em>않아도</em> 됩니다).</p></li>
 </ul>
 
-<p>이와 같은 두 가지 경로는 완전히 별개의 것은 아닙니다. 다시 말해, 이미 
-{@link android.content.Context#startService startService()}로 시작된 서비스에 바인딩할 수도 있다는 뜻입니다. 예를 
+<p>이와 같은 두 가지 경로는 완전히 별개의 것은 아닙니다. 다시 말해, 이미
+{@link android.content.Context#startService startService()}로 시작된 서비스에 바인딩할 수도 있다는 뜻입니다. 예를
 들어, 배경 음악 서비스를 시작하려면 {@link android.content.Context#startService
-startService()}를 호출하되 재생할 음악을 식별하는 {@link android.content.Intent}를 사용하면 됩니다. 나중에, 
-아마도 사용자가 플레이어에 좀 더 많은 통제권을 발휘하고자 하거나 
+startService()}를 호출하되 재생할 음악을 식별하는 {@link android.content.Intent}를 사용하면 됩니다. 나중에,
+아마도 사용자가 플레이어에 좀 더 많은 통제권을 발휘하고자 하거나
 현재 노래에 대한 정보를 얻고자 할 때, 액티비티가 서비스에 바인딩될 수 있습니다. {@link
 android.content.Context#bindService bindService()}를 사용하면 됩니다. 이런 경우에는 {@link
 android.content.Context#stopService stopService()} 또는 {@link android.app.Service#stopSelf
@@ -702,8 +702,8 @@
 
 <h3 id="LifecycleCallbacks">수명 주기 콜백 구현하기</h3>
 
-<p>액티비티와 마찬가지로 서비스에도 수명 주기 콜백 메서드가 있어 이를 구현하면 서비스의 
-상태 변경 내용을 모니터링할 수 있고 적절한 시기에 작업을 수행할 수 있습니다. 다음의 골격 
+<p>액티비티와 마찬가지로 서비스에도 수명 주기 콜백 메서드가 있어 이를 구현하면 서비스의
+상태 변경 내용을 모니터링할 수 있고 적절한 시기에 작업을 수행할 수 있습니다. 다음의 골격
 서비스는 각 수명 주기 메서드를 설명한 것입니다.</p>
 
 <pre>
@@ -743,13 +743,13 @@
 }
 </pre>
 
-<p class="note"><strong>참고:</strong> 액티비티 수명 주기 콜백 메서드와는 달리 이와 같은 콜백 메서드를 구현하는 데에는 
+<p class="note"><strong>참고:</strong> 액티비티 수명 주기 콜백 메서드와는 달리 이와 같은 콜백 메서드를 구현하는 데에는
 슈퍼클래스 구현을 호출하지 <em>않아도</em> 됩니다.</p>
 
 <img src="{@docRoot}images/service_lifecycle.png" alt="" />
-<p class="img-caption"><strong>그림 2.</strong> 서비스 수명 주기입니다. 왼쪽의 다이어그램은 
+<p class="img-caption"><strong>그림 2.</strong> 서비스 수명 주기입니다. 왼쪽의 다이어그램은
 서비스가 {@link android.content.Context#startService
-startService()}로 생성된 경우의 수명 주기를 나타내며 오른쪽의 다이어그램은 서비스가 
+startService()}로 생성된 경우의 수명 주기를 나타내며 오른쪽의 다이어그램은 서비스가
 {@link android.content.Context#bindService bindService()}로 생성된 경우의 수명 주기를 나타낸 것입니다.</p>
 
 <p>이와 같은 메서드를 구현함으로써, 서비스 수명 주기의 두 가지 중첩된 루프를 모니터링할 수 있습니다. </p>
@@ -757,20 +757,20 @@
 <ul>
 <li>서비스의 <strong>수명 주기 전체</strong>는 {@link
 android.app.Service#onCreate onCreate()}가 호출된 시점과 {@link
-android.app.Service#onDestroy}가 반환된 시점 사이에 일어납니다. 액티비티와 마찬가지로 서비스는 자신의 초기 설정을 
+android.app.Service#onDestroy}가 반환된 시점 사이에 일어납니다. 액티비티와 마찬가지로 서비스는 자신의 초기 설정을
 {@link android.app.Service#onCreate onCreate()}에서 수행하며 남은 리소스를 모두 {@link
-android.app.Service#onDestroy onDestroy()}에 릴리스합니다.  예를 들어 
+android.app.Service#onDestroy onDestroy()}에 릴리스합니다.  예를 들어
 음악 재생 서비스의 경우 음악이 재생될 스레드를 {@link
 android.app.Service#onCreate onCreate()}로 생성하고, 그럼 다음 해당 스레드를 중단할 때에는 {@link
 android.app.Service#onDestroy onDestroy()}에서 할 수도 있습니다.
 
 <p>{@link android.app.Service#onCreate onCreate()}와 {@link android.app.Service#onDestroy
-onDestroy()} 메서드는 모든 서비스에 대해 호출됩니다. 이는 서비스가 
+onDestroy()} 메서드는 모든 서비스에 대해 호출됩니다. 이는 서비스가
 {@link android.content.Context#startService startService()}로 생성되었든 {@link
 android.content.Context#bindService bindService()}로 생성되었든 관계 없이 적용됩니다.</p></li>
 
 <li>서비스의 <strong>활성 수명 주기</strong>는 {@link
-android.app.Service#onStartCommand onStartCommand()} 또는 {@link android.app.Service#onBind onBind()}로의 호출과 함께 시작됩니다. 
+android.app.Service#onStartCommand onStartCommand()} 또는 {@link android.app.Service#onBind onBind()}로의 호출과 함께 시작됩니다.
 각 메서드에 {@link
 android.content.Intent}가 전달되는데 이것은 각각 {@link android.content.Context#startService
 startService()} 또는 {@link android.content.Context#bindService bindService()} 중 하나에 전달된 것입니다.
@@ -781,25 +781,25 @@
 </li>
 </ul>
 
-<p class="note"><strong>참고:</strong> 시작된 서비스를 중단하려면 
+<p class="note"><strong>참고:</strong> 시작된 서비스를 중단하려면
 {@link android.app.Service#stopSelf stopSelf()} 또는 {@link
-android.content.Context#stopService stopService()}를 호출하면 되지만, 서비스에 대한 상응하는 콜백은 
-없습니다(즉 {@code onStop()} 콜백이 없습니다). 그러므로, 서비스가 클라이언트에 바인딩되어 있지 않은 한 
+android.content.Context#stopService stopService()}를 호출하면 되지만, 서비스에 대한 상응하는 콜백은
+없습니다(즉 {@code onStop()} 콜백이 없습니다). 그러므로, 서비스가 클라이언트에 바인딩되어 있지 않은 한
 시스템은 서비스가 중단되면 이를 소멸시킵니다. 수신되는 콜백은 {@link
 android.app.Service#onDestroy onDestroy()}가 유일합니다.</p>
 
-<p>그림 2는 서비스에 대한 일반적인 콜백 메서드를 나타낸 것입니다. 이 그림에서는 
-{@link android.content.Context#startService startService()}로 생성된 서비스와 
-{@link android.content.Context#bindService bindService()}로 생성된 서비스를 
+<p>그림 2는 서비스에 대한 일반적인 콜백 메서드를 나타낸 것입니다. 이 그림에서는
+{@link android.content.Context#startService startService()}로 생성된 서비스와
+{@link android.content.Context#bindService bindService()}로 생성된 서비스를
 구분하고 있지만, 어떤 식으로 시작되었든 모든 서비스는 클라이언트가 자신에 바인딩되도록 허용할 수 있다는 점을 명심하십시오.
 말하자면, {@link android.app.Service#onStartCommand
-onStartCommand()}로 처음 시작된 서비스(클라이언트가 {@link android.content.Context#startService startService()}를 호출해서)라고 해도 
-여전히 {@link android.app.Service#onBind onBind()}로의 호출을 받을 수 있습니다(클라이언트가 
+onStartCommand()}로 처음 시작된 서비스(클라이언트가 {@link android.content.Context#startService startService()}를 호출해서)라고 해도
+여전히 {@link android.app.Service#onBind onBind()}로의 호출을 받을 수 있습니다(클라이언트가
 {@link android.content.Context#bindService bindService()}를 호출하는 경우).</p>
 
 <p>바인딩을 제공하는 서비스 생성에 대한 자세한 내용은 <a href="{@docRoot}guide/components/bound-services.html">바인딩된 서비스</a> 문서를 참조하십시오. 이 안에는 {@link android.app.Service#onRebind onRebind()}
-콜백 메서드에 대한 자세한 정보가 <a href="{@docRoot}guide/components/bound-services.html#Lifecycle">바인딩된 서비스의 
-수명 주기 관리</a>에 관한 섹션에 
+콜백 메서드에 대한 자세한 정보가 <a href="{@docRoot}guide/components/bound-services.html#Lifecycle">바인딩된 서비스의
+수명 주기 관리</a>에 관한 섹션에
 담겨 있습니다.</p>
 
 
diff --git a/docs/html-intl/intl/ko/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/ko/guide/components/tasks-and-back-stack.jd
index 6b896f9..166cedd 100644
--- a/docs/html-intl/intl/ko/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/ko/guide/components/tasks-and-back-stack.jd
@@ -37,23 +37,23 @@
 </div>
 
 
-<p>하나의 애플리케이션에는 보통 여러 개의 <a href="{@docRoot}guide/components/activities.html">액티비티</a>가 들어있습니다. 각 액티비티는 
-사용자가 수행할 수 있는 특정한 종류의 작업을 중심으로 디자인되어야 하며 다른 액티비티를 
+<p>하나의 애플리케이션에는 보통 여러 개의 <a href="{@docRoot}guide/components/activities.html">액티비티</a>가 들어있습니다. 각 액티비티는
+사용자가 수행할 수 있는 특정한 종류의 작업을 중심으로 디자인되어야 하며 다른 액티비티를
 시작할 수 있는 기능이 있습니다. 예를 들어 이메일 애플리케이션에는 새 메시지 목록을 표시하는 하나의 액티비티가 있을 수 있습니다.
 사용자가 메시지를 하나 선택하면, 새 액티비티가 열려 해당 메시지를 볼 수 있게 합니다.</p>
 
-<p>액티비티는 기기에서 다른 애플리케이션에 존재하는 액티비티를 시작할 수도 있습니다. 예를 들어 
-애플리케이션이 이메일 메시지를 보내고자 하는 경우, "전송" 작업을 수행할 인텐트를 
-정의하여 이메일 주소와 메시지 등의 몇 가지 데이터를 포함시키면 됩니다. 그러면 다른 애플리케이션에서 가져온 액티비티 중 
-이러한 종류의 인텐트를 처리한다고 스스로 선언한 것이 열립니다. 이 경우, 이 인텐트는 
-이메일을 전송하기 위한 것이므로 이메일 애플리케이션의 "작성" 액티비티가 시작됩니다(같은 인텐트를 
-지원하는 액티비티가 여러 개 있는 경우, 시스템은 사용자에게 어느 것을 사용할지 선택하도록 합니다). 이메일이 전송되면 
-액티비티가 재개되고 해당 이메일 액티비티가 애플리케이션의 일부였던 것처럼 보입니다. 액티비티는 
-서로 다른 애플리케이션에서 온 것일 수 있지만, Android는 두 액티비티를 
+<p>액티비티는 기기에서 다른 애플리케이션에 존재하는 액티비티를 시작할 수도 있습니다. 예를 들어
+애플리케이션이 이메일 메시지를 보내고자 하는 경우, "전송" 작업을 수행할 인텐트를
+정의하여 이메일 주소와 메시지 등의 몇 가지 데이터를 포함시키면 됩니다. 그러면 다른 애플리케이션에서 가져온 액티비티 중
+이러한 종류의 인텐트를 처리한다고 스스로 선언한 것이 열립니다. 이 경우, 이 인텐트는
+이메일을 전송하기 위한 것이므로 이메일 애플리케이션의 "작성" 액티비티가 시작됩니다(같은 인텐트를
+지원하는 액티비티가 여러 개 있는 경우, 시스템은 사용자에게 어느 것을 사용할지 선택하도록 합니다). 이메일이 전송되면
+액티비티가 재개되고 해당 이메일 액티비티가 애플리케이션의 일부였던 것처럼 보입니다. 액티비티는
+서로 다른 애플리케이션에서 온 것일 수 있지만, Android는 두 액티비티를
 모두 같은 <em>작업</em> 안에 유지하여 이처럼 막힘 없는 사용자 환경을 유지합니다.</p>
 
-<p>작업이란 액티비티 컬렉션을 일컫는 말로, 사용자가 특정 작업을 수행할 때 이것과 
-상호 작용합니다. 액티비티는 스택 안에 정렬되며(<em>백 스택</em>), 이때 
+<p>작업이란 액티비티 컬렉션을 일컫는 말로, 사용자가 특정 작업을 수행할 때 이것과
+상호 작용합니다. 액티비티는 스택 안에 정렬되며(<em>백 스택</em>), 이때
 순서는 각 액티비티가 열린 순서와 같습니다.</p>
 
 <!-- SAVE FOR WHEN THE FRAGMENT DOC IS ADDED
@@ -77,40 +77,40 @@
 </div>
 -->
 
-<p>기기 메인 스크린이 대다수 작업의 시작 지점입니다. 사용자가 
-애플리케이션 
-시작 관리자에 있는 아이콘(또는 메인 스크린의 바로 가기)을 터치하면 해당 애플리케이션의 작업이 전경으로 나옵니다. 해당 애플리케이션에 대한 
-작업이 존재하지 않으면(이 애플리케이션을 최근에 사용한 적이 없는 경우), 새 작업이 생성되고 
+<p>기기 메인 스크린이 대다수 작업의 시작 지점입니다. 사용자가
+애플리케이션
+시작 관리자에 있는 아이콘(또는 메인 스크린의 바로 가기)을 터치하면 해당 애플리케이션의 작업이 전경으로 나옵니다. 해당 애플리케이션에 대한
+작업이 존재하지 않으면(이 애플리케이션을 최근에 사용한 적이 없는 경우), 새 작업이 생성되고
 해당 애플리케이션의 "기본" 액티비티가 스택에 있는 루트 액티비티로 열립니다.</p>
 
-<p>현재 액티비티가 또 다른 액티비티를 시작하는 경우, 새 액티비티가 스택의 맨 위로 밀어올려지고 
-사용자의 초점이 이에 맞춰집니다. 이전 액티비티는 스택에 유지되지만, 중단됩니다. 액티비티가 중단되면 
-시스템은 이 액티비티의 사용자 인터페이스의 현재 상태를 보존합니다. 사용자가 
+<p>현재 액티비티가 또 다른 액티비티를 시작하는 경우, 새 액티비티가 스택의 맨 위로 밀어올려지고
+사용자의 초점이 이에 맞춰집니다. 이전 액티비티는 스택에 유지되지만, 중단됩니다. 액티비티가 중단되면
+시스템은 이 액티비티의 사용자 인터페이스의 현재 상태를 보존합니다. 사용자가
 <em>뒤로</em>
- 버튼을 누르면, 현재 액티비티가 스택의 맨 위에서 튀어나오고(해당 액티비티는 소멸됩니다) 
-이전 액티비티가 재개됩니다(이것의 UI 이전 상태가 복원됩니다). 스택에 있는 액티비티는 
-결코 다시 정렬되지 않습니다. 다만 스택에서 밀어올려지거나 튀어나올 뿐입니다. 즉, 현재 액티비티에 의해 
-시작되면 스택 위로 밀어올려지고, 사용자가 <em>뒤로</em> 버튼을 사용하여 액티비티를 떠나면 튀어나와 사라지는 것입니다. 따라서, 
-백 스택은 
-일종의 "후입선출" 객체 구조로서 작동한다고 할 수 있습니다. 그림 1은 
-이 행동을 시간 표시 막대와 함께 표시하여 여러 액티비티 사이의 진행률을 보여주며, 
+ 버튼을 누르면, 현재 액티비티가 스택의 맨 위에서 튀어나오고(해당 액티비티는 소멸됩니다)
+이전 액티비티가 재개됩니다(이것의 UI 이전 상태가 복원됩니다). 스택에 있는 액티비티는
+결코 다시 정렬되지 않습니다. 다만 스택에서 밀어올려지거나 튀어나올 뿐입니다. 즉, 현재 액티비티에 의해
+시작되면 스택 위로 밀어올려지고, 사용자가 <em>뒤로</em> 버튼을 사용하여 액티비티를 떠나면 튀어나와 사라지는 것입니다. 따라서,
+백 스택은
+일종의 "후입선출" 객체 구조로서 작동한다고 할 수 있습니다. 그림 1은
+이 행동을 시간 표시 막대와 함께 표시하여 여러 액티비티 사이의 진행률을 보여주며,
 각 시점에서 현재 백 스택의 모습을 나타낸 것입니다.</p>
 
 <img src="{@docRoot}images/fundamentals/diagram_backstack.png" alt="" />
-<p class="img-caption"><strong>그림 1.</strong> 작업에 있는 각각의 새 액티비티가 백 스택에 항목을 추가하는 
-방법을 나타낸 것입니다. 사용자가 <em>뒤로</em> 버튼을 누르면 현재 
-액티비티가 
+<p class="img-caption"><strong>그림 1.</strong> 작업에 있는 각각의 새 액티비티가 백 스택에 항목을 추가하는
+방법을 나타낸 것입니다. 사용자가 <em>뒤로</em> 버튼을 누르면 현재
+액티비티가
 소멸되고 이전 액티비티가 재개됩니다.</p>
 
 
-<p>사용자가 계속해서 <em>뒤로</em> 버튼을 누르면, 스택에 있는 각 액티비티가 하나씩 튀어나가 
-이전 것을 
-드러내고, 마침내는 사용자가 메인 스크린으로 되돌아가게 됩니다(아니면 작업이 시작되었을 때 
+<p>사용자가 계속해서 <em>뒤로</em> 버튼을 누르면, 스택에 있는 각 액티비티가 하나씩 튀어나가
+이전 것을
+드러내고, 마침내는 사용자가 메인 스크린으로 되돌아가게 됩니다(아니면 작업이 시작되었을 때
 실행 중이던 액티비티가 무엇이든 그것으로 되돌아갑니다). 스택에서 모든 액티비티가 제거되면 이 작업은 더 이상 존재하지 않게 됩니다.</p>
 
 <div class="figure" style="width:287px">
 <img src="{@docRoot}images/fundamentals/diagram_multitasking.png" alt="" /> <p
-class="img-caption"><strong>그림 2.</strong> 두 개의 작업: 작업 B가 전경에서 사용자 상호 작용을 수신하는 한편, 
+class="img-caption"><strong>그림 2.</strong> 두 개의 작업: 작업 B가 전경에서 사용자 상호 작용을 수신하는 한편,
 작업 A는 배경에서 재개되기를 기다립니다.</p>
 </div>
 <div class="figure" style="width:215px">
@@ -118,39 +118,39 @@
 class="img-caption"><strong>그림 3.</strong> 하나의 액티비티가 여러 번 인스턴트화됩니다.</p>
 </div>
 
-<p>작업이란 하나의 잘 짜여진 단위로 사용자가 새 작업을 시작할 때 "배경"으로 이동할 수도 있고 
-<em>홈</em> 버튼을 통해 메인 스크린으로 이동할 수도 있습니다. 작업의 모든 액티비티는 배경에 있는 동안은 
+<p>작업이란 하나의 잘 짜여진 단위로 사용자가 새 작업을 시작할 때 "배경"으로 이동할 수도 있고
+<em>홈</em> 버튼을 통해 메인 스크린으로 이동할 수도 있습니다. 작업의 모든 액티비티는 배경에 있는 동안은
 중단되지만
-, 해당 작업에 대한 백 스택은 그대로 변함 없이 유지됩니다. 이 작업은 또 다른 작업이 발생하는 동안 
-초점을 잃을 뿐입니다(그림 2 참조). 그런 다음 작업이 "전경"으로 되돌아와 사용자가 
-이전에 하던 일을 계속할 수 있습니다. 예를 들어 현재 작업(작업 A)의 스택에 세 개의 액티비티가 있다고 
+, 해당 작업에 대한 백 스택은 그대로 변함 없이 유지됩니다. 이 작업은 또 다른 작업이 발생하는 동안
+초점을 잃을 뿐입니다(그림 2 참조). 그런 다음 작업이 "전경"으로 되돌아와 사용자가
+이전에 하던 일을 계속할 수 있습니다. 예를 들어 현재 작업(작업 A)의 스택에 세 개의 액티비티가 있다고
 가정하면 그 중 둘은 현재 액티비티 아래에 있습니다. 사용자가 <em>홈</em>
- 버튼을 누른 다음 
-애플리케이션 시작 관리자로부터 새 애플리케이션을 시작합니다. 메인 스크린이 나타나면 작업 A는 
+ 버튼을 누른 다음
+애플리케이션 시작 관리자로부터 새 애플리케이션을 시작합니다. 메인 스크린이 나타나면 작업 A는
 배경으로 이동합니다. 새 애플리케이션이 시작되면 시스템은 해당 애플리케이션에 대한 작업을 시작하며
-(작업 B) 여기에는 나름의 액티비티 스택이 딸려 있습니다. 해당 애플리케이션과 
-상호 작용한 후, 사용자는 다시 홈으로 돌아와 원래 작업 A를 시작한 
+(작업 B) 여기에는 나름의 액티비티 스택이 딸려 있습니다. 해당 애플리케이션과
+상호 작용한 후, 사용자는 다시 홈으로 돌아와 원래 작업 A를 시작한
 애플리케이션을 선택합니다. 이제 작업 A가 전경으로 옵니다.
-이 스택에 있는 액티비티 세 개는 모두 멀쩡하고, 스택 맨 위에 있는 액티비티가 
-재개됩니다. 이 시점에서 
-사용자는 작업 B로 도로 전환할 수도 있습니다. 홈으로 이동하여 해당 작업을 
-시작한 애플리케이션 아이콘을 선택하면 됩니다(아니면 
-<a href="{@docRoot}guide/components/recents.html">개요 화면</a>에서 해당 앱의 작업을 선택해도 됩니다). 
+이 스택에 있는 액티비티 세 개는 모두 멀쩡하고, 스택 맨 위에 있는 액티비티가
+재개됩니다. 이 시점에서
+사용자는 작업 B로 도로 전환할 수도 있습니다. 홈으로 이동하여 해당 작업을
+시작한 애플리케이션 아이콘을 선택하면 됩니다(아니면
+<a href="{@docRoot}guide/components/recents.html">개요 화면</a>에서 해당 앱의 작업을 선택해도 됩니다).
 이것이 Android에서 멀티태스킹을 하는 작업의 예시입니다.</p>
 
-<p class="note"><strong>참고:</strong> 여러 개의 작업을 배경에 한꺼번에 대기시킬 수 있습니다. 
-하지만, 사용자가 수많은 배경 작업을 동시에 실행하면 시스템이 메모리를 복원하기 위해 
-배경 액티비티를 소멸시키기 시작할 수 있고, 그러면 액티비티 상태가 손실됩니다. 
+<p class="note"><strong>참고:</strong> 여러 개의 작업을 배경에 한꺼번에 대기시킬 수 있습니다.
+하지만, 사용자가 수많은 배경 작업을 동시에 실행하면 시스템이 메모리를 복원하기 위해
+배경 액티비티를 소멸시키기 시작할 수 있고, 그러면 액티비티 상태가 손실됩니다.
 다음의 <a href="#ActivityState">액티비티 상태</a>에 관한 섹션을 참조하십시오.</p>
 
-<p>백 스택에 있는 액티비티는 결코 다시 정렬되지 않으므로, 애플리케이션에서 
-사용자에게 하나 이상의 액티비티로부터 특정 액티비티를 시작하도록 허용하는 경우, 해당 액티비티의 새 인스턴스가 
-생성되어 스택 위로 밀려옵니다(해당 액티비티의 기존 인스턴스를 
-맨 위로 가져오는 대신). 따라서, 애플리케이션 안의 한 액티비티가 여러 번 
-인스턴트화될 수 있으며(서로 다른 작업으로부터도 가능), 이를 나타낸 것이 그림 3입니다. 이 때문에 사용자가 
+<p>백 스택에 있는 액티비티는 결코 다시 정렬되지 않으므로, 애플리케이션에서
+사용자에게 하나 이상의 액티비티로부터 특정 액티비티를 시작하도록 허용하는 경우, 해당 액티비티의 새 인스턴스가
+생성되어 스택 위로 밀려옵니다(해당 액티비티의 기존 인스턴스를
+맨 위로 가져오는 대신). 따라서, 애플리케이션 안의 한 액티비티가 여러 번
+인스턴트화될 수 있으며(서로 다른 작업으로부터도 가능), 이를 나타낸 것이 그림 3입니다. 이 때문에 사용자가
 <em>뒤로</em> 버튼을 사용하여 뒤로 이동하는 경우, 액티비티의 각 인스턴스가 열린 순서대로 드러납니다
-(각자 나름의 
-UI 상태를 가지고). 다만, 액티비티가 한 번 이상 인스턴트화되는 것을 원치 않으면 이 행동은 수정할 수 
+(각자 나름의
+UI 상태를 가지고). 다만, 액티비티가 한 번 이상 인스턴트화되는 것을 원치 않으면 이 행동은 수정할 수
 있습니다. 그 방법에 대해서는 <a href="#ManagingTasks">작업 관리하기</a>에 관한 이후 섹션에서 이야기합니다.</p>
 
 
@@ -159,16 +159,16 @@
 <ul>
   <li>액티비티 A가 액티비티 B를 시작하면 액티비티 A는 중단되지만, 시스템이 그 상태를
 (예: 스크롤 위치 및 양식에 입력된 텍스트 등) 보존합니다.
-사용자가 액티비티 B에 있는 동안 <em>뒤로</em> 버튼을 누르면 액티비티 A가 재개되며 상태도 
+사용자가 액티비티 B에 있는 동안 <em>뒤로</em> 버튼을 누르면 액티비티 A가 재개되며 상태도
 복원됩니다.</li>
-  <li>사용자가 <em>홈</em> 버튼을 눌러 작업을 떠나면 현재 액티비티가 
-중단되고 
-그 소속 작업이 배경으로 들어갑니다. 시스템은 작업에 속한 모든 액티비티의 상태를 보존합니다. 사용자가 
-나중에 작업을 시작한 시작 관리자 아이콘을 선택하여 해당 작업을 재개하면, 그 작업이 
+  <li>사용자가 <em>홈</em> 버튼을 눌러 작업을 떠나면 현재 액티비티가
+중단되고
+그 소속 작업이 배경으로 들어갑니다. 시스템은 작업에 속한 모든 액티비티의 상태를 보존합니다. 사용자가
+나중에 작업을 시작한 시작 관리자 아이콘을 선택하여 해당 작업을 재개하면, 그 작업이
 전경으로 나오고 스택 맨 위에서 액티비티를 재개합니다.</li>
-  <li>사용자가 <em>뒤로</em> 버튼을 누르면, 현재 액티비티가 스택에서 튀어나오고 
+  <li>사용자가 <em>뒤로</em> 버튼을 누르면, 현재 액티비티가 스택에서 튀어나오고
 소멸됩니다.
- 스택에 있던 이전 액티비티가 재개됩니다. 액티비티가 소멸되면, 시스템은 그 액티비티의 상태를 
+ 스택에 있던 이전 액티비티가 재개됩니다. 액티비티가 소멸되면, 시스템은 그 액티비티의 상태를
 보존하지 <em>않습니다.</em></li>
   <li>액티비티는 여러 번 인스턴트화할 수 있으며, 다른 작업에서도 이를 수행할 수 있습니다.</li>
 </ul>
@@ -182,20 +182,20 @@
 
 <h2 id="ActivityState">액티비티 상태 저장하기</h2>
 
-<p>위에서 논한 바와 같이, 시스템의 기본 행동은 액티비티가 중단되면 그 상태를 보존해두는 
-것입니다. 이렇게 하면, 사용자가 이전 액티비티로 도로 이동했을 때 그에 속한 사용자 인터페이스가 이전 상태 
+<p>위에서 논한 바와 같이, 시스템의 기본 행동은 액티비티가 중단되면 그 상태를 보존해두는
+것입니다. 이렇게 하면, 사용자가 이전 액티비티로 도로 이동했을 때 그에 속한 사용자 인터페이스가 이전 상태
 그대로 표시됩니다. 그러나 액티비티의 상태를 미리 보존할 수도 있으며 사전에 이렇게 <strong>해야 합니다.</strong>
-이때에는, 액티비티가 소멸되고 다시 만들어야 하는 경우를 대비해 
+이때에는, 액티비티가 소멸되고 다시 만들어야 하는 경우를 대비해
 콜백 메서드를 사용합니다.</p>
 
-<p>시스템이 액티비티 중 하나를 중단시키는 경우(예를 들어 새 액티비티가 시작되었을 때 또는 작업이 
-배경으로 이동하는 경우), 시스템은 시스템 메모리를 회복해야 하는 경우 액티비티를 
-완전히 소멸시켜버릴 수도 있습니다. 이런 상황이 벌어지면, 액티비티 상태에 대한 정보는 손실됩니다. 이런 일이 벌어지더라도, 
-시스템은 여전히 
-백 스택에 해당 액티비티의 자리가 있다는 것을 알고 있습니다. 다만 액티비티가 스택 맨 위로 올라오면 
-시스템이 이를 (재개하는 것이 아니라) 재생성해야만 합니다. 사용자의 작업 내용을 
-잃어버리는 불상사를 피하려면 그 내용을 미리 보존해두어야 합니다. 이때 액티비티의 
-{@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 콜백 
+<p>시스템이 액티비티 중 하나를 중단시키는 경우(예를 들어 새 액티비티가 시작되었을 때 또는 작업이
+배경으로 이동하는 경우), 시스템은 시스템 메모리를 회복해야 하는 경우 액티비티를
+완전히 소멸시켜버릴 수도 있습니다. 이런 상황이 벌어지면, 액티비티 상태에 대한 정보는 손실됩니다. 이런 일이 벌어지더라도,
+시스템은 여전히
+백 스택에 해당 액티비티의 자리가 있다는 것을 알고 있습니다. 다만 액티비티가 스택 맨 위로 올라오면
+시스템이 이를 (재개하는 것이 아니라) 재생성해야만 합니다. 사용자의 작업 내용을
+잃어버리는 불상사를 피하려면 그 내용을 미리 보존해두어야 합니다. 이때 액티비티의
+{@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 콜백
 메서드를 구현하는 방법을 씁니다.</p>
 
 <p>액티비티 상태를 저장하는 방법에 대한 자세한 정보는 <a href="{@docRoot}guide/components/activities.html#SavingActivityState">액티비티</a>
@@ -205,19 +205,19 @@
 
 <h2 id="ManagingTasks">작업 관리하기</h2>
 
-<p>Android가 작업과 백 스택을 관리하는 방식은 위에 설명된 바와 같고&mdash;같은 작업 안에서 
-연이어 시작된 모든 작업을 한곳에 배치하되 "후입선출" 스택에 두는 것&mdash;이 방식은 
-대부분의 애플리케이션에 아주 효과적입니다. 여러분은 액티비티가 작업과 연관된 방식이나 
-백 스택에서의 존재 방식에 대해 염려하지 않아도 됩니다. 그러나, 정상적인 동작을 인터럽트하기로 결정할 수도 
-있습니다. 애플리케이션의 액티비티 하나가 시작되면 새 작업을 시작하려 
-할 수도 있습니다(현재 작업 내에 배치되는 것 대신에). 아니면, 액티비티를 시작하면 그것의 
-기존 인스턴스 하나를 앞으로 가져오고자 할 수도 있습니다(백 스택 맨 위에서 새 인스턴스를 
-생성하는 것 대신에). 또는 백 스택에서 사용자가 작업을 떠날 때의 루트 액티비티를 제외하고 
+<p>Android가 작업과 백 스택을 관리하는 방식은 위에 설명된 바와 같고&mdash;같은 작업 안에서
+연이어 시작된 모든 작업을 한곳에 배치하되 "후입선출" 스택에 두는 것&mdash;이 방식은
+대부분의 애플리케이션에 아주 효과적입니다. 여러분은 액티비티가 작업과 연관된 방식이나
+백 스택에서의 존재 방식에 대해 염려하지 않아도 됩니다. 그러나, 정상적인 동작을 인터럽트하기로 결정할 수도
+있습니다. 애플리케이션의 액티비티 하나가 시작되면 새 작업을 시작하려
+할 수도 있습니다(현재 작업 내에 배치되는 것 대신에). 아니면, 액티비티를 시작하면 그것의
+기존 인스턴스 하나를 앞으로 가져오고자 할 수도 있습니다(백 스택 맨 위에서 새 인스턴스를
+생성하는 것 대신에). 또는 백 스택에서 사용자가 작업을 떠날 때의 루트 액티비티를 제외하고
 모든 액티비티를 지우고자 할 수도 있습니다.</p>
 
-<p>이 모든 것과 그 외에도 많은 것을 할 수 있는 것이 바로 
+<p>이 모든 것과 그 외에도 많은 것을 할 수 있는 것이 바로
 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>
-매니페스트 요소 안에 있는 속성과, 
+매니페스트 요소 안에 있는 속성과,
 {@link android.app.Activity#startActivity startActivity()}에 전달한 인텐트에 있는 플래그입니다.</p>
 
 <p>이런 면에서, 여러분이 사용할 수 있는 주요 <a href="{@docRoot}guide/topics/manifest/activity-element.html">
@@ -246,170 +246,170 @@
   <li>{@link android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP}</li>
 </ul>
 
-<p>다음 섹션에서는 이와 같은 매니페스트 속성과 인텐트 플래그를 사용하여 
+<p>다음 섹션에서는 이와 같은 매니페스트 속성과 인텐트 플래그를 사용하여
 액티비티가 작업과 연관되는 방식을 정의하고 백 스택에서 액티비티가 동작하는 방식을 정의하는 방법을 배우게 됩니다.</p>
 
-<p>이외에도 별도로 작업과 액티비티를 표시하는 방법에 대한 고려 사항과 
-개요 화면에서의 관리 방법을 논합니다. 자세한 정보는 <a href="{@docRoot}guide/components/recents.html">개요 화면</a>을 
-참조하십시오. 보통은 개요 화면에 작업과 액티비티가 어떻게 표현될지는 
+<p>이외에도 별도로 작업과 액티비티를 표시하는 방법에 대한 고려 사항과
+개요 화면에서의 관리 방법을 논합니다. 자세한 정보는 <a href="{@docRoot}guide/components/recents.html">개요 화면</a>을
+참조하십시오. 보통은 개요 화면에 작업과 액티비티가 어떻게 표현될지는
 시스템이 정의하도록 두어야 합니다. 이 동작을 개발자가 수정할 필요도 없습니다.</p>
 
-<p class="caution"><strong>주의:</strong> 대부분의 애플리케이션은 액티비티와 작업에 대한 
-기본 동작을 인터럽트하지 않는 것이 정상입니다. 액티비티가 기본 동작을 수정하는 것이 필요하다는 
-판단이 서면, 시작 과정 중에 액티비티의 유용성을 테스트하십시오. 
+<p class="caution"><strong>주의:</strong> 대부분의 애플리케이션은 액티비티와 작업에 대한
+기본 동작을 인터럽트하지 않는 것이 정상입니다. 액티비티가 기본 동작을 수정하는 것이 필요하다는
+판단이 서면, 시작 과정 중에 액티비티의 유용성을 테스트하십시오.
 또한 다른 액티비티와 작업에서 <em>뒤로</em> 버튼을 써서 해당 액티비티로 돌아올 때에도 유용성을 테스트해야 합니다.
 사용자의 예상되는 동작과 충돌할 가능성이 있는 탐색 동작을 꼭 테스트하십시오.</p>
 
 
 <h3 id="TaskLaunchModes">시작 모드 정의하기</h3>
 
-<p>시작 모드를 사용하면 액티비티의 새 인스턴스가 현재 작업과 연관된 방식을 정의할 수 있게 
+<p>시작 모드를 사용하면 액티비티의 새 인스턴스가 현재 작업과 연관된 방식을 정의할 수 있게
 해줍니다. 여러 가지 시작 모드를 두 가지 방식으로 정의할 수 있습니다.</p>
 <ul class="nolist">
   <li><a href="#ManifestForTasks">매니페스트 파일 사용하기</a>
-    <p>매니페스트 파일에서 액티비티를 선언하는 경우, 액티비티가 시작될 때 여러 작업과 어떤 식으로 
+    <p>매니페스트 파일에서 액티비티를 선언하는 경우, 액티비티가 시작될 때 여러 작업과 어떤 식으로
 연관을 맺어야 하는지 지정할 수 있습니다.</li>
   <li><a href="#IntentFlagsForTasks">인텐트 플래그 사용하기</a>
-    <p>{@link android.app.Activity#startActivity startActivity()}를 호출하는 경우 
-{@link android.content.Intent}에 플래그를 포함시켜 새 액티비티가 현재 작업과 어떻게 연관되어야 할지(또는 
+    <p>{@link android.app.Activity#startActivity startActivity()}를 호출하는 경우
+{@link android.content.Intent}에 플래그를 포함시켜 새 액티비티가 현재 작업과 어떻게 연관되어야 할지(또는
 애초에 연관을 맺을지 아닐지) 선언하도록 할 수 있습니다.</p></li>
 </ul>
 
-<p>따라서, 액티비티 A가 액티비티 B를 시작하면 액티비티 B는 자신의 매니페스트에서 
-현재 작업과 연관을 맺는 데 적당한 방식(연관을 맺어야 한다면)을 정의할 수 있고 액티비티 A 또한 
-액티비티 B가 현재 작업과 연관을 맺는 방식을 요청할 수 있습니다. 두 액티비티가 모두 액티비티 B가 작업과 
-연관되는 방식을 정의하는 경우, 액티비티 A의 요청(인텐트에 정의된 바를 따름)을 액티비티 B의 
+<p>따라서, 액티비티 A가 액티비티 B를 시작하면 액티비티 B는 자신의 매니페스트에서
+현재 작업과 연관을 맺는 데 적당한 방식(연관을 맺어야 한다면)을 정의할 수 있고 액티비티 A 또한
+액티비티 B가 현재 작업과 연관을 맺는 방식을 요청할 수 있습니다. 두 액티비티가 모두 액티비티 B가 작업과
+연관되는 방식을 정의하는 경우, 액티비티 A의 요청(인텐트에 정의된 바를 따름)을 액티비티 B의
 요청(자신의 매니페스트에서 정의)보다 우위로 인식합니다.</p>
 
-<p class="note"><strong>참고:</strong> 매니페스트 파일에 사용할 수 있는 시작 모드 중에는 
-인텐트의 플래그로 사용할 수는 없는 것도 있으며, 이와 마찬 가지로 인텐트의 플래그로 사용할 수 있는 시작 모드 중에는 
+<p class="note"><strong>참고:</strong> 매니페스트 파일에 사용할 수 있는 시작 모드 중에는
+인텐트의 플래그로 사용할 수는 없는 것도 있으며, 이와 마찬 가지로 인텐트의 플래그로 사용할 수 있는 시작 모드 중에는
 매니페스트에서 정의할 수 없는 것도 있습니다.</p>
 
 
 <h4 id="ManifestForTasks">매니페스트 파일 사용하기</h4>
 
-<p>매니페스트 파일에서 액티비티를 선언하는 경우, 액티비티가 작업과 
+<p>매니페스트 파일에서 액티비티를 선언하는 경우, 액티비티가 작업과
 어떤 식으로 연관되어야 할지 지정하려면 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>
 요소의 <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
 launchMode}</a> 속성을 사용하면 됩니다.</p>
 
 <p><a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
-launchMode}</a> 속성은 액티비티가 작업 안으로 들어가며 시작되는 방법에 대한 지침을 
-나타냅니다. 
+launchMode}</a> 속성은 액티비티가 작업 안으로 들어가며 시작되는 방법에 대한 지침을
+나타냅니다.
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">launchMode</a></code>
 속성에 할당할 수 있는 시작 모드는 네 가지가 있습니다.</p>
 
 <dl>
 <dt>{@code "standard"} (기본 모드)</dt>
-  <dd>기본입니다. 시스템이 액티비티가 시작된 작업에서 액티비티의 새 인스턴스를 만들고 
-인텐트의 경로를 이것으로 지정합니다. 액티비티는 여러 번 인스턴트화될 수 있고, 
+  <dd>기본입니다. 시스템이 액티비티가 시작된 작업에서 액티비티의 새 인스턴스를 만들고
+인텐트의 경로를 이것으로 지정합니다. 액티비티는 여러 번 인스턴트화될 수 있고,
 각 인스턴스는 서로 다른 작업에 속할 수 있으며 한 작업에 여러 개의 인스턴스가 있을 수 있습니다.</dd>
 <dt>{@code "singleTop"}</dt>
-  <dd>액티비티의 인스턴스가 이미 현재 작업의 맨 위에 존재하는 경우, 시스템은 인텐트의 경로를 
+  <dd>액티비티의 인스턴스가 이미 현재 작업의 맨 위에 존재하는 경우, 시스템은 인텐트의 경로를
 해당 인스턴스로 지정합니다. 이때 액티비티의 새 인스턴스를 만들기보다는 해당 인스턴스의 {@link
-android.app.Activity#onNewIntent onNewIntent()} 메서드를 호출하는 방법을 
-통합니다. 액티비티는 여러 번 인스턴트화될 수 있고, 각 인스턴스는 서로 다른 작업에 
-속할 수 있으며 한 작업에 여러 개의 인스턴스가 있을 수 있습니다(다만 백 스택의 맨 위에 있는 
+android.app.Activity#onNewIntent onNewIntent()} 메서드를 호출하는 방법을
+통합니다. 액티비티는 여러 번 인스턴트화될 수 있고, 각 인스턴스는 서로 다른 작업에
+속할 수 있으며 한 작업에 여러 개의 인스턴스가 있을 수 있습니다(다만 백 스택의 맨 위에 있는
 액티비티가 액티비티의 기존 인스턴스가 <em>아닌</em> 경우에만 이것이 적용됩니다).
-  <p>예를 들어 어느 작업의 백 스택이 루트 액티비티 A와 액티비티 B, C, 그리고 맨 위의 액티비티 D로 
+  <p>예를 들어 어느 작업의 백 스택이 루트 액티비티 A와 액티비티 B, C, 그리고 맨 위의 액티비티 D로
 구성되어 있다고 가정합니다(이 스택은 A-B-C-D 형태를 띠며 D가 맨 위에 있습니다). 유형 D의 액티비티에 대한 인텐트가 도착합니다.
-D에 기본 {@code "standard"} 시작 모드가 있는 경우, 클래스의 새 인스턴스가 시작되고 이 스택은 
-A-B-C-D-D가 됩니다. 하지만, D의 시작 모드가 {@code "singleTop"}인 경우, D의 
+D에 기본 {@code "standard"} 시작 모드가 있는 경우, 클래스의 새 인스턴스가 시작되고 이 스택은
+A-B-C-D-D가 됩니다. 하지만, D의 시작 모드가 {@code "singleTop"}인 경우, D의
 기존 인스턴스가 해당 인텐트를 {@link
-android.app.Activity#onNewIntent onNewIntent()}를 통해 받게 됩니다. 이것이 스택의 맨 위에 있기 때문입니다. 스택은 
-계속 A-B-C-D로 유지됩니다. 그러나 유형 B의 액티비티에 대한 인텐트가 도착하는 경우, 
+android.app.Activity#onNewIntent onNewIntent()}를 통해 받게 됩니다. 이것이 스택의 맨 위에 있기 때문입니다. 스택은
+계속 A-B-C-D로 유지됩니다. 그러나 유형 B의 액티비티에 대한 인텐트가 도착하는 경우,
 B의 새 인스턴스가 스택에 추가되며 이는 액티비티의 시작 모드가 {@code "singleTop"}이더라도 무관하게 적용됩니다.</p>
-  <p class="note"><strong>참고:</strong> 어느 액티비티의 새 인스턴스가 생성되면, 
-사용자가 <em>뒤로</em> 버튼을 눌러 이전 액티비티로 되돌아갈 수 있게 됩니다. 그러나 액티비티의 기존 
-인스턴스가 
+  <p class="note"><strong>참고:</strong> 어느 액티비티의 새 인스턴스가 생성되면,
+사용자가 <em>뒤로</em> 버튼을 눌러 이전 액티비티로 되돌아갈 수 있게 됩니다. 그러나 액티비티의 기존
+인스턴스가
 새 인텐트를 처리하는 경우, 사용자가 <em>뒤로</em> 버튼을 눌러도 새 인텐트가 {@link android.app.Activity#onNewIntent
-onNewIntent()}에 도착하기 전의 액티비티 
-상태로 
+onNewIntent()}에 도착하기 전의 액티비티
+상태로
 되돌아갈 수 없습니다.</p>
 </dd>
 
 <dt>{@code "singleTask"}</dt>
   <dd>시스템이 새 작업을 만들고 새 작업의 루트에 있는 액티비티를 인스턴트화합니다.
-하지만, 액티비티의 인스턴스가 이미 별개의 작업에 존재하는 경우, 시스템은 인텐트의 경로를 
+하지만, 액티비티의 인스턴스가 이미 별개의 작업에 존재하는 경우, 시스템은 인텐트의 경로를
 기존 인스턴스로 지정합니다. 이때 새 인스턴스를 만들기보다 해당 인스턴스의 {@link
-android.app.Activity#onNewIntent onNewIntent()} 메서드를 호출하는 방법을 통합니다. 한 번에 
+android.app.Activity#onNewIntent onNewIntent()} 메서드를 호출하는 방법을 통합니다. 한 번에
 액티비티 인스턴스 한 개씩만 존재할 수 있습니다.
-  <p class="note"><strong>참고:</strong> 액티비티가 새 작업에서 시작되더라도, 
+  <p class="note"><strong>참고:</strong> 액티비티가 새 작업에서 시작되더라도,
 <em>뒤로</em> 버튼을 누르면 여전히 사용자를 이전 액티비티로 돌려보냅니다.</p></dd>
 <dt>{@code "singleInstance"}.</dt>
-  <dd>{@code "singleTask"}와 같습니다. 다만 시스템이 인스턴스를 보유하고 있는 작업 안으로 
-다른 어떤 액티비티도 시작하지 않는다는 것은 예외입니다. 액티비티는 언제나 자신의 작업의 유일무이한 구성원입니다. 
+  <dd>{@code "singleTask"}와 같습니다. 다만 시스템이 인스턴스를 보유하고 있는 작업 안으로
+다른 어떤 액티비티도 시작하지 않는다는 것은 예외입니다. 액티비티는 언제나 자신의 작업의 유일무이한 구성원입니다.
 이것으로 시작한 액티비티는 모두 별개의 작업에서 열립니다.</dd>
 </dl>
 
 
-<p>또 다른 예로 Android 브라우저 애플리케이션이 있습니다. 이것은 웹 브라우저 액티비티가 항상 
-자신만의 작업에서 열려야 한다고 선언합니다. 이때 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 요소에 {@code singleTask} 시작 모드를 지정하는 방법을 씁니다. 
-다시 말해 애플리케이션이 Android 브라우저를 열라는 인텐트를 발행하면 
-브라우저의 액티비티가 애플리케이션과 같은 작업에 배치되지 <em>않는다</em>는 
-뜻입니다. 그 대신, 브라우저에 대한 새 작업이 시작되거나, 브라우저에 이미 
-배경에서 실행 중인 작업이 있는 경우 해당 작업이 전경으로 불려나와 새 인텐트를 처리하게 
+<p>또 다른 예로 Android 브라우저 애플리케이션이 있습니다. 이것은 웹 브라우저 액티비티가 항상
+자신만의 작업에서 열려야 한다고 선언합니다. 이때 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 요소에 {@code singleTask} 시작 모드를 지정하는 방법을 씁니다.
+다시 말해 애플리케이션이 Android 브라우저를 열라는 인텐트를 발행하면
+브라우저의 액티비티가 애플리케이션과 같은 작업에 배치되지 <em>않는다</em>는
+뜻입니다. 그 대신, 브라우저에 대한 새 작업이 시작되거나, 브라우저에 이미
+배경에서 실행 중인 작업이 있는 경우 해당 작업이 전경으로 불려나와 새 인텐트를 처리하게
 됩니다.</p>
 
-<p>액티비티가 새 작업에서 시작되었든 액티비티를 시작한 것과 같은 작업에서 시작되었든 관계 없이 
-<em>뒤로</em> 버튼을 사용하면 언제나 사용자를 이전 액티비티로 돌려보냅니다. 다만, 
-{@code singleTask} 시작 모드를 나타내는 액티비티를 시작한 다음 해당 
-액티비티의 인스턴스가 이미 배경 작업에 존재하는 경우, 그 작업 전체가 전경에 불려나옵니다. 이 시점에서 
-백 스택에는 이제 앞으로 가져온 작업에서 가져온 모든 액티비티가 포함되어 있으며, 이는 스택의 
+<p>액티비티가 새 작업에서 시작되었든 액티비티를 시작한 것과 같은 작업에서 시작되었든 관계 없이
+<em>뒤로</em> 버튼을 사용하면 언제나 사용자를 이전 액티비티로 돌려보냅니다. 다만,
+{@code singleTask} 시작 모드를 나타내는 액티비티를 시작한 다음 해당
+액티비티의 인스턴스가 이미 배경 작업에 존재하는 경우, 그 작업 전체가 전경에 불려나옵니다. 이 시점에서
+백 스택에는 이제 앞으로 가져온 작업에서 가져온 모든 액티비티가 포함되어 있으며, 이는 스택의
 맨 위에 위치합니다. 그림 4는 이와 같은 유형의 시나리오를 나타낸 것입니다.</p>
 
 <img src="{@docRoot}images/fundamentals/diagram_backstack_singletask_multiactivity.png" alt="" />
-<p class="img-caption"><strong>그림 4.</strong> 시작 모드가 "singleTask"인 액티비티가 
-백 스택에 추가되는 방법을 표현한 것입니다. 이 액티비티가 이미 자신의 백 스택을 가지고 있는 
-배경 작업의 일부인 경우, 해당 백 스택도 모두 전경으로 
+<p class="img-caption"><strong>그림 4.</strong> 시작 모드가 "singleTask"인 액티비티가
+백 스택에 추가되는 방법을 표현한 것입니다. 이 액티비티가 이미 자신의 백 스택을 가지고 있는
+배경 작업의 일부인 경우, 해당 백 스택도 모두 전경으로
 불려나오며, 이는 현재 작업 위에 배치됩니다.</p>
 
-<p>매니페스트 파일에서 시작 모드를 사용하는 것에 대한 자세한 정보는 
+<p>매니페스트 파일에서 시작 모드를 사용하는 것에 대한 자세한 정보는
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
-요소 문서를 참조하십시오. 여기에서 {@code launchMode} 속성과 허용된 값을 더 자세히 
+요소 문서를 참조하십시오. 여기에서 {@code launchMode} 속성과 허용된 값을 더 자세히
 논합니다.</p>
 
-<p class="note"><strong>참고:</strong> 액티비티에 대하여 <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 속성으로 지정한 동작을 
-재정의하려면 액티비티를 시작한 인텐트에 포함된 플래그를 사용하면 됩니다. 이 내용은 
+<p class="note"><strong>참고:</strong> 액티비티에 대하여 <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 속성으로 지정한 동작을
+재정의하려면 액티비티를 시작한 인텐트에 포함된 플래그를 사용하면 됩니다. 이 내용은
 다음 섹션에서 논합니다.</p>
 
 
 
 <h4 id="#IntentFlagsForTasks">인텐트 플래그 사용하기</h4>
 
-<p>액티비티를 시작할 때면, 액티비티가 자신의 작업과 연관되는 기본 방식을 수정할 수 있습니다. 
+<p>액티비티를 시작할 때면, 액티비티가 자신의 작업과 연관되는 기본 방식을 수정할 수 있습니다.
 {@link
-android.app.Activity#startActivity startActivity()}에 전달한 인텐트 안에 있는 플래그를 포함시키면 됩니다. 기본 동작을 수정하는 데 사용할 수 있는 
+android.app.Activity#startActivity startActivity()}에 전달한 인텐트 안에 있는 플래그를 포함시키면 됩니다. 기본 동작을 수정하는 데 사용할 수 있는
 플래그는 다음과 같습니다.</p>
 
 <p>
   <dt>{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}</dt>
-    <dd>액티비티를 새 작업에서 시작합니다. 지금 시작하고 있는 액티비티에 대해 이미 실행 중인 작업이 있으면, 
-해당 작업의 마지막 상태를 복원하여 전경으로 불려나오고 액티비티는 새 인텐트를 
+    <dd>액티비티를 새 작업에서 시작합니다. 지금 시작하고 있는 액티비티에 대해 이미 실행 중인 작업이 있으면,
+해당 작업의 마지막 상태를 복원하여 전경으로 불려나오고 액티비티는 새 인텐트를
 {@link android.app.Activity#onNewIntent onNewIntent()}에서 수신합니다.
-    <p>이렇게 하면 {@code "singleTask"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 값에서와 같은 동작을 발생시키며, 
+    <p>이렇게 하면 {@code "singleTask"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 값에서와 같은 동작을 발생시키며,
 이는 이전 섹션에서 논한 것과 같습니다.</p></dd>
   <dt>{@link android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP}</dt>
-    <dd>시작되고 있는 액티비티가 현재 액티비티인 경우(백 스택 맨 위에 있는), 해당 액티비티의 새 인스턴스를 생성하는 대신 기존 
-인스턴스가 {@link android.app.Activity#onNewIntent onNewIntent()}에 
+    <dd>시작되고 있는 액티비티가 현재 액티비티인 경우(백 스택 맨 위에 있는), 해당 액티비티의 새 인스턴스를 생성하는 대신 기존
+인스턴스가 {@link android.app.Activity#onNewIntent onNewIntent()}에
 대한 호출을 받습니다.
-    <p>이렇게 하면 {@code "singleTop"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 값에서와 같은 동작을 발생시키며, 
+    <p>이렇게 하면 {@code "singleTop"} <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a> 값에서와 같은 동작을 발생시키며,
 이는 이전 섹션에서 논한 것과 같습니다.</p></dd>
   <dt>{@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}</dt>
-    <dd>시작되고 있는 액티비티가 이미 현재 작업에서 실행 중인 경우, 해당 액티비티의 
-새 인스턴스를 시작하는 대신 그 위에 있는 모든 다른 액티비티가 
-소멸되고 이 인텐트는 해당 액티비티(이제 맨 위로 올라옴)의 재개된 인스턴스로, 
+    <dd>시작되고 있는 액티비티가 이미 현재 작업에서 실행 중인 경우, 해당 액티비티의
+새 인스턴스를 시작하는 대신 그 위에 있는 모든 다른 액티비티가
+소멸되고 이 인텐트는 해당 액티비티(이제 맨 위로 올라옴)의 재개된 인스턴스로,
 {@link android.app.Activity#onNewIntent onNewIntent()}를 통해 전달됩니다.
     <p>이 동작을 발생시키는 <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a>
 속성에 대한 값은 없습니다.</p>
-    <p>{@code FLAG_ACTIVITY_CLEAR_TOP}는 
-{@code FLAG_ACTIVITY_NEW_TASK}와 함께 쓰이는 경우가 가장 보편적입니다. 
-이들 플래그를 함께 사용하면 다른 작업에 있는 기존 액티비티의 위치를 
+    <p>{@code FLAG_ACTIVITY_CLEAR_TOP}는
+{@code FLAG_ACTIVITY_NEW_TASK}와 함께 쓰이는 경우가 가장 보편적입니다.
+이들 플래그를 함께 사용하면 다른 작업에 있는 기존 액티비티의 위치를
 찾아 이를 인텐트에 응답할 수 있는 위치에 놓을 한 가지 방편이 됩니다. </p>
-    <p class="note"><strong>참고:</strong> 지정된 액티비티의 시작 모드가 
-{@code "standard"}인 경우, 
-이것 또한 스택에서 제거되고 그 자리에 새 인스턴스가 대신 생성되어 수신되는 인텐트를 
-처리하게 됩니다.  이는 시작 모드가 
+    <p class="note"><strong>참고:</strong> 지정된 액티비티의 시작 모드가
+{@code "standard"}인 경우,
+이것 또한 스택에서 제거되고 그 자리에 새 인스턴스가 대신 생성되어 수신되는 인텐트를
+처리하게 됩니다.  이는 시작 모드가
 {@code "standard"}인 경우, 새 인텐트에 대해서는 항상 새 인스턴스가 생성되기 때문입니다. </p>
 </dd>
 </dl>
@@ -420,65 +420,65 @@
 
 <h3 id="Affinities">유사성 처리하기</h3>
 
-<p><em>유사성</em>이란 액티비티가 어느 작업에 소속되기를 선호하는지를 나타내는 것입니다. 기본적으로, 
-같은 애플리케이션에서 나온 액티비티는 서로 유사성을 지니고 있습니다. 따라서, 기본적으로 
-같은 애플리케이션 안에 있는 모든 액티비티는 같은 작업 안에 있는 것을 선호합니다. 하지만 액티비티에 대한 기본 유사성은 개발자가 
-수정할 수 있습니다. 각기 다른 애플리케이션에서 정의된 
-액티비티가 하나의 유사성을 공유할 수도 있고, 같은 애플리케이션에서 정의된 여러 액티비티에 
+<p><em>유사성</em>이란 액티비티가 어느 작업에 소속되기를 선호하는지를 나타내는 것입니다. 기본적으로,
+같은 애플리케이션에서 나온 액티비티는 서로 유사성을 지니고 있습니다. 따라서, 기본적으로
+같은 애플리케이션 안에 있는 모든 액티비티는 같은 작업 안에 있는 것을 선호합니다. 하지만 액티비티에 대한 기본 유사성은 개발자가
+수정할 수 있습니다. 각기 다른 애플리케이션에서 정의된
+액티비티가 하나의 유사성을 공유할 수도 있고, 같은 애플리케이션에서 정의된 여러 액티비티에
 서로 다른 작업 유사성을 할당할 수도 있습니다.</p>
 
 <p>어느 액티비티라도 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>
-요소의 <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a> 속성을 
+요소의 <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a> 속성을
 사용하여 유사성을 수정할 수 있습니다.</p>
 
 <p><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a>
-속성은 문자열 값을 취합니다. 이는 
+속성은 문자열 값을 취합니다. 이는
 <a href="{@docRoot}guide/topics/manifest/manifest-element.html">
 {@code &lt;manifest&gt;}
-</a> 요소에서 선언한 기본 패키지 이름과 달리 고유해야 합니다. 왜냐하면 시스템이 이 이름을 사용하여 애플리케이션의 기본 작업 유사성을 
+</a> 요소에서 선언한 기본 패키지 이름과 달리 고유해야 합니다. 왜냐하면 시스템이 이 이름을 사용하여 애플리케이션의 기본 작업 유사성을
 식별하기 때문입니다.</p>
 
 <p>유사성이 역할을 갖는 것은 다음과 같은 두 가지 상황에서입니다.</p>
 <ul>
-  <li>액티비티를 시작한 인텐트에 
+  <li>액티비티를 시작한 인텐트에
 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}
  플래그가 들어 있는 경우.
 
-<p>새로운 액티비티는 기본적으로 
-{@link android.app.Activity#startActivity startActivity()}를 호출한 액티비티의 작업 안으로 들어가며 시작됩니다. 이것은 발신자와 같은 
-백 스택 위로 밀어내집니다.  하지만 
-{@link android.app.Activity#startActivity startActivity()}에 
+<p>새로운 액티비티는 기본적으로
+{@link android.app.Activity#startActivity startActivity()}를 호출한 액티비티의 작업 안으로 들어가며 시작됩니다. 이것은 발신자와 같은
+백 스택 위로 밀어내집니다.  하지만
+{@link android.app.Activity#startActivity startActivity()}에
 전달된 인텐트에 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK}
  플래그가 들어있는 경우, 시스템은 새 액티비티를 담을 다른 작업을 찾습니다. 이는 새 작업인 경우가 많습니다.
-그렇지만 꼭 그래야 하는 것은 아닙니다.  새 액티비티와 같은 유사성을 가진 기존 작업이 이미 존재하는 경우, 
+그렇지만 꼭 그래야 하는 것은 아닙니다.  새 액티비티와 같은 유사성을 가진 기존 작업이 이미 존재하는 경우,
 해당 액티비티는 그 작업 안으로 들어가며 시작됩니다.  그렇지 않으면, 새 작업을 시작합니다.</p>
 
-<p>이 플래그 때문에 액티비티가 새 작업을 시작하게 되고 사용자가 <em>홈</em> 버튼을 눌러 이 액티비티를 
-떠나고자 
-하는 경우, 사용자가 작업으로 도로 이동할 방법이 있어야 합니다. 엔티티 중에는(예를 들어 
-알림 관리자) 액티비티를 항상 외부 작업으로만 시작하고 자신의 일부로서는 절대 시작하지 않는 것이 있습니다. 
-따라서 이들은 {@code FLAG_ACTIVITY_NEW_TASK}를 
-{@link android.app.Activity#startActivity startActivity()}에 전달하는 인텐트에 포함시킵니다. 
-이 플래그를 사용할 수 있는 외부 엔티티가 
-호출할 수 있는 액티비티를 가지고 있는 경우, 사용자가 시작된 작업에 돌아갈 수 있는 
-방법을 따로 가지고 있어야 합니다. 예를 들어 시작 관리자 아이콘을 이용한다든지 하는 방법입니다(작업의 루트 액티비티에 
+<p>이 플래그 때문에 액티비티가 새 작업을 시작하게 되고 사용자가 <em>홈</em> 버튼을 눌러 이 액티비티를
+떠나고자
+하는 경우, 사용자가 작업으로 도로 이동할 방법이 있어야 합니다. 엔티티 중에는(예를 들어
+알림 관리자) 액티비티를 항상 외부 작업으로만 시작하고 자신의 일부로서는 절대 시작하지 않는 것이 있습니다.
+따라서 이들은 {@code FLAG_ACTIVITY_NEW_TASK}를
+{@link android.app.Activity#startActivity startActivity()}에 전달하는 인텐트에 포함시킵니다.
+이 플래그를 사용할 수 있는 외부 엔티티가
+호출할 수 있는 액티비티를 가지고 있는 경우, 사용자가 시작된 작업에 돌아갈 수 있는
+방법을 따로 가지고 있어야 합니다. 예를 들어 시작 관리자 아이콘을 이용한다든지 하는 방법입니다(작업의 루트 액티비티에
 {@link android.content.Intent#CATEGORY_LAUNCHER} 인텐트 필터가 있습니다. 아래의 <a href="#Starting">작업 시작하기</a> 섹션을 참조하십시오).</p>
 </li>
 
   <li>액티비티의 <a href="{@docRoot}guide/topics/manifest/activity-element.html#reparent">
 {@code allowTaskReparenting}</a> 속성이 {@code "true"}로 설정된 경우.
-  <p>이 경우, 액티비티는 자신이 시작한 작업에서 벗어나 유사성을 가진 다른 작업이 전경으로 
+  <p>이 경우, 액티비티는 자신이 시작한 작업에서 벗어나 유사성을 가진 다른 작업이 전경으로
 나오면 그 작업으로 이동할 수 있습니다.</p>
-  <p>예를 들어 선택한 몇몇 도시에서 기상 상태를 예보하는 어느 액티비티가 
-여행 애플리케이션의 일부로 정의되어 있다고 가정합니다.  이것은 같은 애플리케이션에 있는 
-다른 여러 액티비티와 같은 유사성을 가지며(기본 애플리케이션 유사성) 이 속성으로 상위 재지정을 허용하기도 합니다. 
-액티비티 중 하나가 일기 예보 액티비티를 시작하면, 이는 처음에는 액티비티와 같은 작업에 
-속합니다. 하지만 여행 애플리케이션의 작업이 전경으로 불려나오면 
+  <p>예를 들어 선택한 몇몇 도시에서 기상 상태를 예보하는 어느 액티비티가
+여행 애플리케이션의 일부로 정의되어 있다고 가정합니다.  이것은 같은 애플리케이션에 있는
+다른 여러 액티비티와 같은 유사성을 가지며(기본 애플리케이션 유사성) 이 속성으로 상위 재지정을 허용하기도 합니다.
+액티비티 중 하나가 일기 예보 액티비티를 시작하면, 이는 처음에는 액티비티와 같은 작업에
+속합니다. 하지만 여행 애플리케이션의 작업이 전경으로 불려나오면
 일기 예보 액티비티는 그 작업에 다시 할당되며 그 안에 표시됩니다.</p>
 </li>
 </ul>
 
-<p class="note"><strong>팁:</strong> {@code .apk} 파일에 사용자 쪽에서 보기에 하나 이상의 "애플리케이션"이 
+<p class="note"><strong>팁:</strong> {@code .apk} 파일에 사용자 쪽에서 보기에 하나 이상의 "애플리케이션"이
 들어있는 경우, <a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">{@code taskAffinity}</a>
 속성을 사용하여 각 "애플리케이션"과 연관된 액티비티에 서로 다른 유사성을 할당하는 것이 좋습니다.</p>
 
@@ -486,9 +486,9 @@
 
 <h3 id="Clearing">백 스택 지우기</h3>
 
-<p>사용자가 작업을 오랜 시간 동안 떠나 있으면, 시스템이 루트 액티비티만 빼고 모든 액티비티를 
-해당 작업에서 지웁니다.  사용자가 다시 작업으로 돌아오면, 루트 액티비티만 복원됩니다. 
-시스템이 이런 식으로 동작하는 것은 오랜 시간이 지난 다음에는 사용자가 전에 하던 일을 중단하고 
+<p>사용자가 작업을 오랜 시간 동안 떠나 있으면, 시스템이 루트 액티비티만 빼고 모든 액티비티를
+해당 작업에서 지웁니다.  사용자가 다시 작업으로 돌아오면, 루트 액티비티만 복원됩니다.
+시스템이 이런 식으로 동작하는 것은 오랜 시간이 지난 다음에는 사용자가 전에 하던 일을 중단하고
 새로운 일을 시작하기 위해 작업에 돌아올 가능성이 크기 때문입니다. </p>
 
 <p>이 동작을 수정하는 데 사용할 수 있는 액티비티 속성이 몇 가지 있습니다. </p>
@@ -497,27 +497,27 @@
 <dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#always">alwaysRetainTaskState</a></code>
 </dt>
-<dd>이 속성이 작업의 루트 액티비티 안에서 {@code "true"}로 설정되어 있는 경우, 
-방금 설명한 기본 동작이 일어나지 않습니다. 
+<dd>이 속성이 작업의 루트 액티비티 안에서 {@code "true"}로 설정되어 있는 경우,
+방금 설명한 기본 동작이 일어나지 않습니다.
 작업은 오랜 시간이 지난 뒤에도 자신의 스택에 있는 모든 액티비티를 유지합니다.</dd>
 
 <dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#clear">clearTaskOnLaunch</a></code></dt>
-<dd>이 속성이 작업의 루트 액티비티 안에서 {@code "true"}로 설정되어 있는 경우, 
-사용자가 작업을 떠났다가 다시 돌아올 때마다 스택을 루트 액티비티까지 
-지웁니다.  바꿔 말하면, 이것은 
+<dd>이 속성이 작업의 루트 액티비티 안에서 {@code "true"}로 설정되어 있는 경우,
+사용자가 작업을 떠났다가 다시 돌아올 때마다 스택을 루트 액티비티까지
+지웁니다.  바꿔 말하면, 이것은
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#always">
-{@code alwaysRetainTaskState}</a>와 정반대입니다. 사용자는 항상 작업의 초기 상태로 돌아오게 되며, 
+{@code alwaysRetainTaskState}</a>와 정반대입니다. 사용자는 항상 작업의 초기 상태로 돌아오게 되며,
 이는 아주 잠깐 동안만 작업을 떠난 경우에도 마찬가지입니다.</dd>
 
 <dt><code><a
 href="{@docRoot}guide/topics/manifest/activity-element.html#finish">finishOnTaskLaunch</a></code>
 </dt>
-<dd>이 속성은 <a href="{@docRoot}guide/topics/manifest/activity-element.html#clear">{@code clearTaskOnLaunch}</a>와 같지만, 
-작업 전체가 아니라 
-하나의 액티비티에서 작동합니다.  이것은 루트 액티비티를 포함한 모든 액티비티가 없어지게 
-하기도 합니다.  이것을 {@code "true"}로 설정하면, 
-액티비티는 현재 세션에 대해서만 작업의 일부로 유지됩니다.  사용자가 작업을 떠났다가 
+<dd>이 속성은 <a href="{@docRoot}guide/topics/manifest/activity-element.html#clear">{@code clearTaskOnLaunch}</a>와 같지만,
+작업 전체가 아니라
+하나의 액티비티에서 작동합니다.  이것은 루트 액티비티를 포함한 모든 액티비티가 없어지게
+하기도 합니다.  이것을 {@code "true"}로 설정하면,
+액티비티는 현재 세션에 대해서만 작업의 일부로 유지됩니다.  사용자가 작업을 떠났다가
 다시 돌아오면 이 작업은 더 이상 존재하지 않습니다.</dd>
 </dl>
 
@@ -526,9 +526,9 @@
 
 <h3 id="Starting">작업 시작하기</h3>
 
-<p>액티비티를 작업의 진입 지점으로 설정하려면 여기에 작업에서 지정한 대로 
-{@code "android.intent.action.MAIN"}이 있는 인텐트 필터를 부여하고 
-{@code "android.intent.category.LAUNCHER"}를 
+<p>액티비티를 작업의 진입 지점으로 설정하려면 여기에 작업에서 지정한 대로
+{@code "android.intent.action.MAIN"}이 있는 인텐트 필터를 부여하고
+{@code "android.intent.category.LAUNCHER"}를
 지정된 카테고리로 설정하면 됩니다. 예:</p>
 
 <pre>
@@ -541,29 +541,29 @@
 &lt;/activity&gt;
 </pre>
 
-<p>이런 종류의 인텐트 필터를 사용하면 액티비티에 대한 아이콘과 레이블이 
-애플리케이션 시작 관리자에 표시되어 사용자에게 액티비티를 시작할 방법을 부여하며, 
+<p>이런 종류의 인텐트 필터를 사용하면 액티비티에 대한 아이콘과 레이블이
+애플리케이션 시작 관리자에 표시되어 사용자에게 액티비티를 시작할 방법을 부여하며,
 액티비티를 시작하고 나면 이것이 생성한 작업에 언제든 돌아올 수 있게 됩니다.
 </p>
 
-<p>이 두 번째 능력이 중요합니다. 사용자는 작업을 떠났다가 이 액티비티 시작 관리자를 사용하여 나중에 작업에 
+<p>이 두 번째 능력이 중요합니다. 사용자는 작업을 떠났다가 이 액티비티 시작 관리자를 사용하여 나중에 작업에
 돌아올 수 있어야 합니다. 이러한 이유로, 액티비티가 항상 작업을 시작하는 것으로 표시하는 <a href="#LaunchModes">시작
-모드</a> 두 가지, 즉 {@code "singleTask"}와 
-{@code "singleInstance"}는 액티비티에 
+모드</a> 두 가지, 즉 {@code "singleTask"}와
+{@code "singleInstance"}는 액티비티에
 {@link android.content.Intent#ACTION_MAIN}
- 및 {@link android.content.Intent#CATEGORY_LAUNCHER} 필터가 있을 때에만 사용해야 합니다. 예를 들어 필터가 누락되면 다음과 같은 일이 
-발생합니다. 어느 인텐트가 {@code "singleTask"} 액티비티를 시작하여 새 작업을 시작하고, 
+ 및 {@link android.content.Intent#CATEGORY_LAUNCHER} 필터가 있을 때에만 사용해야 합니다. 예를 들어 필터가 누락되면 다음과 같은 일이
+발생합니다. 어느 인텐트가 {@code "singleTask"} 액티비티를 시작하여 새 작업을 시작하고,
 사용자가 이 작업에서 일하며 어느 정도 시간을 보냅니다. 그런 다음 사용자가 <em>홈</em>
- 버튼을 누릅니다. 이제 이 작업은 배경으로 전송되었으며 눈에 보이지 않습니다. 이제 사용자가 작업으로 되돌아갈 
+ 버튼을 누릅니다. 이제 이 작업은 배경으로 전송되었으며 눈에 보이지 않습니다. 이제 사용자가 작업으로 되돌아갈
 방법이 없어졌습니다. 이는 애플리케이션 시작 관리자에 표시되지 않기 때문입니다.</p>
 
-<p>사용자가 액티비티로 되돌아갈 수 있도록 하는 것을 원치 않는 경우, 
+<p>사용자가 액티비티로 되돌아갈 수 있도록 하는 것을 원치 않는 경우,
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
- 요소의 
+ 요소의
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#finish">{@code finishOnTaskLaunch}</a>
 를 {@code "true"}로 설정하면 됩니다(<a href="#Clearing">스택 지우기</a>를 참조하십시오).</p>
 
-<p>작업과 액티비티가 개요 화면에서 어떻게 표시되고 관리되는지에 대한 
+<p>작업과 액티비티가 개요 화면에서 어떻게 표시되고 관리되는지에 대한
 자세한 정보는 <a href="{@docRoot}guide/components/recents.html">
 개요 화면</a>에서 확인하실 수 있습니다.</p>
 
diff --git a/docs/html-intl/intl/ko/guide/index.jd b/docs/html-intl/intl/ko/guide/index.jd
index 73af3df9..debd053 100644
--- a/docs/html-intl/intl/ko/guide/index.jd
+++ b/docs/html-intl/intl/ko/guide/index.jd
@@ -4,16 +4,16 @@
 
 
 <div class="sidebox" style="width:220px"><!-- width to match col-4 below -->
-<p>앱의 작동 원리를 배워보고자 한다면, 우선 
+<p>앱의 작동 원리를 배워보고자 한다면, 우선
 <a href="{@docRoot}guide/components/fundamentals.html">앱 기본 항목</a>부터 시작하십시오.</p>
 <p>바로 코딩을 시작하려면, <a href="{@docRoot}training/basics/firstapp/index.html">첫 앱 구축하기</a>를 읽어보십시오.</p>
 </div>
 
-<p>Android는 풍성한 애플리케이션 프레임워크를 제공하여 Java 언어 환경에서 실행되는 
-모바일 기기에서 사용할 혁신적인 앱과 게임을 구축할 수 있습니다. 왼쪽 탐색 영역에 목록으로 나열된 
+<p>Android는 풍성한 애플리케이션 프레임워크를 제공하여 Java 언어 환경에서 실행되는
+모바일 기기에서 사용할 혁신적인 앱과 게임을 구축할 수 있습니다. 왼쪽 탐색 영역에 목록으로 나열된
 여러 문서에서 Android의 다양한 API를 사용하여 앱을 구축하는 방법에 대한 상세한 정보를 제공합니다.</p>
 
-<p>Android 개발을 처음 시도하신다면, 다음과 같은 
+<p>Android 개발을 처음 시도하신다면, 다음과 같은
 Android 앱 프레임워크 기본 개념을 숙지하는 것이 중요합니다.</p>
 
 
@@ -23,14 +23,14 @@
 
 <h4>앱은 여러 개의 진입 지점을 제공합니다.</h4>
 
-<p>Android 앱은 여러 가지 고유한 구성 요소들의 조합으로 구축되며, 이러한 구성 요소는 개별적으로 
-호출할 수도 있습니다. 예를 들어 어떤 하나의 <em>액티비티</em>가 사용자 인터페이스를 위한 
-화면을 하나 제공하고, <em>서비스</em>가 배경에서 독립적으로 작업을 수행할 
+<p>Android 앱은 여러 가지 고유한 구성 요소들의 조합으로 구축되며, 이러한 구성 요소는 개별적으로
+호출할 수도 있습니다. 예를 들어 어떤 하나의 <em>액티비티</em>가 사용자 인터페이스를 위한
+화면을 하나 제공하고, <em>서비스</em>가 배경에서 독립적으로 작업을 수행할
 수 있습니다.</p>
 
-<p>한 구성 요소에서 또 다른 구성 요소를 시작하려면 <em>인텐트</em>를 사용하면 됩니다. 심지어 다른 앱에서도 
-구성 요소를 시작할 수 있습니다. 지도 앱에서 주소를 표시하는 액티비티를 시작하는 것이 좋은 예입니다. 이 모델은 
-하나의 앱에 대한 여러 개의 진입 지점을 제공하여 어느 앱이라도 다른 여러 앱이 호출할 수 있는 작업에 대해 
+<p>한 구성 요소에서 또 다른 구성 요소를 시작하려면 <em>인텐트</em>를 사용하면 됩니다. 심지어 다른 앱에서도
+구성 요소를 시작할 수 있습니다. 지도 앱에서 주소를 표시하는 액티비티를 시작하는 것이 좋은 예입니다. 이 모델은
+하나의 앱에 대한 여러 개의 진입 지점을 제공하여 어느 앱이라도 다른 여러 앱이 호출할 수 있는 작업에 대해
 사용자의 "기본" 앱 역할을 합니다.</p>
 
 
@@ -48,14 +48,14 @@
 
 <h4>앱은 여러 가지 기기에 맞게 변경됩니다.</h4>
 
-<p>Android는 적응형 앱 프레임워크를 제공하여 여러 가지 기기 구성에 맞게 
-고유한 리소스를 제공할 수 있습니다. 예를 들어, 여러 가지 화면 크기에 맞춰 각기 다른 XML 
-레이아웃 파일을 생성하면 시스템이 현재 기기의 화면 크기를 근거로 
+<p>Android는 적응형 앱 프레임워크를 제공하여 여러 가지 기기 구성에 맞게
+고유한 리소스를 제공할 수 있습니다. 예를 들어, 여러 가지 화면 크기에 맞춰 각기 다른 XML
+레이아웃 파일을 생성하면 시스템이 현재 기기의 화면 크기를 근거로
 어느 레이아웃을 적용할지 결정합니다.</p>
 
-<p>앱 기능이 특정한 하드웨어(예: 카메라)를 필요로 하는 경우 런타임에 
-기기 특징의 기능을 쿼리할 수 있습니다. 필요하다면 앱이 필요로 하는 기능을 선언할 수도 있습니다. 
-그러면 Google Play Store와 같은 앱 마켓에서 해당 기능을 지원하지 않는 기기에서 
+<p>앱 기능이 특정한 하드웨어(예: 카메라)를 필요로 하는 경우 런타임에
+기기 특징의 기능을 쿼리할 수 있습니다. 필요하다면 앱이 필요로 하는 기능을 선언할 수도 있습니다.
+그러면 Google Play Store와 같은 앱 마켓에서 해당 기능을 지원하지 않는 기기에서
 설치를 허용하지 않습니다.</p>
 
 
diff --git a/docs/html-intl/intl/ko/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/ko/guide/topics/manifest/manifest-intro.jd
index c3550d0..2f397c7 100644
--- a/docs/html-intl/intl/ko/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/ko/guide/topics/manifest/manifest-intro.jd
@@ -20,38 +20,38 @@
 </div>
 
 <p>
-  모든 애플리케이션에는 루트 라이브러리에 AndroidManifest.xml 파일(정확히 
-이 이름으로)이 있어야 합니다. <span itemprop="description">매니페스트 파일은 
-Android 시스템에 대한 여러분의 앱 관련 필수 정보를 나타냅니다. 
-즉 앱의 코드를 실행하기 전에 시스템이 반드시 필요로 하는 정보를 
+  모든 애플리케이션에는 루트 라이브러리에 AndroidManifest.xml 파일(정확히
+이 이름으로)이 있어야 합니다. <span itemprop="description">매니페스트 파일은
+Android 시스템에 대한 여러분의 앱 관련 필수 정보를 나타냅니다.
+즉 앱의 코드를 실행하기 전에 시스템이 반드시 필요로 하는 정보를
 말합니다.</span> 매니페스트가 하는 일에는 여러 가지가 있지만, 그 중에서 몇 가지만 소개하면 다음과 같습니다.
 </p>
 
 <ul>
-<li>애플리케이션에 대한 Java 패키지의 이름을 나타냅니다. 
+<li>애플리케이션에 대한 Java 패키지의 이름을 나타냅니다.
 패키지 이름이 애플리케이션에 대한 고유한 식별자 역할을 합니다.</li>
 
-<li>애플리케이션의 구성 요소를 설명합니다. 액티비티, 
-서비스, 브로드캐스트 수신기 및 콘텐츠 제공자 등 애플리케이션을 이루는 여러 항목을 
-말합니다.  이것은 각 구성 요소를 구현하는 클래스의 이름을 나타내고 
-각각의 기능을 게시합니다(예를 들어 처리할 수 있는 {@link android.content.Intent 
-Intent} 메시지 종류 등).  이러한 선언을 통해 Android 시스템이 여러 구성 요소가 
+<li>애플리케이션의 구성 요소를 설명합니다. 액티비티,
+서비스, 브로드캐스트 수신기 및 콘텐츠 제공자 등 애플리케이션을 이루는 여러 항목을
+말합니다.  이것은 각 구성 요소를 구현하는 클래스의 이름을 나타내고
+각각의 기능을 게시합니다(예를 들어 처리할 수 있는 {@link android.content.Intent
+Intent} 메시지 종류 등).  이러한 선언을 통해 Android 시스템이 여러 구성 요소가
 각각 무엇인지 알게 되고, 어떤 조건에서 시작해야 하는지 알 수 있습니다.</li>
 
-<li>어느 프로세스가 애플리케이션 구성 요소를 호스팅할 것인지 결정합니다.</li>  
+<li>어느 프로세스가 애플리케이션 구성 요소를 호스팅할 것인지 결정합니다.</li>
 
-<li>API의 보호된 부분에 액세스하여 다른 애플리케이션과 상호 작용하려면 
-애플리케이션에 어느 권한이 꼭 필요한지 선언합니다.</li>  
+<li>API의 보호된 부분에 액세스하여 다른 애플리케이션과 상호 작용하려면
+애플리케이션에 어느 권한이 꼭 필요한지 선언합니다.</li>
 
-<li>또한, 이 애플리케이션의 구성 요소와 상호 작용하려면 다른 애플리케이션이 
+<li>또한, 이 애플리케이션의 구성 요소와 상호 작용하려면 다른 애플리케이션이
 반드시 가지고 있어야 하는 권한도 선언합니다.</li>
 
-<li>이는 애플리케이션이 실행 중일 때 프로파일링과 기타 정보를 제공하는 
-{@link android.app.Instrumentation} 클래스를 목록으로 표시합니다.  이러한 선언이 매니페스트에 나타나는 것은 
-애플리케이션이 개발 중이고 테스트되는 단계에만 국한됩니다. 
+<li>이는 애플리케이션이 실행 중일 때 프로파일링과 기타 정보를 제공하는
+{@link android.app.Instrumentation} 클래스를 목록으로 표시합니다.  이러한 선언이 매니페스트에 나타나는 것은
+애플리케이션이 개발 중이고 테스트되는 단계에만 국한됩니다.
 이들은 애플리케이션이 게시되기 전에 제거됩니다.</li>
 
-<li>이는 애플리케이션이 필요로 하는 Android API의 최소 레벨을 
+<li>이는 애플리케이션이 필요로 하는 Android API의 최소 레벨을
 선언합니다.</li>
 
 <li>애플리케이션이 연결되어야 하는 라이브러리를 목록으로 표시합니다.</li>
@@ -61,12 +61,12 @@
 <h2 id="filestruct">매니페스트 파일의 구조</h2>
 
 <p>
-아래의 다이어그램은 매니페스트 파일의 일반적인 구조와 매니페스트 파일에 
-들어있을 수 있는 모든 요소를 표시한 것입니다.  각 요소와 각각의 속성을 모두 문서화한 
-전문은 별도의 파일에서 확인하실 수 있습니다.  어떤 요소에 대해서든 
-상세한 정보를 보려면 다이어그램에서 해당 요소 이름을 클릭하십시오. 
-이름은 다이어그램 뒤에 나오는 요소 목록(알파벳 순) 또는 
-요소 이름이 언급되는 기타 영역 어디서든 클릭할 수 있습니다. 
+아래의 다이어그램은 매니페스트 파일의 일반적인 구조와 매니페스트 파일에
+들어있을 수 있는 모든 요소를 표시한 것입니다.  각 요소와 각각의 속성을 모두 문서화한
+전문은 별도의 파일에서 확인하실 수 있습니다.  어떤 요소에 대해서든
+상세한 정보를 보려면 다이어그램에서 해당 요소 이름을 클릭하십시오.
+이름은 다이어그램 뒤에 나오는 요소 목록(알파벳 순) 또는
+요소 이름이 언급되는 기타 영역 어디서든 클릭할 수 있습니다.
 </p>
 
 <pre>
@@ -126,9 +126,9 @@
 </pre>
 
 <p>
-매니페스트 파일에 표시될 수 있는 모든 요소는 아래에 알파벳 순서로 
-목록으로 표시되어 있습니다.  합법적인 요소는 이들이 전부입니다. 개발자 나름대로 요소 또는 속성을 
-추가해서는 안 됩니다.  
+매니페스트 파일에 표시될 수 있는 모든 요소는 아래에 알파벳 순서로
+목록으로 표시되어 있습니다.  합법적인 요소는 이들이 전부입니다. 개발자 나름대로 요소 또는 속성을
+추가해서는 안 됩니다.
 </p>
 
 <p style="margin-left: 2em">
@@ -158,74 +158,74 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">파일 규칙</h2>
 
 <p>
-몇몇 규칙과 규정은 매니페스트 내의 모든 요소와 속성에 전반적으로 
+몇몇 규칙과 규정은 매니페스트 내의 모든 요소와 속성에 전반적으로
 적용됩니다.
 </p>
 
 <dl>
 <dt><b>요소</b></dt>
-<dd>필수 요소는 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 및 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 요소뿐으로, 
-이들은 각기 따로 표시되어야 하며 한 번씩만 발생할 수 있습니다.  
-나머지는 대부분 여러 번 발생할 수 있거나 전혀 발생하지 않기도 합니다. 다만, 
-그 중 최소한 몇몇은 있어야 매니페스트가 무엇이든 의미 있는 작업을 
+<dd>필수 요소는
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 및
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 요소뿐으로,
+이들은 각기 따로 표시되어야 하며 한 번씩만 발생할 수 있습니다.
+나머지는 대부분 여러 번 발생할 수 있거나 전혀 발생하지 않기도 합니다. 다만,
+그 중 최소한 몇몇은 있어야 매니페스트가 무엇이든 의미 있는 작업을
 달성할 수 있습니다.
 
 <p>
-요소에 무엇이든 들어있기만 하면 다른 요소가 그 요소에 들어 있는 것입니다.  
+요소에 무엇이든 들어있기만 하면 다른 요소가 그 요소에 들어 있는 것입니다.
 모든 값은 요소 내의 문자 데이터로서가 아니라 속성을 통해 설정됩니다.
 </p>
 
 <p>
-같은 레벨에 있는 여러 요소는 보통 순서가 지정되지 않습니다.  예를 들어 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 및 
-<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 
-요소는 어떤 순서로든 서로 섞여도 됩니다  (이 규칙에서 
+같은 레벨에 있는 여러 요소는 보통 순서가 지정되지 않습니다.  예를 들어
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 및
+<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
+요소는 어떤 순서로든 서로 섞여도 됩니다  (이 규칙에서
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
-요소는 예외입니다.  이것은 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>의 별칭이므로 
+요소는 예외입니다.  이것은
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>의 별칭이므로
 이를 반드시 따라야 합니다).
 </p></dd>
 
 <dt><b>속성</b></dt>
-<dd>공식적인 의미에서 모든 속성은 선택 항목입니다.  그러나, 요소가 목적을 달성하기 
-위해서 반드시 지정되어야 하는 것이 몇 가지 있습니다.  관련 문서를 
-지침으로 사용하십시오.  정말로 선택적인 속성의 경우, 기본 값을 언급하거나 
+<dd>공식적인 의미에서 모든 속성은 선택 항목입니다.  그러나, 요소가 목적을 달성하기
+위해서 반드시 지정되어야 하는 것이 몇 가지 있습니다.  관련 문서를
+지침으로 사용하십시오.  정말로 선택적인 속성의 경우, 기본 값을 언급하거나
 사양이 없으면 어떤 일이 벌어지는지 진술합니다.
 
-<p>루트 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
+<p>루트
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
 요소의 몇 가지 속성을 제외하고 모든 속성 이름은 {@code android:alwaysRetainTaskState} 접두사로 시작합니다.
-예를 들어, {@code android:}와 같습니다.  이 접두사는 범용이기 때문에 
-속성을 이름으로 참조하는 경우 관련 문서가 이를 생략하는 경우가 
+예를 들어, {@code android:}와 같습니다.  이 접두사는 범용이기 때문에
+속성을 이름으로 참조하는 경우 관련 문서가 이를 생략하는 경우가
 일반적입니다.</p></dd>
 
 <dt><b>클래스 이름 선언</b></dt>
-<dd>대다수의 요소가 Java 객체에 상응합니다. 여기에는 
+<dd>대다수의 요소가 Java 객체에 상응합니다. 여기에는
 애플리케이션 자체에 대한 요소가 포함되며(
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-요소), 그것의 주 구성 요소도 포함됩니다. 즉, 액티비티 
-(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>), 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+요소), 그것의 주 구성 요소도 포함됩니다. 즉, 액티비티
+(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>),
 서비스
-(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>), 
+(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>),
 브로드캐스트 수신기
-(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>) 및 
+(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>) 및
 콘텐츠 제공자
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>) 등이 이에 해당됩니다.  
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>) 등이 이에 해당됩니다.
 
 <p>
 하위 클래스를 정의하는 경우 구성 요소 클래스
-({@link android.app.Activity}, {@link android.app.Service}, 
-{@link android.content.BroadcastReceiver} 및 {@link android.content.ContentProvider})는 거의 항상 이렇게 하게 되는데, 
-이때 하위 클래스는 {@code name} 속성을 통해 선언됩니다.  이 이름에 반드시 
-완전한 패키지 지정이 포함되어 있어야 합니다.  
+({@link android.app.Activity}, {@link android.app.Service},
+{@link android.content.BroadcastReceiver} 및 {@link android.content.ContentProvider})는 거의 항상 이렇게 하게 되는데,
+이때 하위 클래스는 {@code name} 속성을 통해 선언됩니다.  이 이름에 반드시
+완전한 패키지 지정이 포함되어 있어야 합니다.
 예를 들어, {@link android.app.Service} 하위 클래스를 선언하려면 다음과 같이 할 수 있습니다.
 </p>
 
@@ -239,12 +239,12 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-그러나 일종의 줄임으로서 문자열의 첫 번째 글자가 마침표인 경우, 해당 
+그러나 일종의 줄임으로서 문자열의 첫 번째 글자가 마침표인 경우, 해당
 문자열은 애플리케이션의 패키지 이름에 추가됩니다(
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
-요소의 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code> 
-속성에서 지정한 바와 같이).  다음 할당은 위의 것과 같습니다. 
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
+요소의
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
+속성에서 지정한 바와 같이).  다음 할당은 위의 것과 같습니다.
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -257,13 +257,13 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Android는 구성 요소를 시작할 때 이름이 명명된 하위 클래스의 인스턴스를 생성합니다.  
+Android는 구성 요소를 시작할 때 이름이 명명된 하위 클래스의 인스턴스를 생성합니다.
 하위 클래스가 지정되지 않은 경우, 기본 클래스의 인스턴스를 생성합니다.
 </p></dd>
 
 <dt><b>여러 개의 값</b></dt>
-<dd>하나 이상의 값을 지정할 수 있는 경우, 해당 요소는 
-한 요소 안에 여러 개의 값을 목록으로 표시하기보다 거의 항상 반복됩니다.  
+<dd>하나 이상의 값을 지정할 수 있는 경우, 해당 요소는
+한 요소 안에 여러 개의 값을 목록으로 표시하기보다 거의 항상 반복됩니다.
 예를 들어 한 인텐트 필터가 여러 개의 작업을 목록으로 표시할 수 있습니다.
 
 <pre>&lt;intent-filter . . . &gt;
@@ -274,9 +274,9 @@
 &lt;/intent-filter&gt;</pre></dd>
 
 <dt><b>리소스 값</b></dt>
-<dd>몇몇 속성에는 사용자에게 표시될 수 있는 값이 있습니다. 예를 들어 
-액티비티에 대한 레이블과 아이콘 등이 이에 해당됩니다.  이러한 속성의 값은 
-지역화해야 하며 따라서 리소스나 테마에서 설정됩니다.  리소스 
+<dd>몇몇 속성에는 사용자에게 표시될 수 있는 값이 있습니다. 예를 들어
+액티비티에 대한 레이블과 아이콘 등이 이에 해당됩니다.  이러한 속성의 값은
+지역화해야 하며 따라서 리소스나 테마에서 설정됩니다.  리소스
 값은 다음과 같은 형식으로 표현됩니다.</p>
 
 <p style="margin-left: 2em">{@code @[<i>패키지</i>:]<i>유형</i>:<i>이름</i>}</p>
@@ -284,7 +284,7 @@
 <p>
 여기에서 <i>패키지</i> 이름은 리소스가 애플리케이션과 같은 패키지에 있으면 생략할 수 있고,
  <i>유형</i> 은 "문자열" 또는 "그릴 수 있음" 같은 리소스 유형입니다. 그리고
- <i>이름</i> 은 특정 리소스를 식별하는 이름입니다.  
+ <i>이름</i> 은 특정 리소스를 식별하는 이름입니다.
 예:
 </p>
 
@@ -299,8 +299,8 @@
 </p></dd>
 
 <dt><b>문자열 값</b></dt>
-<dd>속성 값이 문자열인 경우, 이중 백슬래시('{@code \\}')를 사용하여 
-문자 이스케이프를 수행해야 합니다. 예를 들어 줄바꿈에는 {@code \\n}, 
+<dd>속성 값이 문자열인 경우, 이중 백슬래시('{@code \\}')를 사용하여
+문자 이스케이프를 수행해야 합니다. 예를 들어 줄바꿈에는 {@code \\n},
 유니코드 문자에는 '{@code \\uxxxx}'를 쓰십시오.</dd>
 </dl>
 
@@ -308,7 +308,7 @@
 <h2 id="filef">파일 기능</h2>
 
 <p>
-다음 섹션에서는 Android 기능을 매니페스트 파일에 반영하는 
+다음 섹션에서는 Android 기능을 매니페스트 파일에 반영하는
 몇 가지 방식을 설명합니다.
 </p>
 
@@ -316,37 +316,37 @@
 <h3 id="ifs">인텐트 필터</h3>
 
 <p>
-애플리케이션의 핵심 구성 요소(액티비티, 서비스 및 브로드캐스트 
-수신기)를 활성화하는 것은 <i>인텐트</i>입니다.  인텐트는 
+애플리케이션의 핵심 구성 요소(액티비티, 서비스 및 브로드캐스트
+수신기)를 활성화하는 것은 <i>인텐트</i>입니다.  인텐트는
 원하는 작업을 설명하는 정보 묶음입니다({@link android.content.Intent} 객체).
-여기에는 작업을 수행할 데이터, 작업을 수행할 구성 요소의 카테고리와 
-기타 관련 지침 등이 포함됩니다.  
-Android는 인텐트에 응답할 적절한 구성 요소를 찾아 필요한 경우 구성 요소의 
-새 인스턴스를 시작하고, 이것을 인텐트 객체에 
+여기에는 작업을 수행할 데이터, 작업을 수행할 구성 요소의 카테고리와
+기타 관련 지침 등이 포함됩니다.
+Android는 인텐트에 응답할 적절한 구성 요소를 찾아 필요한 경우 구성 요소의
+새 인스턴스를 시작하고, 이것을 인텐트 객체에
 전달합니다.
 </p>
 
 <p>
-구성 요소는 자신의 능력을 알립니다. 즉, 자신이 응답할 수 있는 
-인텐트 종류를 밝힙니다. 이때 사용하는 것이 <i>인텐트 필터</i>입니다.  Android 시스템은 
-구성 요소를 시작하기 전에 해당 구성 요소가 처리할 수 있는 인텐트에 대해 학습해야 하기 때문에, 
-인텐트 필터는 매니페스트 파일에 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
-요소로 지정됩니다.  구성 요소 하나에 필터는 얼마든지 있을 수 있으며, 각각 서로 다른 기능을 
+구성 요소는 자신의 능력을 알립니다. 즉, 자신이 응답할 수 있는
+인텐트 종류를 밝힙니다. 이때 사용하는 것이 <i>인텐트 필터</i>입니다.  Android 시스템은
+구성 요소를 시작하기 전에 해당 구성 요소가 처리할 수 있는 인텐트에 대해 학습해야 하기 때문에,
+인텐트 필터는 매니페스트 파일에
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+요소로 지정됩니다.  구성 요소 하나에 필터는 얼마든지 있을 수 있으며, 각각 서로 다른 기능을
 설명하게 됩니다.
 </p>
 
 <p>
 대상 구성 요소를 명시적으로 지명하는 인텐트가 해당 구성 요소를 활성화합니다.
-필터는 아무런 역할을 하지 않습니다.  하지만 대상을 이름으로 지정하지 않는 인텐트의 경우에는 
-자신이 구성 요소의 필터 중 하나를 통과할 수 있을 때에만 해당 구성 요소를 활성화할 수 
+필터는 아무런 역할을 하지 않습니다.  하지만 대상을 이름으로 지정하지 않는 인텐트의 경우에는
+자신이 구성 요소의 필터 중 하나를 통과할 수 있을 때에만 해당 구성 요소를 활성화할 수
 있습니다.
 </p>
 
 <p>
-인텐트 객체를 인텐트 필터에 대해 테스트하는 방법에 대한 자세한 방법은 
-별도의 문서인 
-<a href="{@docRoot}guide/components/intents-filters.html">인텐트 
+인텐트 객체를 인텐트 필터에 대해 테스트하는 방법에 대한 자세한 방법은
+별도의 문서인
+<a href="{@docRoot}guide/components/intents-filters.html">인텐트
 및 인텐트 필터</a>를 참조하십시오.
 </p>
 
@@ -354,42 +354,42 @@
 <h3 id="iconlabel">아이콘 및 레이블</h3>
 
 <p>
-대다수의 요소에 {@code icon}과 {@code label} 속성이 있으며 
-이것으로 사용자에게 표시될 수 있는 작은 아이콘과 텍스트 레이블을 나타냅니다.  몇몇 요소에는 
-{@code description} 속성도 있어 좀 더 긴 설명 텍스트를 나타낼 수 있고, 이것 또한 화면에 
-표시될 수 있습니다.  예를 들어 
+대다수의 요소에 {@code icon}과 {@code label} 속성이 있으며
+이것으로 사용자에게 표시될 수 있는 작은 아이콘과 텍스트 레이블을 나타냅니다.  몇몇 요소에는
+{@code description} 속성도 있어 좀 더 긴 설명 텍스트를 나타낼 수 있고, 이것 또한 화면에
+표시될 수 있습니다.  예를 들어
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-요소는 이와 같은 속성을 셋 모두 가지고 있어 사용자가 이를 요청한 애플리케이션에 대한 
-권한을 허가할 것인지 여부를 물으면 해당 권한, 
-권한의 이름과 그에 수반되는 내용에 대한 설명을 
+요소는 이와 같은 속성을 셋 모두 가지고 있어 사용자가 이를 요청한 애플리케이션에 대한
+권한을 허가할 것인지 여부를 물으면 해당 권한,
+권한의 이름과 그에 수반되는 내용에 대한 설명을
 사용자에게 표시할 수 있습니다.
 </p>
 
 <p>
-어떤 경우에든, 요소에서 설정된 아이콘과 레이블이 해당 컨테이너의 모든 하위 요소에 대한 기본 
-{@code icon}과 {@code label} 설정이 됩니다.  
-따라서 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-요소에서 설정된 아이콘과 레이블이 애플리케이션의 각 요소에 대한 기본 아이콘과 레이블입니다.  
-이와 유사하게, 구성 요소에 대해 설정된 아이콘과 레이블이 &mdash; 예를 들어 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
-요소 &mdash; 각 구성 요소의 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
-요소에 대한 기본 설정입니다.  
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-요소가 레이블을 설정하지만 액티비티와 그 인텐트 필터는 이를 설정하지 않는 경우, 
-애플리케이션 레이블을 액티비티와 인텐트 필터 양쪽 모두의 레이블인 것으로 
+어떤 경우에든, 요소에서 설정된 아이콘과 레이블이 해당 컨테이너의 모든 하위 요소에 대한 기본
+{@code icon}과 {@code label} 설정이 됩니다.
+따라서
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+요소에서 설정된 아이콘과 레이블이 애플리케이션의 각 요소에 대한 기본 아이콘과 레이블입니다.
+이와 유사하게, 구성 요소에 대해 설정된 아이콘과 레이블이 &mdash; 예를 들어
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+요소 &mdash; 각 구성 요소의
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+요소에 대한 기본 설정입니다.
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+요소가 레이블을 설정하지만 액티비티와 그 인텐트 필터는 이를 설정하지 않는 경우,
+애플리케이션 레이블을 액티비티와 인텐트 필터 양쪽 모두의 레이블인 것으로
 취급합니다.
 </p>
 
 <p>
-인텐트 필터에 대해 설정된 아이콘과 레이블은 구성 요소가 사용자에게 
-표시될 때마다 구성 요소를 나타내는 데 사용되며, 이는 필터가 알린 기능을 
-충족하는 것입니다.  예를 들어 
-"{@code android.intent.action.MAIN}" 및 
-"{@code android.intent.category.LAUNCHER}"가 설정된 필터는 
-액티비티를 애플리케이션을 초기화하는 주역으로 알립니다. 다시 말해, 
-애플리케이션 시작 관리자에 표시되어야 하는 것이 됩니다.  따라서 필터에서 설정된 아이콘과 레이블이 
+인텐트 필터에 대해 설정된 아이콘과 레이블은 구성 요소가 사용자에게
+표시될 때마다 구성 요소를 나타내는 데 사용되며, 이는 필터가 알린 기능을
+충족하는 것입니다.  예를 들어
+"{@code android.intent.action.MAIN}" 및
+"{@code android.intent.category.LAUNCHER}"가 설정된 필터는
+액티비티를 애플리케이션을 초기화하는 주역으로 알립니다. 다시 말해,
+애플리케이션 시작 관리자에 표시되어야 하는 것이 됩니다.  따라서 필터에서 설정된 아이콘과 레이블이
 시작 관리자에 표시되는 아이콘과 레이블입니다.
 </p>
 
@@ -397,14 +397,14 @@
 <h3 id="perms">권한</h3>
 
 <p>
-통상 <i>권한</i> 이란 기기에서 코드의 일부분 또는 데이터에 대한 액세스를 한정하는 
-제한입니다.   이런 한계를 부과하는 것은 중요한 데이터와 코드를 보호하여 
-이들이 남용되어서 사용자 환경을 왜곡하거나 손상시키지 않도록 하기 위해서입니다.  
+통상 <i>권한</i> 이란 기기에서 코드의 일부분 또는 데이터에 대한 액세스를 한정하는
+제한입니다.   이런 한계를 부과하는 것은 중요한 데이터와 코드를 보호하여
+이들이 남용되어서 사용자 환경을 왜곡하거나 손상시키지 않도록 하기 위해서입니다.
 </p>
 
 <p>
-각 권한은 고유한 레이블로 식별할 수 있습니다.  레이블을 보면 자신이 어떤 작업을 제한하는지 
-나타내는 경우가 잦습니다.  예를 들어 다음은 Android가 정의하는 몇 가지 권한을 나타낸 
+각 권한은 고유한 레이블로 식별할 수 있습니다.  레이블을 보면 자신이 어떤 작업을 제한하는지
+나타내는 경우가 잦습니다.  예를 들어 다음은 Android가 정의하는 몇 가지 권한을 나타낸
 것입니다.
 </p>
 
@@ -418,26 +418,26 @@
 </p>
 
 <p>
-애플리케이션에서 권한으로 보호하는 기능에 액세스해야 하는 경우, 
-해당 권한이 필요하다고 매니페스트의 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-요소로 선언해야 합니다.  그런 다음, 해당 애플리케이션이 기기에 설치되고 나면 
-설치 관리자가 요청한 권한을 허가할지 여부를 판별합니다. 
-이때 애플리케이션의 인증서를 서명한 권한을 확인하고 어떤 경우에는 사용자에게 
-묻기도 합니다.  
-권한이 허가되면 해당 애플리케이션은 보호된 기능을 사용할 수 
-있습니다.  허가되지 않으면, 그러한 기능에 액세스하려는 애플리케이션의 시도가 단순히 실패하고 사용자에게는 
-아무런 알림도 표시되지 않습니다. 
+애플리케이션에서 권한으로 보호하는 기능에 액세스해야 하는 경우,
+해당 권한이 필요하다고 매니페스트의
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+요소로 선언해야 합니다.  그런 다음, 해당 애플리케이션이 기기에 설치되고 나면
+설치 관리자가 요청한 권한을 허가할지 여부를 판별합니다.
+이때 애플리케이션의 인증서를 서명한 권한을 확인하고 어떤 경우에는 사용자에게
+묻기도 합니다.
+권한이 허가되면 해당 애플리케이션은 보호된 기능을 사용할 수
+있습니다.  허가되지 않으면, 그러한 기능에 액세스하려는 애플리케이션의 시도가 단순히 실패하고 사용자에게는
+아무런 알림도 표시되지 않습니다.
 </p>
 
 <p>
-애플리케이션은 권한을 사용하여 자신의 구성 요소를(액티비티, 서비스, 
-브로드캐스트 수신기 및 콘텐츠 제공자) 보호할 수도 있습니다.  Android가 정의한 
+애플리케이션은 권한을 사용하여 자신의 구성 요소를(액티비티, 서비스,
+브로드캐스트 수신기 및 콘텐츠 제공자) 보호할 수도 있습니다.  Android가 정의한
 권한이라면 어떤 것이든 사용할 수 있고(
-{@link android.Manifest.permission android.Manifest.permission}에 목록으로 나열), 
-아니면 다른 애플리케이션이 선언한 권한을 사용해도 됩니다.  아예 직접 자신만의 권한을 정의해도 됩니다.  새 권한을 선언할 때에는 
+{@link android.Manifest.permission android.Manifest.permission}에 목록으로 나열),
+아니면 다른 애플리케이션이 선언한 권한을 사용해도 됩니다.  아예 직접 자신만의 권한을 정의해도 됩니다.  새 권한을 선언할 때에는
 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 요소를 사용합니다.  예를 들어 액티비티를 보호하려면 다음과 같이 하면 됩니다.
 </p>
 
@@ -457,43 +457,43 @@
 </pre>
 
 <p>
-이 예시에서는 {@code DEBIT_ACCT} 권한이 
+이 예시에서는 {@code DEBIT_ACCT} 권한이
 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-요소로 선언하였을 뿐만 아니라, 해당 권한의 사용 또한 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-요소로 요청되었다는 점을 눈여겨 보십시오.  이것의 사용을 요청해야 애플리케이션의 다른 구성 요소가 보호된 
-액티비티를 시작할 수 있습니다. 이는 해당 보호를 애플리케이션 자신이 부과한 것이더라도 
-관계 없이 적용됩니다.  
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+요소로 선언하였을 뿐만 아니라, 해당 권한의 사용 또한
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+요소로 요청되었다는 점을 눈여겨 보십시오.  이것의 사용을 요청해야 애플리케이션의 다른 구성 요소가 보호된
+액티비티를 시작할 수 있습니다. 이는 해당 보호를 애플리케이션 자신이 부과한 것이더라도
+관계 없이 적용됩니다.
 </p>
 
 <p>
-같은 예시에서, {@code permission} 속성이 다른 곳에서 
+같은 예시에서, {@code permission} 속성이 다른 곳에서
 선언한 권한에 설정된 경우
-(예: {@code android.permission.CALL_EMERGENCY_NUMBERS}), 이것을 
+(예: {@code android.permission.CALL_EMERGENCY_NUMBERS}), 이것을
 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-요소를 사용하여 다시 선언할 필요가 없습니다.  하지만 해당 권한의 사용은 여전히 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>로 요청해야 합니다. 
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+요소를 사용하여 다시 선언할 필요가 없습니다.  하지만 해당 권한의 사용은 여전히
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>로 요청해야 합니다.
 </p>
 
 <p>
 
-<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code> 
-요소는 코드로 정의될 권한 그룹에 대한 네임스페이스를 
-선언합니다.  그리고 
+<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code>
+요소는 코드로 정의될 권한 그룹에 대한 네임스페이스를
+선언합니다.  그리고
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-가 권한 집합에 대한 레이블을 정의합니다(매니페스트에 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-요소로 선언한 것과 다른 곳에서 선언한 것 양쪽 모두).  이것은 권한이 사용자에게 표시될 때 
-그룹 지정될 방식에만 영향을 미칩니다.  
+가 권한 집합에 대한 레이블을 정의합니다(매니페스트에
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+요소로 선언한 것과 다른 곳에서 선언한 것 양쪽 모두).  이것은 권한이 사용자에게 표시될 때
+그룹 지정될 방식에만 영향을 미칩니다.
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-요소는 그룹에 어느 권한이 속해 있는지 지정하는 것이 아니라, 그저 
-그룹에 이름을 부여할 뿐입니다.  그룹에 권한을 배치하려면 그룹 이름을 
+요소는 그룹에 어느 권한이 속해 있는지 지정하는 것이 아니라, 그저
+그룹에 이름을 부여할 뿐입니다.  그룹에 권한을 배치하려면 그룹 이름을
 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-요소의 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+요소의
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code>
 속성에 할당하면 됩니다.
 </p>
 
@@ -501,17 +501,17 @@
 <h3 id="libs">라이브러리</h3>
 
 <p>
-모든 애플리케이션은 기본 Android 라이브러리에 연결되어 있습니다. 여기에는 
-애플리케이션 구축을 위한 기본적인 패키지(액티비티, 서비스, 
-인텐트, 보기, 버튼, 애플리케이션, ContentProvider 등 보편적인 클래스 포함)가 포함되어 
+모든 애플리케이션은 기본 Android 라이브러리에 연결되어 있습니다. 여기에는
+애플리케이션 구축을 위한 기본적인 패키지(액티비티, 서비스,
+인텐트, 보기, 버튼, 애플리케이션, ContentProvider 등 보편적인 클래스 포함)가 포함되어
 있습니다.
 </p>
 
 <p>
-그러나 패키지 가운데에는 자신만의 라이브러리에 속한 것도 있습니다.  애플리케이션이 
-사용하는 코드의 출처가 이러한 패키지 가운데 어느 한 가지에 해당되는 경우, 해당 패키지에 연결되도록 
-명시적으로 요청해야만 합니다.  매니페스트에는 별도의 
-<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code> 
-요소가 들어 있어 각 라이브러리의 이름을 나타내야 합니다  (라이브러리 이름은 패키지에 대한 
+그러나 패키지 가운데에는 자신만의 라이브러리에 속한 것도 있습니다.  애플리케이션이
+사용하는 코드의 출처가 이러한 패키지 가운데 어느 한 가지에 해당되는 경우, 해당 패키지에 연결되도록
+명시적으로 요청해야만 합니다.  매니페스트에는 별도의
+<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code>
+요소가 들어 있어 각 라이브러리의 이름을 나타내야 합니다  (라이브러리 이름은 패키지에 대한
 관련 문서에서 찾을 수 있습니다).
 </p>
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/ko/guide/topics/providers/calendar-provider.jd
index 4d69b60..a2a20af 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">인텐트를 사용하여 캘린더 데이터 보기</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">동기화 어댑터</a></li>
 </ol>
 
@@ -56,47 +56,47 @@
 </div>
 </div>
 
-<p>캘린더 제공자는 사용자의 캘린더 이벤트를 저장하는 리포지토리입니다. 
-캘린더 제공자 API를 사용하면 캘린더, 이벤트, 참석자, 알림 등의 쿼리, 삽입, 업데이트 및 
+<p>캘린더 제공자는 사용자의 캘린더 이벤트를 저장하는 리포지토리입니다.
+캘린더 제공자 API를 사용하면 캘린더, 이벤트, 참석자, 알림 등의 쿼리, 삽입, 업데이트 및
 삭제 등의 작업을 수행할 수 있습니다.</p>
 
 
-<p>캘린더 제공자 API는 애플리케이션과 동기화 어댑터에서 사용할 수 있습니다. 
-어떤 유형의 프로그램이 호출을 하는 주체인지에 따라 규칙이 각기 다릅니다. 
-이 문서는 주로 캘린더 제공자 API를 애플리케이션으로 사용하는 것에 주안점을 두었습니다. 
-여러 동기화 어댑터가 서로 어떻게 다른지 논의한 내용은 
+<p>캘린더 제공자 API는 애플리케이션과 동기화 어댑터에서 사용할 수 있습니다.
+어떤 유형의 프로그램이 호출을 하는 주체인지에 따라 규칙이 각기 다릅니다.
+이 문서는 주로 캘린더 제공자 API를 애플리케이션으로 사용하는 것에 주안점을 두었습니다.
+여러 동기화 어댑터가 서로 어떻게 다른지 논의한 내용은
 <a href="#sync-adapter">동기화 어댑터</a>를 참조하십시오.</p>
 
 
-<p>캘린더 데이터를 읽거나 쓰려면 보통 애플리케이션의 매니페스트에 
-적절한 권한이 포함되어 있어야 합니다. 이는 <a href="#manifest">사용자 
+<p>캘린더 데이터를 읽거나 쓰려면 보통 애플리케이션의 매니페스트에
+적절한 권한이 포함되어 있어야 합니다. 이는 <a href="#manifest">사용자
 권한</a>에 설명되어 있습니다. 공통 작업을 쉽게 수행하기 위해 캘린더
 제공자는 <a href="#intents">캘린더
-인텐트</a>에 설명된 바와 같이 인텐트 집합을 제공합니다. 이와 같은 인텐트는 사용자를 캘린더 애플리케이션으로 이동시켜 
-이벤트 삽입, 보기 및 편집을 할 수 있게 해줍니다. 사용자는 캘린더 애플리케이션과 상호 작용한 다음 
-원래 애플리케이션으로 돌아옵니다. 따라서, 여러분의 애플리케이션이 이벤트를 보거나 
+인텐트</a>에 설명된 바와 같이 인텐트 집합을 제공합니다. 이와 같은 인텐트는 사용자를 캘린더 애플리케이션으로 이동시켜
+이벤트 삽입, 보기 및 편집을 할 수 있게 해줍니다. 사용자는 캘린더 애플리케이션과 상호 작용한 다음
+원래 애플리케이션으로 돌아옵니다. 따라서, 여러분의 애플리케이션이 이벤트를 보거나
 생성하기 위해 권한 허가를 요청할 필요도 없고 사용자 인터페이스를 제공할 필요도 없는 것입니다.</p>
 
 <h2 id="overview">기본 정보</h2>
 
-<p><a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a>는 데이터를 저장하여 애플리케이션에서 
+<p><a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a>는 데이터를 저장하여 애플리케이션에서
 이에 액세스할 수 있도록 합니다. 일반적으로, Android 플랫폼에서 제공하는 콘텐츠 제공자(캘린더 제공자 포함)는
 관계 데이터베이스 모델에 기초하여 테이블 집합으로 데이터를 노출합니다. 이 모델에서 각 행은 레코드이고,
-각 열은 특정한 유형과 의미를 가진 데이터입니다. 애플리케이션과 동기화 어댑터는 
-캘린더 제공자 API를 통해 사용자의 캘린더 데이터를 보관하고 있는 데이터베이스 테이블에 
+각 열은 특정한 유형과 의미를 가진 데이터입니다. 애플리케이션과 동기화 어댑터는
+캘린더 제공자 API를 통해 사용자의 캘린더 데이터를 보관하고 있는 데이터베이스 테이블에
 읽기/쓰기 액세스 권한을 얻을 수 있습니다.</p>
 
 <p>모든 콘텐츠 제공자는 데이터 세트를 고유하게 식별하는 공개 URI(
-{@link android.net.Uri} 
+{@link android.net.Uri}
 개체로 래핑됨)를 노출합니다.  여러 데이터 세트(여러 테이블)를 제어하는 콘텐츠 제공자는
-각 데이터 세트에 별도의 URI를 노출합니다.  
-제공자에 대한 URI는 모두 문자열 "content://"로 시작합니다.  
-이것을 보면 데이터를 콘텐츠 제공자가 제어하고 있다는 것을 알아볼 수 있습니다. 
-캘린더 제공자가 각각의 클래스(테이블)에 대한 URI의 상수를 정의합니다. 
-이와 같은 URI는 <code><em>&lt;class&gt;</em>.CONTENT_URI</code> 형식을 취합니다. 
+각 데이터 세트에 별도의 URI를 노출합니다.
+제공자에 대한 URI는 모두 문자열 "content://"로 시작합니다.
+이것을 보면 데이터를 콘텐츠 제공자가 제어하고 있다는 것을 알아볼 수 있습니다.
+캘린더 제공자가 각각의 클래스(테이블)에 대한 URI의 상수를 정의합니다.
+이와 같은 URI는 <code><em>&lt;class&gt;</em>.CONTENT_URI</code> 형식을 취합니다.
 예를 들면 다음과 같습니다. {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}</p>
 
-<p>그림 1은 캘린더 제공자 데이터 모델을 그림으로 나타낸 것입니다. 
+<p>그림 1은 캘린더 제공자 데이터 모델을 그림으로 나타낸 것입니다.
 이 그림에는 메인 테이블과이들을 서로 연결하는 필드가 표시되어 있습니다.</p>
 
 <img src="{@docRoot}images/providers/datamodel.png" alt="Calendar Provider Data Model" />
@@ -113,77 +113,77 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>이 테이블에는 캘린더별 정보가 담겨 있습니다.
- 이 테이블의 행마다 한 캘린더의 세부 정보, 
+ 이 테이블의 행마다 한 캘린더의 세부 정보,
 예를 들어 이름, 색상, 동기화 정보 등이 들어갑니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>이 테이블에는 이벤트별 정보가 담겨 있습니다.
  이 테이블의 행마다 한 이벤트의 세부 정보
 예를 들어 이벤트 제목, 위치, 시작 시간, 종료 시간 등의 정보가 들어갑니다.
- 이벤트는 일회성일 수도 있고 여러 번 반복될 수도 있습니다. 
-참석자, 알림 및 확장된 속성 등은 별도의 테이블에 저장됩니다. 
-이들 테이블에는 각기 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}가 있어 
+ 이벤트는 일회성일 수도 있고 여러 번 반복될 수도 있습니다.
+참석자, 알림 및 확장된 속성 등은 별도의 테이블에 저장됩니다.
+이들 테이블에는 각기 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}가 있어
 이벤트 테이블의 {@link android.provider.BaseColumns#_ID}를 참조합니다.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
-    <td>이 테이블에는 각 이벤트 발생의 시작 시간과 종료 시간이 
+
+    <td>이 테이블에는 각 이벤트 발생의 시작 시간과 종료 시간이
 담겨 있습니다. 이 테이블의 각 행이 하나의 이벤트 발생을 나타냅니다.
  일회성 이벤트의 경우, 이벤트에 대한 1:1 인스턴스 매핑이 있습니다.
- 반복되는 이벤트의 경우, 해당 이벤트가 여러 번 발생하는 것에 맞추어 
+ 반복되는 이벤트의 경우, 해당 이벤트가 여러 번 발생하는 것에 맞추어
 자동으로 여러 행이 생성됩니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>이 테이블에는 이벤트 참석자(게스트) 정보가 담겨 있습니다.
  각 행이 주어진 이벤트의 게스트 한 사람을 나타냅니다.
- 이것이 게스트의 유형과, 이벤트에 대한 해당 게스트의 참석 여부 응답을 
+ 이것이 게스트의 유형과, 이벤트에 대한 해당 게스트의 참석 여부 응답을
 나타냅니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>이 테이블에는 경고/알림 데이터가 담겨 있습니다.
- 각 행이 주어진 이벤트에 대한 경고 하나를 나타냅니다. 
+ 각 행이 주어진 이벤트에 대한 경고 하나를 나타냅니다.
 이벤트 하나에 여러 개의 알림이 있을 수 있습니다. 이벤트당 최대 알림 개수는
 
-{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS}에서 지정되고, 
+{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS}에서 지정되고,
 이는 주어진 캘린더를 소유한 동기화 어댑터가 설정합니다.
- 알림은 이벤트 몇 분 전에 지정되며 사용자에게 어떻게 경고할 것인지를 
+ 알림은 이벤트 몇 분 전에 지정되며 사용자에게 어떻게 경고할 것인지를
 결정하는 메서드를 가지고 있습니다.</td>
   </tr>
-  
+
 </table>
 
-<p>캘린더 제공자 API는 유연성과 강력함을 염두에 두고 만들어진 것입니다. 
-그와 동시에 우수한 최종 사용자 경험을 제공하고 캘린더와 그 데이터의 
+<p>캘린더 제공자 API는 유연성과 강력함을 염두에 두고 만들어진 것입니다.
+그와 동시에 우수한 최종 사용자 경험을 제공하고 캘린더와 그 데이터의
 무결성을 보호하는 것 또한 중요합니다. 이를 위해서
 API를 사용할 때 유념해야 할 사항은 다음과 같습니다.</p>
 
 <ul>
 
-<li><strong>캘린더 이벤트 삽입, 업데이트 및 보기.</strong> 캘린더 제공자로부터 직접 이벤트를 삽입, 변경하고 읽으려면 적절한 <a href="#manifest">권한</a>이 필요합니다. 그러나, 완전한 캘린더 애플리케이션 또는 동기화 어댑터를 구축하는 경우가 아니라면 이와 같은 권한을 요청할 필요가 없습니다. 대신 Android의 캘린더 애플리케이션이 지원하는 인텐트를 사용하여 해당 애플리케이션에 읽기 및 쓰기 작업을 분배하면 됩니다. 인텐트를 사용하면, 애플리케이션이 사용자를 캘린더 애플리케이션으로 보내 사전에 작성된 양식으로 원하는 작업을 
-수행하게 합니다. 작업이 끝나면 사용자는 애플리케이션으로 돌아옵니다. 
-캘린더를 통해 공통 작업을 수행하도록 애플리케이션을 설계함으로써 사용자에게 일관되고 강력한 
+<li><strong>캘린더 이벤트 삽입, 업데이트 및 보기.</strong> 캘린더 제공자로부터 직접 이벤트를 삽입, 변경하고 읽으려면 적절한 <a href="#manifest">권한</a>이 필요합니다. 그러나, 완전한 캘린더 애플리케이션 또는 동기화 어댑터를 구축하는 경우가 아니라면 이와 같은 권한을 요청할 필요가 없습니다. 대신 Android의 캘린더 애플리케이션이 지원하는 인텐트를 사용하여 해당 애플리케이션에 읽기 및 쓰기 작업을 분배하면 됩니다. 인텐트를 사용하면, 애플리케이션이 사용자를 캘린더 애플리케이션으로 보내 사전에 작성된 양식으로 원하는 작업을
+수행하게 합니다. 작업이 끝나면 사용자는 애플리케이션으로 돌아옵니다.
+캘린더를 통해 공통 작업을 수행하도록 애플리케이션을 설계함으로써 사용자에게 일관되고 강력한
 사용자 인터페이스를 제공하는 것입니다. 이것이 권장 방법입니다.
  자세한 정보는 <a href="#intents">캘린더
 인텐트</a>를 참조하십시오.</p>
 
 
-<li><strong>동기화 어댑터.</strong> 
-동기화 어댑터는 사용자의 기기에 있는 캘린더 데이터를 다른 서버 또는 데이터 소스와 동기화합니다. 
+<li><strong>동기화 어댑터.</strong>
+동기화 어댑터는 사용자의 기기에 있는 캘린더 데이터를 다른 서버 또는 데이터 소스와 동기화합니다.
 {@link android.provider.CalendarContract.Calendars}와
 {@link android.provider.CalendarContract.Events} 테이블에는
 동기화 어댑터가 사용하도록 예약된 열이 있습니다.
-제공자와 애플리케이션은 이를 수정해서는 안 됩니다. 사실, 동기화 어댑터로 액세스하지 않는 한 
-이 열이 표시되지 않습니다. 
+제공자와 애플리케이션은 이를 수정해서는 안 됩니다. 사실, 동기화 어댑터로 액세스하지 않는 한
+이 열이 표시되지 않습니다.
 동기화 어댑터에 대한 자세한 정보는 <a href="#sync-adapter">동기화 어댑터</a>를 참조하십시오.</li>
 
 </ul>
@@ -192,8 +192,8 @@
 <h2 id="manifest">사용자 권한</h2>
 
 <p>캘린더 데이터를 읽으려면 애플리케이션의 매니페스트 파일에 {@link
-android.Manifest.permission#READ_CALENDAR} 권한이 포함되어 있어야 합니다. 
-캘린더 데이터를 삭제, 삽입 또는 업데이트하려면{@link android.Manifest.permission#WRITE_CALENDAR} 
+android.Manifest.permission#READ_CALENDAR} 권한이 포함되어 있어야 합니다.
+캘린더 데이터를 삭제, 삽입 또는 업데이트하려면{@link android.Manifest.permission#WRITE_CALENDAR}
 권한이 포함되어 있어야 합니다.</p>
 
 <pre>
@@ -209,10 +209,10 @@
 
 <h2 id="calendar">캘린더 테이블</h2>
 
-<p>{@link android.provider.CalendarContract.Calendars} 
-테이블에는 각각의 캘린더에 대한 세부 정보가 들어 있습니다. 
-다음 캘린더 열은 애플리케이션과 <a href="#sync-adapter">동기화 어댑터</a> 모두 쓸 수 있는 것입니다. 
-지원되는 필드의 전체 목록은 
+<p>{@link android.provider.CalendarContract.Calendars}
+테이블에는 각각의 캘린더에 대한 세부 정보가 들어 있습니다.
+다음 캘린더 열은 애플리케이션과 <a href="#sync-adapter">동기화 어댑터</a> 모두 쓸 수 있는 것입니다.
+지원되는 필드의 전체 목록은
 {@link android.provider.CalendarContract.Calendars} 참조를 확인하십시오.</p>
 <table>
   <tr>
@@ -229,8 +229,8 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
-    <td>캘린더를 표시하기로 선택했는지를 나타내는 부울입니다. 
+
+    <td>캘린더를 표시하기로 선택했는지를 나타내는 부울입니다.
 값이 0이면 이 캘린더와 연관된 이벤트는 표시하면 안 된다는 뜻입니다.
   값이 1이면 이 캘린더와 연관된 이벤트를 표시해야 한다는 뜻입니다.
  이 값이 {@link
@@ -240,10 +240,10 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
-    <td>캘린더를 동기화하고 이 캘린더의 이벤트를 기기에 저장해야할지를 
-나타내는 부울입니다. 값이 0이면 이 캘린더를 동기화하거나 이에 속한 이벤트를 
-기기에 저장하면 안 된다는 뜻입니다.  값이 1이면 이 캘린더에 대한 이벤트를 동기화하고 이에 속한 
+
+    <td>캘린더를 동기화하고 이 캘린더의 이벤트를 기기에 저장해야할지를
+나타내는 부울입니다. 값이 0이면 이 캘린더를 동기화하거나 이에 속한 이벤트를
+기기에 저장하면 안 된다는 뜻입니다.  값이 1이면 이 캘린더에 대한 이벤트를 동기화하고 이에 속한
 이벤트를 기기에 저장하라는 뜻입니다.</td>
   </tr>
 </table>
@@ -253,8 +253,8 @@
 <p>다음은 특정한 사용자가 소유한 캘린더를 가져오는 법을 나타낸 예시입니다.
  이 예시에서는 단순하게 나타내기 위해 쿼리 작업을 사용자 인터페이스 스레드("주 스레드")에 표시했습니다.
  실제로는, 이 작업은 주 스레드 대신 비동기화 스레드에서 해야 합니다.
- 자세한 논의는 
-<a href="{@docRoot}guide/components/loaders.html">로더</a>를 참조하십시오. 데이터를 읽기만 하는 것이 아니라 변경도 하는 경우라면, 
+ 자세한 논의는
+<a href="{@docRoot}guide/components/loaders.html">로더</a>를 참조하십시오. 데이터를 읽기만 하는 것이 아니라 변경도 하는 경우라면,
 {@link android.content.AsyncQueryHandler}를 참조하십시오.
 </p>
 
@@ -268,90 +268,90 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>
 ACCOUNT_TYPE을 반드시 포함시켜야 하는 이유는 무엇일까요?</h3> <p>{@link
 android.provider.CalendarContract.Calendars#ACCOUNT_NAME
-Calendars.ACCOUNT_NAME}에 대해 쿼리하는 경우, 해당 선택에 
+Calendars.ACCOUNT_NAME}에 대해 쿼리하는 경우, 해당 선택에
 {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
-도 포함시켜야 합니다. 이는 주어진 계정을 고유하다고 간주하는 것은 해당 계정의 
-<code>ACCOUNT_NAME</code> 및 
-<code>ACCOUNT_TYPE</code>이 모두 있을 때뿐이기 때문입니다. <code>ACCOUNT_TYPE</code>은 계정이 
+도 포함시켜야 합니다. 이는 주어진 계정을 고유하다고 간주하는 것은 해당 계정의
+<code>ACCOUNT_NAME</code> 및
+<code>ACCOUNT_TYPE</code>이 모두 있을 때뿐이기 때문입니다. <code>ACCOUNT_TYPE</code>은 계정이
 
 {@link android.accounts.AccountManager}로 등록되었을 때 사용된 계정 인증자에 상응하는 문자열입니다. 기기와 연관되지 않은 캘린더에 적용되는 특별한 유형의 계정도 있으며 이를 {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}이라고 합니다.
 {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} 계정은 동기화되지 않습니다.
-</p> </div> </div> 
+</p> </div> </div>
 
 
 <p> 다음 예시에서는 여러분이 직접 나름의 쿼리를 생성해보십시오. 선택 영역이 쿼리의 기준을 나타냅니다.
- 이 예시에서 쿼리는 
+ 이 예시에서 쿼리는
 <code>ACCOUNT_NAME</code>
 "sampleuser@google.com", <code>ACCOUNT_TYPE</code>
 "com.google" 및 <code>OWNER_ACCOUNT</code>
-"sampleuser@google.com"을 가지고 있는 캘린더를 찾고 있습니다. 사용자가 소유한 캘린더뿐만 아니라 사용자가 전에 본 캘린더까지 모두 확인하려면 
-<code>OWNER_ACCOUNT</code>를 생략합니다. 
+"sampleuser@google.com"을 가지고 있는 캘린더를 찾고 있습니다. 사용자가 소유한 캘린더뿐만 아니라 사용자가 전에 본 캘린더까지 모두 확인하려면
+<code>OWNER_ACCOUNT</code>를 생략합니다.
 쿼리가 {@link android.database.Cursor}
 개체를 반환하여 이를 시용하면 데이터베이스 쿼리가 반환한 결과 집합을 트래버스할 수 있습니다.
- 콘텐츠 제공자에서 쿼리를 사용하는 법에 대한 자세한 논의는 
+ 콘텐츠 제공자에서 쿼리를 사용하는 법에 대한 자세한 논의는
 <a href="{@docRoot}guide/topics/providers/content-providers.html">콘텐츠 제공자</a>를 참조하십시오.</p>
 
 
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
-<p>다음에 표시된 섹션에서는 커서를 사용하여 결과 집합을 단계별로 살펴봅니다. 
+<p>다음에 표시된 섹션에서는 커서를 사용하여 결과 집합을 단계별로 살펴봅니다.
 여기에서는 예시의 시작 부분에서 설정된 상수를 사용하여 각 필드에 대한 값을 반환합니다.
 </p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">캘린더 수정</h3>
 
 <p>캘린더 업데이트를 수행하려면 캘린더의 {@link
-android.provider.BaseColumns#_ID}를 
+android.provider.BaseColumns#_ID}를
 URI에 추가된 ID로
 
 ({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}), 또는 첫 번째 선택 항목으로 제공하면 됩니다.
- 
-선택은 <code>&quot;_id=?&quot;</code>로 시작해야 하며, 첫 번째 
+
+선택은 <code>&quot;_id=?&quot;</code>로 시작해야 하며, 첫 번째
 <code>selectionArg</code>는 캘린더의 {@link
-android.provider.BaseColumns#_ID}여야 합니다. 
-또한 ID를 URI에 인코딩해서도 업데이트를 수행할 수 있습니다. 이 예시에서는 캘린더의 표시 이름을 
+android.provider.BaseColumns#_ID}여야 합니다.
+또한 ID를 URI에 인코딩해서도 업데이트를 수행할 수 있습니다. 이 예시에서는 캘린더의 표시 이름을
 
 ({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 방식으로 변경하였습니다.</p>
@@ -368,26 +368,26 @@
 
 <h3 id="insert-calendar">캘린더 삽입</h2>
 
-<p>캘린더는 주로 동기화 어댑터가 관리하도록 설계되어 있습니다. 따라서 새 캘린더는 
-동기화 어댑터로서만 삽입해야 합니다. 대다수의 경우 애플리케이션은 캘린더에 
-표면적인 사항만 변경할 수 있게 되어 있습니다(예: 표시 이름 변경 등). 
-어떤 애플리케이션이 로컬 캘린더를 생성해야 하는 경우, 캘린더 삽입을 동기화 어댑터로 수행하면 됩니다. 
+<p>캘린더는 주로 동기화 어댑터가 관리하도록 설계되어 있습니다. 따라서 새 캘린더는
+동기화 어댑터로서만 삽입해야 합니다. 대다수의 경우 애플리케이션은 캘린더에
+표면적인 사항만 변경할 수 있게 되어 있습니다(예: 표시 이름 변경 등).
+어떤 애플리케이션이 로컬 캘린더를 생성해야 하는 경우, 캘린더 삽입을 동기화 어댑터로 수행하면 됩니다.
 이때 {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}의 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE}을 사용합니다.
 {@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 은 기기 계정과 연관되지 않은 캘린더에 적용되는 특별한 유형의 계정입니다.
- 이 유형의 캘린더는 서버에 동기화되지 않습니다. 
+ 이 유형의 캘린더는 서버에 동기화되지 않습니다.
 동기화 어댑터에 대한 논의는 <a href="#sync-adapter">동기화 어댑터</a>를 참조하십시오.</p>
 
 <h2 id="events">이벤트 테이블</h2>
 
-<p>{@link android.provider.CalendarContract.Events} 
-테이블에는 각각의 이벤트에 대한 세부 정보가 들어 있습니다. 이벤트를 추가, 업데이트 또는 삭제하려면 애플리케이션의 
+<p>{@link android.provider.CalendarContract.Events}
+테이블에는 각각의 이벤트에 대한 세부 정보가 들어 있습니다. 이벤트를 추가, 업데이트 또는 삭제하려면 애플리케이션의
 <a href="#manifest">매니페스트 파일</a>에 {@link android.Manifest.permission#WRITE_CALENDAR}
 권한이 포함되어 있어야 합니다.</p>
 
-<p>다음 이벤트 열은 애플리케이션과 
+<p>다음 이벤트 열은 애플리케이션과
 동기화 어댑터 모두 쓸 수 있는 것입니다. 지원되는 필드의 전체 목록은 {@link
 android.provider.CalendarContract.Events} 참조를 확인하십시오.</p>
 
@@ -434,9 +434,9 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>이벤트 기간을 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a> 형식으로 나타낸 것입니다.
-예를 들어 <code>&quot;PT1H&quot;</code> 값을 보면 이벤트가 한 시간 지속될 것임을 알 수 있고, 
+예를 들어 <code>&quot;PT1H&quot;</code> 값을 보면 이벤트가 한 시간 지속될 것임을 알 수 있고,
 <code>&quot;P2W&quot;</code>는 2주의 지속 기간을 나타냅니다.
  </td>
 
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>값이 1이면 이 이벤트가 현지 시간대에서 정의한 바에 의해 하루 종일 걸린다는 것을 나타냅니다.
  값이 0이면 이것이 하루 중 언제라도 시작하고 종료될 수 있는 정기 이벤트라는 것을 나타냅니다.
 </td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
-    <td>이벤트 형식의 반복 규칙입니다. 
-예를 들면 다음과 같습니다. <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code> 더 많은 예시를 확인하려면 
+
+    <td>이벤트 형식의 반복 규칙입니다.
+예를 들면 다음과 같습니다. <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code> 더 많은 예시를 확인하려면
 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">여기</a>를 참조하십시오.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>이벤트의 반복 날짜입니다. 
+    <td>이벤트의 반복 날짜입니다.
 일반적으로 {@link android.provider.CalendarContract.EventsColumns#RDATE}
 를 {@link android.provider.CalendarContract.EventsColumns#RRULE}
 과 함께 사용하여 반복되는 발생의 집계 집합을 정의하게 됩니다.
  자세한 논의는 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 사양</a>을 참조하십시오.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>이 이벤트가 사용 중인 시간으로 간주되는지, 다시 일정을 예약할 수 있는 자유 시간으로 간주되는지를 나타냅니다.
  </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -494,7 +494,7 @@
 
 <h3 id="add-event">이벤트 추가</h3>
 
-<p>애플리케이션이 새 이벤트를 추가하는 경우, 
+<p>애플리케이션이 새 이벤트를 추가하는 경우,
 {@link android.content.Intent#ACTION_INSERT INSERT} 인텐트를 사용하는 것이 좋습니다. 이때 <a href="#intent-insert">인텐트를 사용하여 이벤트 삽입</a>에서 설명한 대로 따릅니다. 그러나, 필요한 경우 직접 이벤트를 삽입해도 됩니다.
  이 섹션에서는 이렇게 하는 방법을 설명합니다.
 </p>
@@ -508,39 +508,39 @@
 android.provider.CalendarContract.EventsColumns#DTSTART}를 포함해야 합니다.</li>
 
 <li>{@link
-android.provider.CalendarContract.EventsColumns#EVENT_TIMEZONE}을 포함해야 합니다. 
+android.provider.CalendarContract.EventsColumns#EVENT_TIMEZONE}을 포함해야 합니다.
 시스템에 설치된 표준 시간대 ID 목록을 가져오려면 {@link
 java.util.TimeZone#getAvailableIDs()}를 사용하십시오. 이 규칙은 <a href="#intent-insert">인텐트를 사용하여 이벤트 삽입</a>에서 설명한 바와 같이
 {@link
 android.content.Intent#ACTION_INSERT INSERT} 인텐트를 통해서 이벤트를 삽입할 경우에는 적용되지 않습니다. 이 시나리오의 경우,
 기본 시간대가 제공됩니다.</li>
-  
+
   <li>비반복적인 이벤트의 경우, {@link
 android.provider.CalendarContract.EventsColumns#DTEND}를 포함해야 합니다. </li>
-  
-  
+
+
   <li>반복적인 이벤트의 경우 {@link
 android.provider.CalendarContract.EventsColumns#DURATION}과 {@link
 android.provider.CalendarContract.EventsColumns#RRULE} 또는 {@link
 android.provider.CalendarContract.EventsColumns#RDATE}를 포함해야 합니다. 이 규칙은 <a href="#intent-insert">인텐트를 사용하여 이벤트 삽입</a>에서 설명한 바와 같이
 {@link
-android.content.Intent#ACTION_INSERT INSERT} 인텐트를 통해서 이벤트를 삽입할 경우에는 적용되지 않습니다. 
+android.content.Intent#ACTION_INSERT INSERT} 인텐트를 통해서 이벤트를 삽입할 경우에는 적용되지 않습니다.
 이 시나리오에서는 {@link android.provider.CalendarContract.EventsColumns#DTSTART} 및 {@link android.provider.CalendarContract.EventsColumns#DTEND}와 함께 {@link
 android.provider.CalendarContract.EventsColumns#RRULE}를 사용할 수 있고, 캘린더 애플리케이션이 이것을 기간으로 자동 변환해줍니다.
 </li>
-  
+
 </ul>
 
 <p>다음은 이벤트 삽입의 예입니다. 단순하게 나타내기 위해 UI 스레드에서 수행한 것입니다.
  실제로, 삽입과 업데이트는 비동기화 스레드에서 수행해야 작업을 배경 스레드로 이동시킬 수 있습니다.
- 
+
 자세한 정보는 {@link android.content.AsyncQueryHandler}를 참조하십시오.</p>
 
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,13 +561,13 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
 
 <p class="note"><strong>참고:</strong> 이벤트가 생성된 다음 이 예시가 이벤트 ID를 캡처하는 법을 눈여겨 보십시오.
- 이것이 이벤트 ID를 가져오는 가장 쉬운 방법입니다. 
+ 이것이 이벤트 ID를 가져오는 가장 쉬운 방법입니다.
 다른 캘린더 작업을 수행하기 위해 이벤트 ID가 필요한 경우가 자주 있습니다. 예를 들어 이벤트에 참석자나 알림을 추가하는 데 필요합니다.
 </p>
 
@@ -577,15 +577,15 @@
 <p>애플리케이션이 사용자에게 이벤트 편집을 허용할 경우, <a href="#intent-edit">인텐트로 이벤트 편집</a>에서 설명한 바와 같이
 {@link android.content.Intent#ACTION_EDIT EDIT} 인텐트
 를 사용하는 것이 좋습니다.
-그러나 필요한 경우 직접 이벤트를 편집해도 됩니다. 
+그러나 필요한 경우 직접 이벤트를 편집해도 됩니다.
 이벤트 업데이트를 수행하려면 이벤트의 <code>_ID</code>를 URI에 추가된 ID로({@link
-android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 또는 첫 번째 선택 항목으로 제공하면 됩니다.
- 
-선택은 <code>&quot;_id=?&quot;</code>로 시작해야 하며, 첫 번째 
-<code>selectionArg</code>는 이벤트의 <code>_ID</code>여야 합니다. 
+
+선택은 <code>&quot;_id=?&quot;</code>로 시작해야 하며, 첫 번째
+<code>selectionArg</code>는 이벤트의 <code>_ID</code>여야 합니다.
 ID 없이 선택을 사용해도 업데이트를 수행할 수 있습니다. 다음은 이벤트 업데이트의 예입니다.
- 여기에서는 이벤트 제목을 변경할 때 
+ 여기에서는 이벤트 제목을 변경할 때
 {@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}
  방법을 사용합니다.</p>
 
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -608,11 +608,11 @@
 <p>이벤트를 삭제하려면 이벤트의 {@link
 android.provider.BaseColumns#_ID}를 URI에 추가된 ID로 써도 되고, 표준 선택을 사용해도 됩니다.
  추가된 ID를 사용하는 경우, 선택도 할 수 없습니다.
-삭제에는 두 가지 버전이 있습니다. 애플리케이션으로 삭제와 동기화 어댑터로의 삭제입니다. 
-애플리케이션 삭제의 경우 <em>삭제된</em> 열을 1로 설정합니다. 
-이것은 동기화 어댑터에 행이 삭제되었다고 알리는 플래그이며, 
-이 삭제를 서버에 알려야 한다는 것을 나타내기도 합니다. 
-동기화 어댑터 삭제의 경우, 이벤트를 연관된 데이터 일체와 함께 데이터베이스에서 제거합니다. 
+삭제에는 두 가지 버전이 있습니다. 애플리케이션으로 삭제와 동기화 어댑터로의 삭제입니다.
+애플리케이션 삭제의 경우 <em>삭제된</em> 열을 1로 설정합니다.
+이것은 동기화 어댑터에 행이 삭제되었다고 알리는 플래그이며,
+이 삭제를 서버에 알려야 한다는 것을 나타내기도 합니다.
+동기화 어댑터 삭제의 경우, 이벤트를 연관된 데이터 일체와 함께 데이터베이스에서 제거합니다.
 다음은 애플리케이션이 이벤트를 {@link android.provider.BaseColumns#_ID}를 통해 삭제하는 예입니다.</p>
 
 
@@ -625,22 +625,22 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">참석자 테이블</h2>
 
 <p>{@link android.provider.CalendarContract.Attendees} 테이블의 각 행은
-이벤트의 참석자 또는 게스트 하나를 나타냅니다. 
+이벤트의 참석자 또는 게스트 하나를 나타냅니다.
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
-를호출하면 주어진 
-{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}와 함께 해당 이벤트의 참석자 목록을 반환합니다. 
+를호출하면 주어진
+{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}와 함께 해당 이벤트의 참석자 목록을 반환합니다.
 이 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}는
  특정 이벤트의 {@link
-android.provider.BaseColumns#_ID}와 반드시 일치해야 합니다.</p> 
+android.provider.BaseColumns#_ID}와 반드시 일치해야 합니다.</p>
 
 <p>다음 표는 쓸 수 있는 필드를 목록으로 나열한 것입니다.
- 새 참석자를 삽입하는 경우 이 모두를 포함해야 하며, 
+ 새 참석자를 삽입하는 경우 이 모두를 포함해야 하며,
 단 <code>ATTENDEE_NAME</code>은 예외입니다.
 </p>
 
@@ -697,7 +697,7 @@
 
 <h3 id="add-attendees">참석자 추가</h3>
 
-<p>다음은 이벤트에 참석자 한 명을 추가하는 예입니다. 
+<p>다음은 이벤트에 참석자 한 명을 추가하는 예입니다.
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 가 필수인 점을 유념하십시오.</p>
 
@@ -717,8 +717,8 @@
 
 <h2 id="reminders">알림 테이블</h2>
 
-<p>{@link android.provider.CalendarContract.Reminders} 
-테이블의 각 행은 이벤트의 알림 하나를 나타냅니다. 
+<p>{@link android.provider.CalendarContract.Reminders}
+테이블의 각 행은 이벤트의 알림 하나를 나타냅니다.
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 를 호출하면
 
 주어진 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}와 함께 이벤트 알림 목록을 반환합니다.</p>
@@ -728,7 +728,7 @@
  동기화 어댑터가 {@link
 android.provider.CalendarContract.Calendars} 테이블에서 지원하는 알림을 나타낸다는 점을 눈여겨 보십시오.
  자세한 내용은
-{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS} 
+{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}
 를 참조하십시오.</p>
 
 
@@ -774,15 +774,15 @@
 <h2 id="instances">인스턴스 테이블</h2>
 
 <p>
-{@link android.provider.CalendarContract.Instances} 테이블에는 
+{@link android.provider.CalendarContract.Instances} 테이블에는
 이벤트 발생의 시작 및 종료 시간이 담겨 있습니다. 이 테이블의 각 행이 하나의 이벤트 발생을 나타냅니다.
  이 인스턴스 테이블은 쓸 수 없으며 이벤트 발생 쿼리 방법을 제공할 뿐입니다.
  </p>
 
-<p>다음 표에는 인스턴스에 대해 쿼리할 수 있는 몇 가지 필드를 목록으로 나열하였습니다. 
-표준 시간대가 
+<p>다음 표에는 인스턴스에 대해 쿼리할 수 있는 몇 가지 필드를 목록으로 나열하였습니다.
+표준 시간대가
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
- 및 
+ 및
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}에 의해 정의된다는 점을 눈여겨 보십시오.</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>인스턴스의 율리우스력 종료 날짜를 캘린더의 시간대에 비례하여 나타낸 것입니다.
- 
-    
+
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>인스턴스의 종료 시간(분 단위)을 캘린더 시간대의 자정부터 측정한 것입니다.
 </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>인스턴스의 율리우스력 시작 날짜를 캘린더의 시간대에 비례하여 나타낸 것입니다. 
+    <td>인스턴스의 율리우스력 시작 날짜를 캘린더의 시간대에 비례하여 나타낸 것입니다.
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>인스턴스의 시작 시간(분 단위)을 캘린더 시간대에 비례하여 자정부터 측정한 것입니다.
- 
+
 </td>
-    
+
   </tr>
 
 </table>
@@ -839,10 +839,10 @@
 <p>인스턴스 테이블을 쿼리하려면, 해당 쿼리에 대한 범위 시간을 URI에 지정해야 합니다.
  이 예시에서는 {@link android.provider.CalendarContract.Instances}
 가 {@link
-android.provider.CalendarContract.EventsColumns#TITLE} 필드에 액세스 권한을 얻으며, 이때 
-{@link android.provider.CalendarContract.EventsColumns} 인터페이스의 구현을 통합니다. 
+android.provider.CalendarContract.EventsColumns#TITLE} 필드에 액세스 권한을 얻으며, 이때
+{@link android.provider.CalendarContract.EventsColumns} 인터페이스의 구현을 통합니다.
 바꿔 말하면, {@link
-android.provider.CalendarContract.EventsColumns#TITLE}이 
+android.provider.CalendarContract.EventsColumns#TITLE}이
 데이터베이스 보기를 통해 반환되며 원시 {@link
 android.provider.CalendarContract.Instances} 테이블 쿼리를 통해서가 아니라는 뜻입니다.</p>
 
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -922,9 +922,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}로도 URI를 참조할 수 있습니다. 
-이 인텐트 사용법의 예시를 보려면 <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">인텐트를 사용하여 캘린더 데이터 보기</a>를 참조하십시오. 
+
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}로도 URI를 참조할 수 있습니다.
+이 인텐트 사용법의 예시를 보려면 <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">인텐트를 사용하여 캘린더 데이터 보기</a>를 참조하십시오.
 
     </td>
     <td>캘린더를 <code>&lt;ms_since_epoch&gt;</code>에 의해 지정된 시간으로 엽니다.</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다. 
+
+
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다.
 이 인텐트 사용법의 예시를 보려면 <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">인텐트를 사용하여 캘린더 데이터 보기</a>를 참조하십시오.
-    
+
     </td>
     <td><code>&lt;event_id&gt;</code>에 의해 지정된 이벤트를 봅니다.</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다. 
+
+
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다.
 이 인텐트 사용법의 예시를 보려면 <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">인텐트를 사용하여 이벤트 편집</a>을 참조하십시오.
-    
-    
+
+
     </td>
     <td><code>&lt;event_id&gt;</code>에 의해 지정된 이벤트를 편집합니다.</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다. 
+
+
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}로도 URI를 참조할 수 있습니다.
 이 인텐트 사용법의 예시를 보려면 <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">인텐트를 사용하여 이벤트 삽입</a>을 참조하십시오.
-    
+
     </td>
 
     <td>이벤트를 생성합니다.</td>
@@ -996,7 +996,7 @@
     <td>이벤트의 이름입니다.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>이벤트 시작 시간을 Epoch로부터 밀리초 단위로 나타낸 것입니다.</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>이벤트 종료 시간을 Epoch로부터 밀리초 단위로 나타낸 것입니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
-    <td>이벤트가 종일 이벤트인지 나타내는 부울입니다. 값은 
+
+    <td>이벤트가 종일 이벤트인지 나타내는 부울입니다. 값은
 <code>true</code> 또는 <code>false</code>가 될 수 있습니다.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>이벤트 위치입니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>이벤트 설명입니다.</td>
   </tr>
   <tr>
@@ -1039,43 +1039,43 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>이벤트가 비공개인지 공개인지 나타냅니다.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>이 이벤트가 사용 중인 시간으로 간주되는지, 다시 일정을 예약할 수 있는 자유 시간으로 간주되는지를 나타냅니다.</td>
-    
-</table> 
+
+</table>
 <p>아래 섹션에서는 이와 같은 인텐트의 사용법을 설명합니다.</p>
 
 
 <h3 id="intent-insert">인텐트를 사용하여 이벤트 삽입</h3>
 
-<p>{@link android.content.Intent#ACTION_INSERT INSERT} 인텐트를 사용하면 
+<p>{@link android.content.Intent#ACTION_INSERT INSERT} 인텐트를 사용하면
 캘린더에 이벤트 삽입 작업을 분배할 수 있습니다.
 이 방법을 사용하는 경우, 애플리케이션의 <a href="#manifest">매니페스트 파일</a>에 {@link
 android.Manifest.permission#WRITE_CALENDAR} 권한을 포함할 필요가 없습니다.</p>
 
-  
+
 <p>사용자가 이 방법을 사용하는 애플리케이션을 실행하면 해당 애플리케이션이
 사용자를 캘린더로 보내 이벤트 추가를 완료합니다. {@link
 android.content.Intent#ACTION_INSERT INSERT} 인텐트는 추가 필드를 사용하여
-캘린더에 있는 이벤트 세부 정보로 양식을 미리 채웁니다. 
-그러면 사용자가 이벤트를 취소하거나 양식을 필요에 따라 편집할 수 있고, 
+캘린더에 있는 이벤트 세부 정보로 양식을 미리 채웁니다.
+그러면 사용자가 이벤트를 취소하거나 양식을 필요에 따라 편집할 수 있고,
 이벤트를 본인의 캘린더에 저장할 수도 있습니다.</p>
-  
 
 
-<p>다음은 2012년 1월 19일에 이벤트 일정을 예약하는 코드 조각으로, 
+
+<p>다음은 2012년 1월 19일에 이벤트 일정을 예약하는 코드 조각으로,
 이는 오전 7:30~오전 8:30까지 실행됩니다. 이 코드 조각에 관해서는 다음 내용을 주의하십시오.</p>
 
 <ul>
   <li>이것은 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}를 URI로 지정합니다.
 </li>
-  
+
   <li>이것은 {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} 및 {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} 추가 필드를 사용하여 이벤트 시간으로 양식을 미리 채웁니다.
  이러한 시간에 해당하는 값은 Epoch로부터 UTC 밀리초 단위로 표시해야 합니다.
 </li>
-  
+
   <li>이것은 {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 추가 필드를 사용하여 쉼표로 구분된 초청인 목록을 제공하며, 이는 이메일 주소로 나타납니다.</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1108,7 +1108,7 @@
 <h3 id="intent-edit">인텐트를 사용하여 이벤트 편집</h3>
 
 <p><a href="#update-event">이벤트 업데이트</a>에서 설명한 바와 같이 이벤트를 직접 업데이트할 수 있습니다. 그러나 {@link
-android.content.Intent#ACTION_EDIT EDIT} 인텐트를 사용하면 
+android.content.Intent#ACTION_EDIT EDIT} 인텐트를 사용하면
 캘린더 애플리케이션에 이벤트 편집을 분배할 권한이 없는 애플리케이션을 허용합니다.
 사용자가 캘린더에서 이벤트 편집을 마치면 원래 애플리케이션으로 돌아오게 됩니다.
 </p> <p>다음은 지정된 이벤트에 새 제목을 설정하여 사용자에게 캘린더에서 이벤트를 편집할 수 있도록 해주는 인텐트의 예입니다.
@@ -1158,18 +1158,18 @@
 
 <ul>
   <li>동기화 어댑터는 {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER}를 <code>true</code>로 설정하여 이것이 동기화 어댑터라는 것을 나타내야 합니다.</li>
-  
-  
+
+
   <li>동기화 어댑터는 URI에서 쿼리 매개변수로 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME}과 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE}을 제공해야 합니다. </li>
-  
+
   <li>동기화 어댑터에는 애플리케이션 또는 위젯에 비해 더 많은 열에 대한 쓰기 액세스 권한이 있습니다.
-  예를 들어, 애플리케이션은 캘린더의 몇 가지 특성만 수정할 수 있습니다. 
+  예를 들어, 애플리케이션은 캘린더의 몇 가지 특성만 수정할 수 있습니다.
 즉 이름, 표시 이름, 가시성 설정 및 캘린더 동기화 여부 등만 해당됩니다.
  이에 비해 동기화 어댑터의 경우 이 열만이 아니라 다른 수많은 열에도 액세스할 수 있습니다.
 예를 들어 캘린더 색상, 표준 시간대, 액세스 수준 등이 해당됩니다.
-다만, 동기화 어댑터는 지정된 <code>ACCOUNT_NAME</code> 및 
+다만, 동기화 어댑터는 지정된 <code>ACCOUNT_NAME</code> 및
 <code>ACCOUNT_TYPE</code>에 한정됩니다.</li> </ul>
 
 <p>다음은 URI를 반환하여 동기화 어댑터와 사용하도록 할 때 쓸 수 있는 도우미 메서드입니다.</p>
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>동기화 어댑터의 샘플 구현(캘린더에 구체적으로 관련된 것이 아님)은 
+<p>동기화 어댑터의 샘플 구현(캘린더에 구체적으로 관련된 것이 아님)은
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdpater</a>를 참조하십시오.
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/ko/guide/topics/providers/contacts-provider.jd
index 94d3295..ad60b6d 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/contacts-provider.jd
@@ -83,12 +83,12 @@
 </div>
 <p>
     콘텐츠 제공자는 기기의 사람에 대한 중앙 데이터 리포지토리를 관리하는 강력하고 유연한
-Android 구성 요소입니다. 콘텐츠 제공자는 기기의 연락처 애플리케이션에서 개발자에게 표시되는 
-데이터의 출처입니다. 여기의 데이터에는 개발자 자신의 애플리케이션에서 
-액세스하여 기기와 온라인 서비스 사이에서 데이터를 전송할 수도 있습니다. 제공자는 
-광범위한 데이터 소스를 수용하며 각 인물에 대해 가능한 한 많은 데이터를 관리하여야 하므로, 그 결과 조직이 무척 
-복잡합니다. 이 때문에 이 제공자의 API에는 
-광범위한 계약 클래스와 인터페이스 세트가 포함되어 있어 데이터 검색과 수정을 모두 한층 
+Android 구성 요소입니다. 콘텐츠 제공자는 기기의 연락처 애플리케이션에서 개발자에게 표시되는
+데이터의 출처입니다. 여기의 데이터에는 개발자 자신의 애플리케이션에서
+액세스하여 기기와 온라인 서비스 사이에서 데이터를 전송할 수도 있습니다. 제공자는
+광범위한 데이터 소스를 수용하며 각 인물에 대해 가능한 한 많은 데이터를 관리하여야 하므로, 그 결과 조직이 무척
+복잡합니다. 이 때문에 이 제공자의 API에는
+광범위한 계약 클래스와 인터페이스 세트가 포함되어 있어 데이터 검색과 수정을 모두 한층
 용이하게 해줍니다.
 </p>
 <p>
@@ -105,23 +105,23 @@
             제공자에서 데이터를 수정하는 방법.
         </li>
         <li>
-            동기화 어댑터를 작성하여 서버에서 가져온 데이터를 연락처 제공자와 
+            동기화 어댑터를 작성하여 서버에서 가져온 데이터를 연락처 제공자와
 동기화하는 방법.
         </li>
     </ul>
 <p>
-    이 가이드는 독자가 Android 콘텐츠 제공자의 기본 정보를 알고 있는 것으로 간주합니다. Android 콘텐츠 제공자에 
-관한 자세한 내용은 
+    이 가이드는 독자가 Android 콘텐츠 제공자의 기본 정보를 알고 있는 것으로 간주합니다. Android 콘텐츠 제공자에
+관한 자세한 내용은
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
-콘텐츠 제공자 기본 정보</a> 가이드를 읽어보십시오. 
+콘텐츠 제공자 기본 정보</a> 가이드를 읽어보십시오.
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">샘플 동기화 어댑터</a>
 샘플 앱은 동기화 어댑터를 사용하여 연락처 제공자와 Google Web Services가 호스팅하는 샘플 애플리케이션 사이에서
 데이터를 전송하는 동기화 어댑터의 사용 예시입니다.
 </p>
 <h2 id="InformationTypes">연락처 제공자 조직</h2>
 <p>
-    연락처 제공자는 Android 콘텐츠 제공자 구성 요소입니다. 이것은 한 사람에 대해 
-각기 세 가지 유형의 데이터를 관리합니다. 각 데이터는 그림 1에서 설명하는 바와 같이 제공자가 제공하는 
+    연락처 제공자는 Android 콘텐츠 제공자 구성 요소입니다. 이것은 한 사람에 대해
+각기 세 가지 유형의 데이터를 관리합니다. 각 데이터는 그림 1에서 설명하는 바와 같이 제공자가 제공하는
 각 테이블에 상응합니다.
 </p>
 <img src="{@docRoot}images/providers/contacts_structure.png" alt="" height="364" id="figure1" />
@@ -129,7 +129,7 @@
   <strong>그림 1.</strong> 연락처 제공자 테이블 구조입니다.
 </p>
 <p>
-    이 세 개의 테이블은 보통 자신의 계약 클래스의 이름으로 불립니다. 이들 클래스는 
+    이 세 개의 테이블은 보통 자신의 계약 클래스의 이름으로 불립니다. 이들 클래스는
 테이블에서 사용하는 콘텐츠 URI, 열 이름 및 열 값의 상수를 정의합니다.
 </p>
 <dl>
@@ -153,29 +153,29 @@
     </dd>
 </dl>
 <p>
-    {@link android.provider.ContactsContract}의 계약 클래스가 대표하는 다른 테이블은 
-보조 테이블로, 연락처 제공자는 이들을 사용하여 작업을 관리하거나 기기의 연락처에 있는 
+    {@link android.provider.ContactsContract}의 계약 클래스가 대표하는 다른 테이블은
+보조 테이블로, 연락처 제공자는 이들을 사용하여 작업을 관리하거나 기기의 연락처에 있는
 특정 기능 또는 전화 통신 애플리케이션 등을 지원합니다.
 </p>
 <h2 id="RawContactBasics">원시 연락처</h2>
 <p>
-    원시 연락처는 단일 계정 유형과 계정 이름에서 가져오는 
-한 사람의 데이터를 나타냅니다. 연락처 제공자는 한 사람에 대해 하나 이상의 온라인 서비스를 데이터의 출처로 허용하므로, 
+    원시 연락처는 단일 계정 유형과 계정 이름에서 가져오는
+한 사람의 데이터를 나타냅니다. 연락처 제공자는 한 사람에 대해 하나 이상의 온라인 서비스를 데이터의 출처로 허용하므로,
 연락처 제공자에서는 같은 사람에 대해 여러 개의 원시 연락처를 허용합니다.
-    원시 연락처를 여러 개 사용하면 사용자가 같은 계정 유형의 하나 이상의 계정에서 가져온 
+    원시 연락처를 여러 개 사용하면 사용자가 같은 계정 유형의 하나 이상의 계정에서 가져온
 한 사람의 여러 데이터를 조합할 수 있습니다.
 </p>
 <p>
-    원시 연락처의 데이터 대부분은 
-{@link android.provider.ContactsContract.RawContacts} 테이블에 저장되지 않습니다. 대신, 
+    원시 연락처의 데이터 대부분은
+{@link android.provider.ContactsContract.RawContacts} 테이블에 저장되지 않습니다. 대신,
 {@link android.provider.ContactsContract.Data} 테이블에서 하나 이상의 행에 저장됩니다. 각 데이터 행에는
-상위 {@link android.provider.ContactsContract.RawContacts} 행의 {@code android.provider.BaseColumns#_ID RawContacts._ID} 값을 포함하는 
-열 {@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID Data.RAW_CONTACT_ID}가 
+상위 {@link android.provider.ContactsContract.RawContacts} 행의 {@code android.provider.BaseColumns#_ID RawContacts._ID} 값을 포함하는
+열 {@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID Data.RAW_CONTACT_ID}가
 있습니다.
 </p>
 <h3 id="RawContactsColumns">중요한 원시 연락처 열</h3>
 <p>
-    {@link android.provider.ContactsContract.RawContacts} 테이블의 중요한 열은 
+    {@link android.provider.ContactsContract.RawContacts} 테이블의 중요한 열은
 표 1에 나열되어 있습니다. 표 뒤에 이어지는 참고 사항을 꼭 읽어주십시오.
 </p>
 <p class="table-caption" id="table1">
@@ -193,13 +193,13 @@
         </td>
         <td>
             이 원시 연락처의 소스인 계정 유형에 대한 계정 이름입니다.
-            예를 들어, Google 계정의 계정 이름은 
-기기 소유자의 Gmail 주소 중 하나입니다. 자세한 정보는 
-{@link android.provider.ContactsContract.SyncColumns#ACCOUNT_TYPE}의 
+            예를 들어, Google 계정의 계정 이름은
+기기 소유자의 Gmail 주소 중 하나입니다. 자세한 정보는
+{@link android.provider.ContactsContract.SyncColumns#ACCOUNT_TYPE}의
 다음 항목을 참조하십시오.
         </td>
         <td>
-            이 이름의 형식은 각자의 계정 유형별로 다릅니다. 이것은 꼭 
+            이 이름의 형식은 각자의 계정 유형별로 다릅니다. 이것은 꼭
 이메일 주소여야 하는 것은 아닙니다.
         </td>
     </tr>
@@ -208,13 +208,13 @@
             {@link android.provider.ContactsContract.SyncColumns#ACCOUNT_TYPE}
         </td>
         <td>
-            이 원시 연락처의 소스인 계정 유형입니다. 예를 들어, Google 계정의 
-계정 유형은 <code>com.google</code>입니다. 계정 유형을 정규화할 때에는 항상 
-본인이 소유하거나 제어하는 도메인의 도메인 식별자를 사용하십시오. 이렇게 하면 계정 유형이 고유한 것이도록 
+            이 원시 연락처의 소스인 계정 유형입니다. 예를 들어, Google 계정의
+계정 유형은 <code>com.google</code>입니다. 계정 유형을 정규화할 때에는 항상
+본인이 소유하거나 제어하는 도메인의 도메인 식별자를 사용하십시오. 이렇게 하면 계정 유형이 고유한 것이도록
 확실히 해둘 수 있습니다.
         </td>
         <td>
-            연락처 데이터를 제공하는 계정 유형은 대개 연락처 제공자와 동기화되는 동기화 어댑터와 
+            연락처 데이터를 제공하는 계정 유형은 대개 연락처 제공자와 동기화되는 동기화 어댑터와
 연관되어 있습니다.
     </tr>
     <tr>
@@ -225,44 +225,44 @@
             원시 연락처에 대한 "삭제됨" 플래그입니다.
         </td>
         <td>
-            이 플래그를 사용하면 연락처 제공자가 해당 행을 내부에 계속 유지할 수 있습니다. 
-이는 동기화 어댑터가 해당 행을 자신의 서버에서 삭제하고 마침내는 행을 리포지토리에서도 삭제할 수 있을 
+            이 플래그를 사용하면 연락처 제공자가 해당 행을 내부에 계속 유지할 수 있습니다.
+이는 동기화 어댑터가 해당 행을 자신의 서버에서 삭제하고 마침내는 행을 리포지토리에서도 삭제할 수 있을
 때까지만입니다.
         </td>
     </tr>
 </table>
 <h4>참고</h4>
 <p>
-    다음은 
+    다음은
 {@link android.provider.ContactsContract.RawContacts} 테이블에 관한 중요한 참고 사항입니다.
 </p>
 <ul>
     <li>
-        원시 연락처의 이름은 
-{@link android.provider.ContactsContract.RawContacts}에 있는 자신의 행에 저장되지 않습니다. 대신, 
-{@link android.provider.ContactsContract.CommonDataKinds.StructuredName} 행에 있는 
-{@link android.provider.ContactsContract.Data} 테이블에 저장됩니다. 원시 연락처 하나에는 
+        원시 연락처의 이름은
+{@link android.provider.ContactsContract.RawContacts}에 있는 자신의 행에 저장되지 않습니다. 대신,
+{@link android.provider.ContactsContract.CommonDataKinds.StructuredName} 행에 있는
+{@link android.provider.ContactsContract.Data} 테이블에 저장됩니다. 원시 연락처 하나에는
 {@link android.provider.ContactsContract.Data} 테이블에서 이런 유형의 행이 하나씩만 있습니다.
     </li>
     <li>
-        <strong>주의:</strong> 원시 연락처에서 본인의 계정 데이터를 사용하려면 이를 우선 
-{@link android.accounts.AccountManager}로 등록해야 합니다. 이렇게 하려면, 
-사용자에게 계정 유형과 본인의 계정 이름을 계정 목록에 추가하라는 프롬프트를 표시하십시오. 이렇게 하지 않으면, 
+        <strong>주의:</strong> 원시 연락처에서 본인의 계정 데이터를 사용하려면 이를 우선
+{@link android.accounts.AccountManager}로 등록해야 합니다. 이렇게 하려면,
+사용자에게 계정 유형과 본인의 계정 이름을 계정 목록에 추가하라는 프롬프트를 표시하십시오. 이렇게 하지 않으면,
 연락처 제공자가 원시 연락처 행을 자동으로 삭제합니다.
         <p>
-            예를 들어, 앱에서 도메인 {@code com.example.dataservice}로 웹 베이스 서비스에 대한 연락처 데이터를 유지하고 
-서비스에 대한 사용자 계정이 
-{@code becky.sharp@dataservice.example.com}이라면, 사용자는 앱이 원시 연락처 행을 추가하기 전에 
+            예를 들어, 앱에서 도메인 {@code com.example.dataservice}로 웹 베이스 서비스에 대한 연락처 데이터를 유지하고
+서비스에 대한 사용자 계정이
+{@code becky.sharp@dataservice.example.com}이라면, 사용자는 앱이 원시 연락처 행을 추가하기 전에
 계정 "유형"({@code com.example.dataservice})과 계정 "이름"
 ({@code becky.smart@dataservice.example.com})을 먼저 추가해야 합니다.
-            이 요구 사항을 사용자에게 설명하려면 관련 문서를 사용해도 되고, 아니면 사용자에게 
-유형과 이름을 추가하라는 프롬프트를 표시해도 되고 두 가지 방법을 다 써도 됩니다. 계정 유형과 계정 이름은 
+            이 요구 사항을 사용자에게 설명하려면 관련 문서를 사용해도 되고, 아니면 사용자에게
+유형과 이름을 추가하라는 프롬프트를 표시해도 되고 두 가지 방법을 다 써도 됩니다. 계정 유형과 계정 이름은
 다음 섹션에서 더 자세히 설명되어 있습니다.
     </li>
 </ul>
 <h3 id="RawContactsExample">원시 연락처 데이터 소스</h3>
 <p>
-    원시 연락처의 작동 원리를 이해하기 위해, 다음과 같이 기기에서 정의한 사용자 계정 세 가지를 보유한 사용자 "Emily Dickinson"이 있다고 
+    원시 연락처의 작동 원리를 이해하기 위해, 다음과 같이 기기에서 정의한 사용자 계정 세 가지를 보유한 사용자 "Emily Dickinson"이 있다고
 가정해 봅시다.
 </p>
 <ul>
@@ -275,11 +275,11 @@
 활성화했습니다.
 </p>
 <p>
-    Emily Dickinson이 브라우저 창을 열고, 
+    Emily Dickinson이 브라우저 창을 열고,
 Gmail에 <code>emily.dickinson@gmail.com</code>으로 로그인하고,
-연락처를 열어서 "Thomas Higginson"을 추가한다고 가정하겠습니다. 이 사용자는 나중에 Gmail에 
-<code>emilyd@gmail.com</code>으로 로그인하고 "Thomas Higginson"에게 이메일을 전송합니다. 
-이렇게 하면 이 사람을 자동으로 연락처로 추가합니다. Emily는 Twitter에서 "colonel_tom"(Thomas Higginson의 Twitter ID)도 
+연락처를 열어서 "Thomas Higginson"을 추가한다고 가정하겠습니다. 이 사용자는 나중에 Gmail에
+<code>emilyd@gmail.com</code>으로 로그인하고 "Thomas Higginson"에게 이메일을 전송합니다.
+이렇게 하면 이 사람을 자동으로 연락처로 추가합니다. Emily는 Twitter에서 "colonel_tom"(Thomas Higginson의 Twitter ID)도
 팔로우합니다.
 </p>
 <p>
@@ -292,34 +292,34 @@
     </li>
     <li>
         <code>emilyd@gmail.com</code>과 연관된 "Thomas Higginson"의 두 번째 원시 연락처입니다.
-        사용자 계정 유형은 마찬가지로 Google입니다. 이름이 이전 이름과 똑같더라도 두 번째 원시 연락처가 
-더해집니다. 왜냐하면 이 사람은 아까와 다른 
+        사용자 계정 유형은 마찬가지로 Google입니다. 이름이 이전 이름과 똑같더라도 두 번째 원시 연락처가
+더해집니다. 왜냐하면 이 사람은 아까와 다른
 사용자 계정에 추가되었기 때문입니다.
     </li>
     <li>
-        "belle_of_amherst"와 연관된 "Thomas Higginson"의 세 번째 원시 연락처입니다. 사용자 
+        "belle_of_amherst"와 연관된 "Thomas Higginson"의 세 번째 원시 연락처입니다. 사용자
 계정 유형은 Twitter입니다.
     </li>
 </ol>
 <h2 id="DataBasics">데이터</h2>
 <p>
     이전에 언급한 바와 같이, 원시 연락처의 데이터는
-원시 연락처의 <code>_ID</code> 값과 연결된{@link android.provider.ContactsContract.Data} 행에 
-저장됩니다. 이렇게 하면 하나의 원시 연락처에 같은 유형의 데이터의 인스턴스가 여러 개 있을 수 있게 됩니다. 
-예를 들어 이메일 주소 또는 전화 번호 등이 이에 해당됩니다. 예를 들어, 
+원시 연락처의 <code>_ID</code> 값과 연결된{@link android.provider.ContactsContract.Data} 행에
+저장됩니다. 이렇게 하면 하나의 원시 연락처에 같은 유형의 데이터의 인스턴스가 여러 개 있을 수 있게 됩니다.
+예를 들어 이메일 주소 또는 전화 번호 등이 이에 해당됩니다. 예를 들어,
 {@code emilyd@gmail.com}에 대한 "Thomas Higginson"(Google 계정 <code>emilyd@gmail.com</code>과 연관된 Thomas Higginson의
-원시 연락처)에는 
+원시 연락처)에는
 <code>thigg@gmail.com</code>이라는 집 이메일 주소와
 <code>thomas.higginson@gmail.com</code>이라는 직장 이메일 주소가 있고, 연락처 제공자는 두 개의 이메일 주소 행을 저장하고
 원시 연락처에 두 가지를 연결합니다.
 </p>
 <p>
-    이 테이블 하나에 여러 가지 유형의 데이터가 저장된 점에 주의하십시오. 표시 이름, 
-전화 번호, 이메일, 우편 주소, 사진 및 웹사이트 세부 정보 행은 모두 
-{@link android.provider.ContactsContract.Data} 테이블에서 찾을 수 있습니다. 이런 데이터 관리를 돕기 위해 
-{@link android.provider.ContactsContract.Data} 테이블에는 설명이 포함된 이름이 있는 열이 몇 개 있고 
-일반적 이름이 포함된 열도 몇 개 있습니다. 설명이 포함된 이름 열의 콘텐츠는 행 안의 데이터 유형과 관계 없이 모두 의미가 같고, 
-일반적인 이름 열의 콘텐츠는 데이터 유형에 따라 
+    이 테이블 하나에 여러 가지 유형의 데이터가 저장된 점에 주의하십시오. 표시 이름,
+전화 번호, 이메일, 우편 주소, 사진 및 웹사이트 세부 정보 행은 모두
+{@link android.provider.ContactsContract.Data} 테이블에서 찾을 수 있습니다. 이런 데이터 관리를 돕기 위해
+{@link android.provider.ContactsContract.Data} 테이블에는 설명이 포함된 이름이 있는 열이 몇 개 있고
+일반적 이름이 포함된 열도 몇 개 있습니다. 설명이 포함된 이름 열의 콘텐츠는 행 안의 데이터 유형과 관계 없이 모두 의미가 같고,
+일반적인 이름 열의 콘텐츠는 데이터 유형에 따라
 서로 의미가 다릅니다.
 </p>
 <h3 id="DescriptiveColumns">설명이 포함된 열 이름</h3>
@@ -337,9 +337,9 @@
         {@link android.provider.ContactsContract.Data#MIMETYPE}
     </dt>
     <dd>
-        이 행에 저장되는 데이터 유형으로, 사용자 지정 MIME 유형으로 표현됩니다. 연락처 제공자는 
-{@link android.provider.ContactsContract.CommonDataKinds}의 하위 클래스에서 정의된 
-MIME 유형을 사용합니다. 이러한 MIME 유형은 오픈 소스이고, 
+        이 행에 저장되는 데이터 유형으로, 사용자 지정 MIME 유형으로 표현됩니다. 연락처 제공자는
+{@link android.provider.ContactsContract.CommonDataKinds}의 하위 클래스에서 정의된
+MIME 유형을 사용합니다. 이러한 MIME 유형은 오픈 소스이고,
 연락처 제공자와 함께 사용할 수 있는 모든 애플리케이션 또는 동기화 어댑터가 사용할 수 있습니다.
     </dd>
     <dt>
@@ -347,25 +347,25 @@
     </dt>
     <dd>
         이 유형의 데이터 행이 원시 연락처에서 한 번 이상 발생하는 경우,
-{@link android.provider.ContactsContract.DataColumns#IS_PRIMARY} 열은 
-해당 유형의 기본 데이터가 들어있는 데이터 행을 플래그로 표시합니다. 예를 들어, 
-사용자가 연락처의 전화 번호를 길게 누르고 <strong>기본값으로 설정</strong>을 선택하면 
+{@link android.provider.ContactsContract.DataColumns#IS_PRIMARY} 열은
+해당 유형의 기본 데이터가 들어있는 데이터 행을 플래그로 표시합니다. 예를 들어,
+사용자가 연락처의 전화 번호를 길게 누르고 <strong>기본값으로 설정</strong>을 선택하면
 그 번호가 들어있는 {@link android.provider.ContactsContract.Data} 행이
-{@link android.provider.ContactsContract.DataColumns#IS_PRIMARY} 열을 
+{@link android.provider.ContactsContract.DataColumns#IS_PRIMARY} 열을
 0이 아닌 값으로 설정합니다.
     </dd>
 </dl>
 <h3 id="GenericColumns">일반 열 이름</h3>
 <p>
-    15개의 일반 열 중에서 <code>DATA1</code>부터 
-<code>DATA15</code>까지는 일반적으로 이용할 수 있고 이외에 추가로 마련된 네 개의 일반 
-열, 즉 <code>SYNC1</code>부터 <code>SYNC4</code>까지는 
-동기화 어댑터 전용입니다. 일반 열 이름 상수는 해당 행에 들어있는 데이터 유형과 관계 없이 
+    15개의 일반 열 중에서 <code>DATA1</code>부터
+<code>DATA15</code>까지는 일반적으로 이용할 수 있고 이외에 추가로 마련된 네 개의 일반
+열, 즉 <code>SYNC1</code>부터 <code>SYNC4</code>까지는
+동기화 어댑터 전용입니다. 일반 열 이름 상수는 해당 행에 들어있는 데이터 유형과 관계 없이
 언제나 통합니다.
 </p>
 <p>
-    <code>DATA1</code> 열은 색인됩니다.  연락처 제공자는 제공자가 가장 자주 쿼리의 대상이 될 것으로 예상하는 
-데이터에 대해 항상 이 열을 사용합니다. 예컨대 
+    <code>DATA1</code> 열은 색인됩니다.  연락처 제공자는 제공자가 가장 자주 쿼리의 대상이 될 것으로 예상하는
+데이터에 대해 항상 이 열을 사용합니다. 예컨대
 이메일 행의 경우, 이 열에 실제 이메일 주소가 들어있습니다.
 </p>
 <p>
@@ -374,36 +374,36 @@
 </p>
 <h3 id="TypeSpecificNames">유형별 열 이름</h3>
 <p>
-    특정 유형의 행에 대한 열과의 작업을 돕기 위해, 연락처 제공자는 
- 유형별 열 이름 상수도 제공합니다. 이는 
-{@link android.provider.ContactsContract.CommonDataKinds}의 하위 클래스에서 정의합니다. 이 상수는 그저 같은 열 이름에 
-서로 다른 상수 이름을 부여할 뿐이며, 이렇게 하면 개발자가 특정 유형의 행에 있는 데이터에 
+    특정 유형의 행에 대한 열과의 작업을 돕기 위해, 연락처 제공자는
+ 유형별 열 이름 상수도 제공합니다. 이는
+{@link android.provider.ContactsContract.CommonDataKinds}의 하위 클래스에서 정의합니다. 이 상수는 그저 같은 열 이름에
+서로 다른 상수 이름을 부여할 뿐이며, 이렇게 하면 개발자가 특정 유형의 행에 있는 데이터에
 액세스하기 쉽습니다.
 </p>
 <p>
-    예를 들어, {@link android.provider.ContactsContract.CommonDataKinds.Email} 클래스는 
+    예를 들어, {@link android.provider.ContactsContract.CommonDataKinds.Email} 클래스는
 MIME 유형{@link android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_ITEM_TYPE
 Email.CONTENT_ITEM_TYPE}을 갖는
-{@link android.provider.ContactsContract.Data} 행에 
+{@link android.provider.ContactsContract.Data} 행에
 대한 유형별 열 이름 상수를 정의합니다. 이 클래스에는 이메일 주소 열에 대한
- 상수 {@link android.provider.ContactsContract.CommonDataKinds.Email#ADDRESS}가 
-들어있습니다. 
-{@link android.provider.ContactsContract.CommonDataKinds.Email#ADDRESS}의 실제 값은 
+ 상수 {@link android.provider.ContactsContract.CommonDataKinds.Email#ADDRESS}가
+들어있습니다.
+{@link android.provider.ContactsContract.CommonDataKinds.Email#ADDRESS}의 실제 값은
 "data1"이고, 이는 열의 일반 이름과 같습니다.
 </p>
 <p class="caution">
-    <strong>주의:</strong> 개발자 본인의 사용자 지정 데이터를 
-{@link android.provider.ContactsContract.Data} 테이블에 
-추가할 때 제공자의 미리 정의된 MIME 유형 중 하나가 있는 행을 사용하면 안 됩니다. 그렇게 하면 데이터가 손실되거나 제공자의 오작동을 
-유발할 수 있습니다. 예를 들어, MIME 유형 
+    <strong>주의:</strong> 개발자 본인의 사용자 지정 데이터를
+{@link android.provider.ContactsContract.Data} 테이블에
+추가할 때 제공자의 미리 정의된 MIME 유형 중 하나가 있는 행을 사용하면 안 됩니다. 그렇게 하면 데이터가 손실되거나 제공자의 오작동을
+유발할 수 있습니다. 예를 들어, MIME 유형
     {@link android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_ITEM_TYPE
-    Email.CONTENT_ITEM_TYPE} 안에 
-<code>DATA1</code> 열에 있는 이메일 주소 대신 사용자 이름이 들어있는 행은 추가하면 안 됩니다. 해당 행에 개발자 나름의 사용자 지정 MIME 유형을 사용하는 경우 
+    Email.CONTENT_ITEM_TYPE} 안에
+<code>DATA1</code> 열에 있는 이메일 주소 대신 사용자 이름이 들어있는 행은 추가하면 안 됩니다. 해당 행에 개발자 나름의 사용자 지정 MIME 유형을 사용하는 경우
 본인만의 유형별 열 이름을 자유자재로 정의하고 이러한 열을 마음대로 사용해도 됩니다.
 </p>
 <p>
-    그림 2는 
-{@link android.provider.ContactsContract.Data} 행에서 설명 열과 데이터 열이 나타나는 방식과 유형별 열 이름이 
+    그림 2는
+{@link android.provider.ContactsContract.Data} 행에서 설명 열과 데이터 열이 나타나는 방식과 유형별 열 이름이
 일반 열 이름에 "오버레이"되는 방식을 나타낸 것입니다.
 </p>
 <img src="{@docRoot}images/providers/data_columns.png" alt="How type-specific column names map to generic column names" height="311" id="figure2" />
@@ -446,51 +446,51 @@
     <td>{@link android.provider.ContactsContract.CommonDataKinds.GroupMembership}</td>
     <td>원시 연락처를 연락처 제공자의 그룹 중 하나와 연결하는 식별자입니다.</td>
     <td>
-        그룹은 계정 유형과 계정 이름의 선택적 기능입니다. 이러한 내용은 
+        그룹은 계정 유형과 계정 이름의 선택적 기능입니다. 이러한 내용은
 <a href="#Groups">연락처 그룹</a> 섹션에 자세히 설명되어 있습니다.
     </td>
   </tr>
 </table>
 <h3 id="ContactBasics">연락처</h3>
 <p>
-    연락처 제공자는 모든 계정 유형과 계정 이름을 통틀어 원시 연락처 행을 조합하여 
-하나의 <strong>연락처</strong>를 형성합니다. 이렇게 하면 사용자가 한 사람에 대해 수집한 
-모든 데이터를 표시하고 수정하기 쉽습니다. 연락처 제공자는 새 연락처 행의 생성을 관리하고 
-원시 연락처를 기존 연락처 행과 통합하기도 합니다. 애플리케이션과 
+    연락처 제공자는 모든 계정 유형과 계정 이름을 통틀어 원시 연락처 행을 조합하여
+하나의 <strong>연락처</strong>를 형성합니다. 이렇게 하면 사용자가 한 사람에 대해 수집한
+모든 데이터를 표시하고 수정하기 쉽습니다. 연락처 제공자는 새 연락처 행의 생성을 관리하고
+원시 연락처를 기존 연락처 행과 통합하기도 합니다. 애플리케이션과
 동기화 어댑터는 모두 연락처를 추가할 수 없으며, 연락처 행에 있는 열 중 몇몇은 읽기 전용입니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 연락처 제공자에 연락처를 추가하려고 
-{@link android.content.ContentResolver#insert(Uri,ContentValues) insert()}를 사용하는 경우, 
-{@link java.lang.UnsupportedOperationException} 예외가 발생합니다. "읽기 전용"으로 표시된 열을 업데이트하려고 하면 
+    <strong>참고:</strong> 연락처 제공자에 연락처를 추가하려고
+{@link android.content.ContentResolver#insert(Uri,ContentValues) insert()}를 사용하는 경우,
+{@link java.lang.UnsupportedOperationException} 예외가 발생합니다. "읽기 전용"으로 표시된 열을 업데이트하려고 하면
 그 업데이트는 무시됩니다.
 </p>
 <p>
-    연락처 제공자는 기존 연락처 어느 것과도 일치하지 않는 새로운 원시 연락처가 추가되면 
-새로운 연락처를 생성합니다. 제공자가 이 작업을 하는 또 다른 경우는 
-기존 원시 연락처의 데이터가 변경되어 이전에 첨부되어 있던 연락처에 더 이상 일치하지 않는 
-경우입니다. 애플리케이션이나 동기화 어댑터가 
+    연락처 제공자는 기존 연락처 어느 것과도 일치하지 않는 새로운 원시 연락처가 추가되면
+새로운 연락처를 생성합니다. 제공자가 이 작업을 하는 또 다른 경우는
+기존 원시 연락처의 데이터가 변경되어 이전에 첨부되어 있던 연락처에 더 이상 일치하지 않는
+경우입니다. 애플리케이션이나 동기화 어댑터가
 기존 연락처와 <em>일치하는</em> 새로운 원시 연락처를 생성하면, 새로운 원시 연락처는
 기존 연락처에 통합됩니다.
 </p>
 <p>
     연락처 제공자는
-{@link android.provider.ContactsContract.Contacts Contacts} 테이블에 있는 연락처 행의 <code>_ID</code> 열로 
-연락처 행과 원시 연락처 행를 연결합니다. 원시 연락처 테이블 {@link android.provider.ContactsContract.RawContacts}의 <code>CONTACT_ID</code> 행에는 
-각 원시 연락처 행과 관련된 연락처 행에 대한 <code>_ID</code> 값이 
+{@link android.provider.ContactsContract.Contacts Contacts} 테이블에 있는 연락처 행의 <code>_ID</code> 열로
+연락처 행과 원시 연락처 행를 연결합니다. 원시 연락처 테이블 {@link android.provider.ContactsContract.RawContacts}의 <code>CONTACT_ID</code> 행에는
+각 원시 연락처 행과 관련된 연락처 행에 대한 <code>_ID</code> 값이
 들어있습니다.
 </p>
 <p>
     {@link android.provider.ContactsContract.Contacts} 테이블에는 연락처 행에 대한 "영구" 링크인
 {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} 열도
-있습니다. 연락처 제공자가 연락처를 자동으로 관리하므로, 
-통합이나 동기화에 응답하여 연락처 행의 {@code android.provider.BaseColumns#_ID} 값을 
-변경할 수도 있습니다. 이런 일이 발생한다 하더라도 콘텐츠 URI 
-{@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}와 
-연락처의 {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}는 여전히 
-연락처 행을 가리키므로, 
-{@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}를 
-사용하여 "즐겨찾기" 연락처에 대한 연결 등을 그대로 유지할 수 있습니다. 이 열에는 
+있습니다. 연락처 제공자가 연락처를 자동으로 관리하므로,
+통합이나 동기화에 응답하여 연락처 행의 {@code android.provider.BaseColumns#_ID} 값을
+변경할 수도 있습니다. 이런 일이 발생한다 하더라도 콘텐츠 URI
+{@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}와
+연락처의 {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}는 여전히
+연락처 행을 가리키므로,
+{@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}를
+사용하여 "즐겨찾기" 연락처에 대한 연결 등을 그대로 유지할 수 있습니다. 이 열에는
 {@code android.provider.BaseColumns#_ID} 열의 형식과 관련이 없는 나름의 형식이 있습니다.
 </p>
 <p>
@@ -502,17 +502,17 @@
 </p>
 <h2 id="Sources">동기화 어댑터의 데이터</h2>
 <p>
-    사용자가 연락처 데이터를 기기에 직접 입력하기도 하지만, 데이터는 웹 서비스에서 
-<strong>동기화 어댑터</strong>를 통해 연락처 제공자로 흘러들어가기도 합니다. 이것이 기기와 
-서비스 사이에서 데이터의 전송을 자동화하는 것입니다. 동기화 어댑터는 시스템의 제어를 받으며 
-배경에서 실행되고, {@link android.content.ContentResolver} 메서드를 
+    사용자가 연락처 데이터를 기기에 직접 입력하기도 하지만, 데이터는 웹 서비스에서
+<strong>동기화 어댑터</strong>를 통해 연락처 제공자로 흘러들어가기도 합니다. 이것이 기기와
+서비스 사이에서 데이터의 전송을 자동화하는 것입니다. 동기화 어댑터는 시스템의 제어를 받으며
+배경에서 실행되고, {@link android.content.ContentResolver} 메서드를
 호출하여 데이터를 관리합니다.
 </p>
 <p>
     Android에서 동기화 어댑터와 함께 작업하는 웹 서비스는 계정 유형으로 식별됩니다.
-    각 동기화 어댑터는 계정 유형 하나에 통하지만, 그 유형에 대한 여러 개의 계정이름을 
-지원할 수 있습니다. 계정 유형과 계정 이름은 
-<a href="#RawContactsExample">원시 연락처 데이터 소스</a> 섹션에 간단히 설명되어 있습니다. 다음 정의는 좀 더 자세한 내용을 제공하며, 
+    각 동기화 어댑터는 계정 유형 하나에 통하지만, 그 유형에 대한 여러 개의 계정이름을
+지원할 수 있습니다. 계정 유형과 계정 이름은
+<a href="#RawContactsExample">원시 연락처 데이터 소스</a> 섹션에 간단히 설명되어 있습니다. 다음 정의는 좀 더 자세한 내용을 제공하며,
 계정 유형과 이름이 동기화 어댑터와 서비스에 관련되는 방식을 설명합니다.
 </p>
 <dl>
@@ -520,34 +520,34 @@
         계정 유형
     </dt>
     <dd>
-        사용자가 데이터를 저장해둔 서비스를 식별합니다. 대부분의 경우, 사용자가 
-서비스로 인증해야 합니다. 예를 들어, Google 주소록은 계정 유형이고, 이는 
-코드 <code>google.com</code>으로 식별됩니다. 이 값은 
+        사용자가 데이터를 저장해둔 서비스를 식별합니다. 대부분의 경우, 사용자가
+서비스로 인증해야 합니다. 예를 들어, Google 주소록은 계정 유형이고, 이는
+코드 <code>google.com</code>으로 식별됩니다. 이 값은
 {@link android.accounts.AccountManager}가 사용하는 계정 유형에 상응합니다.
     </dd>
     <dt>
         계정 이름
     </dt>
     <dd>
-        하나의 계정 유형에 대한 특정 계정 또는 로그인을 식별합니다. Google 주소록 계정은 
+        하나의 계정 유형에 대한 특정 계정 또는 로그인을 식별합니다. Google 주소록 계정은
 Google 계정과 같고, 이는 계정 이름으로 이메일 주소를 사용합니다.
         다른 서비스는 한 단어로 된 사용자 이름이나 숫자 ID를 사용할 수 있습니다.
     </dd>
 </dl>
 <p>
-    계정 유형은 고유하지 않아도 됩니다. 한 사람의 사용자가 여러 개의 Google 주소록을 구성할 수 있고 
-그 데이터를 연락처 제공자에 다운로드할 수 있습니다. 이런 일은 사용자에게 
-개인용 계정 이름에 대한 개인용 연락처가 한 세트 있고, 업무용으로 또 한 세트가 있는 경우 일어납니다. 계정 이름은 보통 
-고유합니다. 이 둘은 함께 사용되어 연락처 제공자와 외부 서비스 사이의 특정 데이터 
+    계정 유형은 고유하지 않아도 됩니다. 한 사람의 사용자가 여러 개의 Google 주소록을 구성할 수 있고
+그 데이터를 연락처 제공자에 다운로드할 수 있습니다. 이런 일은 사용자에게
+개인용 계정 이름에 대한 개인용 연락처가 한 세트 있고, 업무용으로 또 한 세트가 있는 경우 일어납니다. 계정 이름은 보통
+고유합니다. 이 둘은 함께 사용되어 연락처 제공자와 외부 서비스 사이의 특정 데이터
 흐름을 식별합니다.
 </p>
 <p>
-    서비스의 데이터를 연락처 제공자에 전송하려면, 나름의 
-동기화 어댑터를 작성해야 합니다. 이 내용은 
+    서비스의 데이터를 연락처 제공자에 전송하려면, 나름의
+동기화 어댑터를 작성해야 합니다. 이 내용은
 <a href="#SyncAdapters">연락처 제공자 동기화 어댑터</a> 섹션에 자세히 설명되어 있습니다.
 </p>
 <p>
-    그림 4는 연락처 제공자가 사람에 대한 데이터 흐름에 
+    그림 4는 연락처 제공자가 사람에 대한 데이터 흐름에
 어떻게 들어맞는지 나타낸 것입니다. "동기화 어댑터"라고 표시된 상자에서, 각 어댑터에는 계정 유형에 따라 레이블이 붙어 있습니다.
 </p>
 <img src="{@docRoot}images/providers/ContactsDataFlow.png" alt="Flow of data about people" height="252" id="figure5" />
@@ -556,67 +556,67 @@
 </p>
 <h2 id="Permissions">필수 권한</h2>
 <p>
-    연락처 제공자에 액세스하고자 하는 애플리케이션은 다음 권한을 
+    연락처 제공자에 액세스하고자 하는 애플리케이션은 다음 권한을
 요청해야 합니다.
 </p>
 <dl>
     <dt>하나 이상의 테이블에 대한 읽기 액세스</dt>
     <dd>
-        {@link android.Manifest.permission#READ_CONTACTS}, 
-<code>AndroidManifest.xml</code>에서 
+        {@link android.Manifest.permission#READ_CONTACTS},
+<code>AndroidManifest.xml</code>에서
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">
-        &lt;uses-permission&gt;</a></code> 요소와 함께 
+        &lt;uses-permission&gt;</a></code> 요소와 함께
 <code>&lt;uses-permission android:name="android.permission.READ_CONTACTS"&gt;</code>로 지정된 것.
     </dd>
     <dt>하나 이상의 테이블에 대한 쓰기 액세스</dt>
     <dd>
-        {@link android.Manifest.permission#WRITE_CONTACTS}, 
-<code>AndroidManifest.xml</code>에서 
+        {@link android.Manifest.permission#WRITE_CONTACTS},
+<code>AndroidManifest.xml</code>에서
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">
-        &lt;uses-permission&gt;</a></code> 요소와 함께 
+        &lt;uses-permission&gt;</a></code> 요소와 함께
 <code>&lt;uses-permission android:name="android.permission.WRITE_CONTACTS"&gt;</code>로 지정된 것.
     </dd>
 </dl>
 <p>
-    이들 권한은 사용자 프로필 데이터로 확대되지 않습니다. 사용자 프로필과 
-필수 권한은 
+    이들 권한은 사용자 프로필 데이터로 확대되지 않습니다. 사용자 프로필과
+필수 권한은
 다음 섹션인 <a href="#UserProfile">사용자 프로필</a>에서 논의합니다.
 </p>
 <p>
-    사용자의 연락처 데이터는 중요한 개인 정보라는 사실을 명심하십시오. 사용자는 자신의 
+    사용자의 연락처 데이터는 중요한 개인 정보라는 사실을 명심하십시오. 사용자는 자신의
 개인정보보호를 중요하게 생각하고 신경 쓰기 때문에 애플리케이션이 자신이나 자신의 연락처에 관한 정보를 수집하는 것을 바라지 않습니다.
-    사용자의 연락처 데이터에 액세스할 권한이 필요한 이유가 분명하지 않으면 여러분의 
+    사용자의 연락처 데이터에 액세스할 권한이 필요한 이유가 분명하지 않으면 여러분의
 애플리케이션에 낮은 순위를 매기거나 설치를 거부할 수도 있습니다.
 </p>
 <h2 id="UserProfile">사용자 프로필</h2>
 <p>
-    {@link android.provider.ContactsContract.Contacts} 테이블에 있는 한 개의 행에는 기기의 사용자에 대한 프로필 
-데이터가 담겨 있습니다. 이 데이터는 사용자의 연락처 중 하나라기보다는 기기의 <code>user</code>를 
-설명하는 것입니다. 프로필 연락처 행은 
+    {@link android.provider.ContactsContract.Contacts} 테이블에 있는 한 개의 행에는 기기의 사용자에 대한 프로필
+데이터가 담겨 있습니다. 이 데이터는 사용자의 연락처 중 하나라기보다는 기기의 <code>user</code>를
+설명하는 것입니다. 프로필 연락처 행은
 프로필을 사용하는 각 시스템에 대한 원시 연락처 행에 연결되어 있습니다.
-    각 프로필 원시 연락처 행에는 여러 개의 데이터 행이 있을 수 있습니다. 사용자 프로필에 액세스하기 위한 상수는 
+    각 프로필 원시 연락처 행에는 여러 개의 데이터 행이 있을 수 있습니다. 사용자 프로필에 액세스하기 위한 상수는
 {@link android.provider.ContactsContract.Profile} 클래스에서 이용할 수 있습니다.
 </p>
 <p>
-    사용자 프로필에 액세스하려면 특수 권한이 필요합니다. 읽기와 쓰기에 필요한 
+    사용자 프로필에 액세스하려면 특수 권한이 필요합니다. 읽기와 쓰기에 필요한
 {@link android.Manifest.permission#READ_CONTACTS}와
-{@link android.Manifest.permission#WRITE_CONTACTS} 권한 외에도, 
-사용자 프로필에 액세스하려면 각각 읽기와 쓰기 액세스를 위한{@code android.Manifest.permission#READ_PROFILE}과 
-{@code android.Manifest.permission#WRITE_PROFILE} 권한이 
+{@link android.Manifest.permission#WRITE_CONTACTS} 권한 외에도,
+사용자 프로필에 액세스하려면 각각 읽기와 쓰기 액세스를 위한{@code android.Manifest.permission#READ_PROFILE}과
+{@code android.Manifest.permission#WRITE_PROFILE} 권한이
 필요합니다.
 </p>
 <p>
-    사용자의 프로필은 중요한 정보로 간주해야 한다는 점을 명심하십시오. 
-{@code android.Manifest.permission#READ_PROFILE}권한을 사용하면 개발자가 기기 사용자의 
-개인 식별 데이터에 액세스할 수 있게 해줍니다. 애플리케이션 설명에서 
+    사용자의 프로필은 중요한 정보로 간주해야 한다는 점을 명심하십시오.
+{@code android.Manifest.permission#READ_PROFILE}권한을 사용하면 개발자가 기기 사용자의
+개인 식별 데이터에 액세스할 수 있게 해줍니다. 애플리케이션 설명에서
 사용자에게 왜 여러분이 사용자 프로필 권한을 필요로 하는지 밝혀두어야 합니다.
 </p>
 <p>
     사용자 프로필이 포함된 연락처 행을 검색하려면,
 {@link android.content.ContentResolver#query(Uri,String[], String, String[], String)
 ContentResolver.query()}를 호출합니다. 콘텐츠 URI 를
-{@link android.provider.ContactsContract.Profile#CONTENT_URI}로 설정하고 
-선택 기준은 아무것도 제공하지 마십시오. 이 콘텐츠 URI는 원시 연락처 또는 프로필에 대한 데이터를 검색하기 위한 
+{@link android.provider.ContactsContract.Profile#CONTENT_URI}로 설정하고
+선택 기준은 아무것도 제공하지 마십시오. 이 콘텐츠 URI는 원시 연락처 또는 프로필에 대한 데이터를 검색하기 위한
 기본 URI로도 쓸 수 있습니다. 예를 들어, 이 코드 조각은 프로필에 대한 데이터를 검색합니다.
 </p>
 <pre>
@@ -639,18 +639,18 @@
                 null);
 </pre>
 <p class="note">
-    <strong>참고:</strong> 여러 개의 연락처 행을 검색하고 그 중 하나가 
-사용자 프로필인지 판별하고자 하는 경우, 
-행의 {@link android.provider.ContactsContract.ContactsColumns#IS_USER_PROFILE} 열을 테스트합니다. 이 열은 
+    <strong>참고:</strong> 여러 개의 연락처 행을 검색하고 그 중 하나가
+사용자 프로필인지 판별하고자 하는 경우,
+행의 {@link android.provider.ContactsContract.ContactsColumns#IS_USER_PROFILE} 열을 테스트합니다. 이 열은
 해당 연락처가 사용자 프로필이면 "1"로 설정됩니다.
 </p>
 <h2 id="ContactsProviderMetadata">연락처 제공자 메타데이터</h2>
 <p>
-    연락처 제공자는 리포지토리에서 연락처 데이터 상태를 
-추적하는 데이터를 관리합니다. 이 리포지토리 관련 데이터는 
+    연락처 제공자는 리포지토리에서 연락처 데이터 상태를
+추적하는 데이터를 관리합니다. 이 리포지토리 관련 데이터는
 원시 연락처, 데이터 및 연락처 테이블 행,
-{@link android.provider.ContactsContract.Settings} 테이블 및 
-{@link android.provider.ContactsContract.SyncState} 테이블 등의 여러 장소에 저장됩니다. 다음 표는 각 메타데이터 조각이 미치는 
+{@link android.provider.ContactsContract.Settings} 테이블 및
+{@link android.provider.ContactsContract.SyncState} 테이블 등의 여러 장소에 저장됩니다. 다음 표는 각 메타데이터 조각이 미치는
 영향을 나타낸 것입니다.
 </p>
 <p class="table-caption" id="table3">
@@ -667,14 +667,14 @@
         <td rowspan="2">{@link android.provider.ContactsContract.SyncColumns#DIRTY}</td>
         <td>"0" - 마지막 동기화 이후로 변경되지 않았습니다.</td>
         <td rowspan="2">
-            기기에서 변경되었고 서버로 다시 동기화되어야 하는 원시 데이터를 
-표시합니다. 이 값은 Android 애플리케이션이 행을 업데이트하면 연락처 제공자가 
+            기기에서 변경되었고 서버로 다시 동기화되어야 하는 원시 데이터를
+표시합니다. 이 값은 Android 애플리케이션이 행을 업데이트하면 연락처 제공자가
 자동으로 설정합니다.
             <p>
-                원시 연락처나 데이터 테이블을 수정하는 동기화 어댑터는 
-언제나 문자열 {@link android.provider.ContactsContract#CALLER_IS_SYNCADAPTER}를 
+                원시 연락처나 데이터 테이블을 수정하는 동기화 어댑터는
+언제나 문자열 {@link android.provider.ContactsContract#CALLER_IS_SYNCADAPTER}를
 자신이 사용하는 콘텐츠 URI에 추가해야 합니다. 이렇게 하면 제공자가 행을 변경(dirty)으로 표시하지 못하게 방지합니다.
-                그렇지 않으면, 동기화 어댑터 수정이 로컬 수정으로 나타나며 
+                그렇지 않으면, 동기화 어댑터 수정이 로컬 수정으로 나타나며
 서버가 수정의 근원이었다 하더라도 이 내용이 다시 서버로 전송됩니다.
             </p>
         </td>
@@ -687,7 +687,7 @@
         <td>{@link android.provider.ContactsContract.SyncColumns#VERSION}</td>
         <td>이 행의 버전 번호입니다.</td>
         <td>
-            연락처 제공자는 행이나 관련 데이터가 변경될 때마다 이 값을 자동으로 
+            연락처 제공자는 행이나 관련 데이터가 변경될 때마다 이 값을 자동으로
 증가시킵니다.
         </td>
     </tr>
@@ -696,7 +696,7 @@
         <td>{@link android.provider.ContactsContract.DataColumns#DATA_VERSION}</td>
         <td>이 행의 버전 번호입니다.</td>
         <td>
-            연락처 제공자는 데이터 행이 변경될 때마다 이 값을 자동으로 
+            연락처 제공자는 데이터 행이 변경될 때마다 이 값을 자동으로
 증가시킵니다.
         </td>
     </tr>
@@ -704,33 +704,33 @@
         <td>{@link android.provider.ContactsContract.RawContacts}</td>
         <td>{@link android.provider.ContactsContract.SyncColumns#SOURCE_ID}</td>
         <td>
-            이 원시 연락처를 자신이 생성된 계정에 대해 고유하게 식별하는 
+            이 원시 연락처를 자신이 생성된 계정에 대해 고유하게 식별하는
 문자열 값입니다.
         </td>
         <td>
-            동기화 어댑터가 새로운 원시 연락처를 생성하면, 이 열이 
-해당 원시 연락처에 대한 서버의 고유 ID로 설정되어야 합니다. Android 애플리케이션이 새로운 원시 연락처를 생성하면, 
-애플리케이션은 이 열을 빈 채로 두어야 합니다. 이것은 동기화 어댑터에 
-서버에 새 원시 데이터를 생성해야 한다고 신호하고, 
+            동기화 어댑터가 새로운 원시 연락처를 생성하면, 이 열이
+해당 원시 연락처에 대한 서버의 고유 ID로 설정되어야 합니다. Android 애플리케이션이 새로운 원시 연락처를 생성하면,
+애플리케이션은 이 열을 빈 채로 두어야 합니다. 이것은 동기화 어댑터에
+서버에 새 원시 데이터를 생성해야 한다고 신호하고,
 {@link android.provider.ContactsContract.SyncColumns#SOURCE_ID}에 대한 값을 가져오라고 알립니다.
             <p>
-                특히, 소스 ID는 각 계정 유형에 대해 <strong>고유</strong>해야 하고 
+                특히, 소스 ID는 각 계정 유형에 대해 <strong>고유</strong>해야 하고
 동기화 전체에서 안정적이어야 합니다.
             </p>
                 <ul>
                     <li>
-                        고유: 하나의 계정에 대한 각 원시 연락처에는 나름의 소스 ID가 있어야 합니다. 개발자가 
+                        고유: 하나의 계정에 대한 각 원시 연락처에는 나름의 소스 ID가 있어야 합니다. 개발자가
 이것을 강제 적용하지 않으면 연락처 애플리케이션에 문제를 유발하게 됩니다.
-                        같은 계정 <em>유형</em>에 대한 두 개의 원시 연락처는 소스 ID가 
-같을 수 있다는 점을 유의하십시오. 예를 들어, 
-{@code emily.dickinson@gmail.com} 계정에 대한 원시 연락처 "Thomas Higginson"은 
-{@code emilyd@gmail.com} 계정에 대한 
+                        같은 계정 <em>유형</em>에 대한 두 개의 원시 연락처는 소스 ID가
+같을 수 있다는 점을 유의하십시오. 예를 들어,
+{@code emily.dickinson@gmail.com} 계정에 대한 원시 연락처 "Thomas Higginson"은
+{@code emilyd@gmail.com} 계정에 대한
 원시 연락처 "Thomas Higginson"과 소스 ID가 같을 수 있습니다.
                     </li>
                     <li>
-                        안정적: 소스 ID는 원시 연락처에 대한 온라인 서비스의 데이터 중 영구적인 
-부분입니다. 예를 들어, 사용자가 앱 설정에서 연락처 저장소를 삭제하고 다시 동기화하면 
-복원된 원시 연락처의 소스 ID는 전과 같아야 
+                        안정적: 소스 ID는 원시 연락처에 대한 온라인 서비스의 데이터 중 영구적인
+부분입니다. 예를 들어, 사용자가 앱 설정에서 연락처 저장소를 삭제하고 다시 동기화하면
+복원된 원시 연락처의 소스 ID는 전과 같아야
 합니다. 개발자가 이것을 강제 적용하지 않으면 바로 가기가 더 이상
  작동하지 않습니다.
                     </li>
@@ -742,7 +742,7 @@
         <td rowspan="2">{@link android.provider.ContactsContract.GroupsColumns#GROUP_VISIBLE}</td>
         <td>"0" - 이 그룹의 연락처는 Android 애플리케이션 UI에 표시되지 않아야 합니다.</td>
         <td>
-            이 열은 사용자가 특정 그룹에 연락처를 숨길 수 있게 해주는 서버와의 
+            이 열은 사용자가 특정 그룹에 연락처를 숨길 수 있게 해주는 서버와의
 호환성을 위한 것입니다.
         </td>
     </tr>
@@ -754,22 +754,22 @@
         <td rowspan="2">
             {@link android.provider.ContactsContract.SettingsColumns#UNGROUPED_VISIBLE}</td>
         <td>
-            "0" - 이 계정과 계정 유형의 경우, 그룹에 속하지 않는 연락처는 Android 애플리케이션 UI에 
+            "0" - 이 계정과 계정 유형의 경우, 그룹에 속하지 않는 연락처는 Android 애플리케이션 UI에
 표시되지 않습니다.
         </td>
         <td rowspan="2">
-            기본적으로, 연락처에 그룹에 속한 원시 데이터가 하나도 없는 경우 이는 표시되지 않습니다(원시 연락처의 그룹 구성원은 
-{@link android.provider.ContactsContract.Data} 테이블에서 
-하나 이상의 {@link android.provider.ContactsContract.CommonDataKinds.GroupMembership} 행으로 
+            기본적으로, 연락처에 그룹에 속한 원시 데이터가 하나도 없는 경우 이는 표시되지 않습니다(원시 연락처의 그룹 구성원은
+{@link android.provider.ContactsContract.Data} 테이블에서
+하나 이상의 {@link android.provider.ContactsContract.CommonDataKinds.GroupMembership} 행으로
 표시됩니다).
-            계정 유형과 계정에 대한 {@link android.provider.ContactsContract.Settings} 테이블 행에서 
+            계정 유형과 계정에 대한 {@link android.provider.ContactsContract.Settings} 테이블 행에서
 이 플래그를 설정하면 그룹이 없는 연락처가 표시되도록 강제할 수 있습니다.
             이 플래그의 용도 중 하나는 그룹을 사용하지 않는 서버로부터 가져온 연락처를 표시하는 것입니다.
         </td>
     </tr>
     <tr>
         <td>
-            "1" - 이 계정과 계정 유형의 경우, 그룹에 속하지 않는 연락처가 애플리케이션 UI에 
+            "1" - 이 계정과 계정 유형의 경우, 그룹에 속하지 않는 연락처가 애플리케이션 UI에
 표시됩니다.
         </td>
 
@@ -781,14 +781,14 @@
             이 테이블을 사용하여 동기화 어댑터의 메타데이터를 저장합니다.
         </td>
         <td>
-            이 테이블을 사용하면 동기화 상태와 기타 동기화 관련 데이터를 기기에 영구적으로 
+            이 테이블을 사용하면 동기화 상태와 기타 동기화 관련 데이터를 기기에 영구적으로
 저장할 수 있습니다.
         </td>
     </tr>
 </table>
 <h2 id="Access">연락처 제공자 액세스</h2>
 <p>
-    이 섹션은 연락처 제공자에서 가져온 데이터에 액세스하는 법에 대한 지침을 제공하며, 
+    이 섹션은 연락처 제공자에서 가져온 데이터에 액세스하는 법에 대한 지침을 제공하며,
 요점은 다음과 같습니다.
 </p>
 <ul>
@@ -806,49 +806,49 @@
     </li>
 </ul>
 <p>
-    동기화 어댑터에서 수정하는 방법은 
+    동기화 어댑터에서 수정하는 방법은
 <a href="#SyncAdapters">연락처 제공자 동기화 어댑터</a> 섹션에도 자세히 설명되어 있습니다.
 </p>
 <h3 id="Entities">엔티티 쿼리</h3>
 <p>
-    연락처 제공자 테이블은 계층을 사용하여 조직화되어 있으므로, 
-행과 그 행에 연결된 모든 "하위" 행을 검색하는 것이 유용할 때가 많습니다. 예를 들어, 
-어떤 개인의 모든 정보를 표시하려면 
-하나의 {@link android.provider.ContactsContract.Contacts} 행에 대한 모든 
-{@link android.provider.ContactsContract.RawContacts} 행을 검색하거나 하나의 
-{@link android.provider.ContactsContract.RawContacts} 행에 대한 모든 
-{@link android.provider.ContactsContract.CommonDataKinds.Email} 행을 검색하는 것이 좋습니다. 이를 용이하게 하기 위해, 
-연락처 제공자는 테이블 사이를 연결하는 데이터베이스 역할을 하는 <strong>엔티티</strong> 구조를 
+    연락처 제공자 테이블은 계층을 사용하여 조직화되어 있으므로,
+행과 그 행에 연결된 모든 "하위" 행을 검색하는 것이 유용할 때가 많습니다. 예를 들어,
+어떤 개인의 모든 정보를 표시하려면
+하나의 {@link android.provider.ContactsContract.Contacts} 행에 대한 모든
+{@link android.provider.ContactsContract.RawContacts} 행을 검색하거나 하나의
+{@link android.provider.ContactsContract.RawContacts} 행에 대한 모든
+{@link android.provider.ContactsContract.CommonDataKinds.Email} 행을 검색하는 것이 좋습니다. 이를 용이하게 하기 위해,
+연락처 제공자는 테이블 사이를 연결하는 데이터베이스 역할을 하는 <strong>엔티티</strong> 구조를
 제공합니다.
 </p>
 <p>
     하나의 엔티티는 마치 상위 테이블과 그 하위 테이블에서 가져온 선택된 몇 개의 열로 이루어진 테이블과 같습니다.
-    엔티티를 쿼리하는 경우, 해당 엔티티에서 사용할 수 있는 열을 기반으로 하여 예측과 검색 
-기준을 제공합니다. 그 결과도 도출되는 것이 {@link android.database.Cursor}이며, 
-여기에 검색된 각 하위 테이블에 대해 행이 하나씩 들어있습니다. 예를 들어 연락처 이름에 대해 
-{@link android.provider.ContactsContract.Contacts.Entity}를 쿼리하고 
-그 이름에 대한 모든 원시 연락처에 대한 모든 {@link android.provider.ContactsContract.CommonDataKinds.Email} 행을 쿼리하면 
-{@link android.database.Cursor}를 돌려받게 되며 이 안에 
+    엔티티를 쿼리하는 경우, 해당 엔티티에서 사용할 수 있는 열을 기반으로 하여 예측과 검색
+기준을 제공합니다. 그 결과도 도출되는 것이 {@link android.database.Cursor}이며,
+여기에 검색된 각 하위 테이블에 대해 행이 하나씩 들어있습니다. 예를 들어 연락처 이름에 대해
+{@link android.provider.ContactsContract.Contacts.Entity}를 쿼리하고
+그 이름에 대한 모든 원시 연락처에 대한 모든 {@link android.provider.ContactsContract.CommonDataKinds.Email} 행을 쿼리하면
+{@link android.database.Cursor}를 돌려받게 되며 이 안에
 각 {@link android.provider.ContactsContract.CommonDataKinds.Email}행에 대한 행이 하나씩 들어있습니다.
 </p>
 <p>
-    엔티티는 쿼리를 단순화합니다. 엔티티를 사용하면 연락처나 원시 연락처에 대한 모든 연락처 데이터를 
-한꺼번에 검색할 수 있습니다. 즉 우선 상위 테이블을 검색하여 ID를 가져오고, 그런 다음 
-하위 테이블을 그 ID로 검색하지 않아도 된다는 뜻입니다. 또한, 연락처 제공자에는 엔티티에 대한 쿼리를 
-하나의 트랜잭션으로 처리하므로, 검색된 데이터가 내부적으로 일관성을 유지하도록 
+    엔티티는 쿼리를 단순화합니다. 엔티티를 사용하면 연락처나 원시 연락처에 대한 모든 연락처 데이터를
+한꺼번에 검색할 수 있습니다. 즉 우선 상위 테이블을 검색하여 ID를 가져오고, 그런 다음
+하위 테이블을 그 ID로 검색하지 않아도 된다는 뜻입니다. 또한, 연락처 제공자에는 엔티티에 대한 쿼리를
+하나의 트랜잭션으로 처리하므로, 검색된 데이터가 내부적으로 일관성을 유지하도록
 보장합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 하나의 엔티티에 상위 및 하위 테이블의 모든 열이 들어있지는 않은 것이 
-보통입니다. 엔티티에 대한 열 이름 상수 목록에 없는 열 이름으로 작업하려 시도하면, 
+    <strong>참고:</strong> 하나의 엔티티에 상위 및 하위 테이블의 모든 열이 들어있지는 않은 것이
+보통입니다. 엔티티에 대한 열 이름 상수 목록에 없는 열 이름으로 작업하려 시도하면,
 {@link java.lang.Exception}이 발생합니다.
 </p>
 <p>
-    다음 조각은 하나의 연락처에 대해 모든 원시 연락처 행을 검색하는 방법을 나타낸 것입니다. 이 조각은 
-두 개의 액티비티, 즉 "기본"과 "세부"를 가진 더 큰 애플리케이션의 일부입니다. 기본 액티비티는 
-연락처 행 목록을 보여줍니다. 사용자가 하나를 선택하면, 이 액티비티가 해당 목록의 ID를 
-세부 액티비티에 전송합니다. 세부 액티비티는 {@link android.provider.ContactsContract.Contacts.Entity}를 사용하여 
-선택된 연락처와 연관된 모든 원시 연락처에서 
+    다음 조각은 하나의 연락처에 대해 모든 원시 연락처 행을 검색하는 방법을 나타낸 것입니다. 이 조각은
+두 개의 액티비티, 즉 "기본"과 "세부"를 가진 더 큰 애플리케이션의 일부입니다. 기본 액티비티는
+연락처 행 목록을 보여줍니다. 사용자가 하나를 선택하면, 이 액티비티가 해당 목록의 ID를
+세부 액티비티에 전송합니다. 세부 액티비티는 {@link android.provider.ContactsContract.Contacts.Entity}를 사용하여
+선택된 연락처와 연관된 모든 원시 연락처에서
 모든 데이터 행을 표시합니다.
 </p>
 <p>
@@ -921,71 +921,71 @@
 }
 </pre>
 <p>
-    로딩이 완료되면, {@link android.app.LoaderManager}가 
+    로딩이 완료되면, {@link android.app.LoaderManager}가
 {@link android.app.LoaderManager.LoaderCallbacks#onLoadFinished(Loader, D)
-onLoadFinished()}에 대한 콜백을 호출합니다. 이 메서드로 수신되는 인수 중 하나가 
-{@link android.database.Cursor}로, 여기에 쿼리 결과도 함께 들어옵니다. 개발자 본인의 앱에서는, 이 
+onLoadFinished()}에 대한 콜백을 호출합니다. 이 메서드로 수신되는 인수 중 하나가
+{@link android.database.Cursor}로, 여기에 쿼리 결과도 함께 들어옵니다. 개발자 본인의 앱에서는, 이
 {@link android.database.Cursor}에서 데이터를 가져와 이를 표시할 수도 있고 여기에 작업을 더할 수도 있습니다.
 </p>
 <h3 id="Transactions">일괄 수정</h3>
 <p>
-    연락처 제공자에서 데이터를 삽입, 업데이트 및 삭제하는 경우 가급적이면 
-"일괄 모드"를 쓰는 것이 좋습니다. 이때 
-{@link android.content.ContentProviderOperation} 객체의 {@link java.util.ArrayList}를 생성하고 
-{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}를 호출하면 됩니다. 연락처 제공자는 
+    연락처 제공자에서 데이터를 삽입, 업데이트 및 삭제하는 경우 가급적이면
+"일괄 모드"를 쓰는 것이 좋습니다. 이때
+{@link android.content.ContentProviderOperation} 객체의 {@link java.util.ArrayList}를 생성하고
+{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}를 호출하면 됩니다. 연락처 제공자는
 
-{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}에서의 모든 작업을 
-하나의 트랜잭션으로 수행하기 때문에, 수정한 내용이 일관되지 않은 상태로 연락처 리포지토리를 
-떠날 일이 결코 없습니다. 일괄 수정을 사용하면 원시 연락처와 그 세부 데이터를 동시에 삽입하는 것도 
+{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}에서의 모든 작업을
+하나의 트랜잭션으로 수행하기 때문에, 수정한 내용이 일관되지 않은 상태로 연락처 리포지토리를
+떠날 일이 결코 없습니다. 일괄 수정을 사용하면 원시 연락처와 그 세부 데이터를 동시에 삽입하는 것도
 쉽습니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> <em>하나의</em> 원시 연락처를 수정하려면 수정 작업을 앱에서 처리하는 것보다는 
-인텐트를 기기의 연락처 애플리케이션에 보내는 방안을 고려하십시오. 
-이렇게 하는 방법이 
+    <strong>참고:</strong> <em>하나의</em> 원시 연락처를 수정하려면 수정 작업을 앱에서 처리하는 것보다는
+인텐트를 기기의 연락처 애플리케이션에 보내는 방안을 고려하십시오.
+이렇게 하는 방법이
 <a href="#Intents">인텐트로 검색 및 수정</a> 섹션에 자세히 설명되어 있습니다.
 </p>
 <h4>양보 지점</h4>
 <p>
-    대량의 작업이 들어있는 일괄 수정은 다른 프로세스를 차단하므로, 
-그 결과 전반적으로 불량한 사용자 환경을 유발할 수 있습니다. 수행하고자 하는 모든 수정 작업을 가능한 한 
-적은 수의 별도의 목록으로 정리하고 그와 동시에 이 작업이 시스템을 차단하지 못하도록 방지하려면 
+    대량의 작업이 들어있는 일괄 수정은 다른 프로세스를 차단하므로,
+그 결과 전반적으로 불량한 사용자 환경을 유발할 수 있습니다. 수행하고자 하는 모든 수정 작업을 가능한 한
+적은 수의 별도의 목록으로 정리하고 그와 동시에 이 작업이 시스템을 차단하지 못하도록 방지하려면
 하나 이상의 작업에 <strong>양보 지점</strong>을 설정해야 합니다.
     양보 지점은 {@link android.content.ContentProviderOperation#isYieldAllowed()} 값이 <code>true</code>로 설정된 {@link android.content.ContentProviderOperation} 객체입니다.
 
- 연락처 제공자가 양보 지점을 만나면 
-다른 프로세스가 실행되도록 작업을 잠시 멈추고 현재 트랜잭션을 종료합니다. 제공자가 다시 시작되면, 이는 
-{@link java.util.ArrayList}에서 다음 작업을 계속 진행하고 
+ 연락처 제공자가 양보 지점을 만나면
+다른 프로세스가 실행되도록 작업을 잠시 멈추고 현재 트랜잭션을 종료합니다. 제공자가 다시 시작되면, 이는
+{@link java.util.ArrayList}에서 다음 작업을 계속 진행하고
 새 트랜잭션을 시작합니다.
 </p>
 <p>
-    양보 지점을 사용하면 그 결과 
-{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}로의 호출 한 건당 하나 이상의 트랜잭션이 생기는 것은 사실입니다. 이 때문에, 
+    양보 지점을 사용하면 그 결과
+{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}로의 호출 한 건당 하나 이상의 트랜잭션이 생기는 것은 사실입니다. 이 때문에,
  양보 지점은 관련된 행 한 세트에서 마지막 작업에 설정해야 합니다.
-    예를 들어, 원시 연락처 행과 관련된 데이터 행을 추가하는 세트의 마지막 작업에 
-양보 지점을 설정하거나, 하나의 연락처와 관련된 행 한 세트의 
+    예를 들어, 원시 연락처 행과 관련된 데이터 행을 추가하는 세트의 마지막 작업에
+양보 지점을 설정하거나, 하나의 연락처와 관련된 행 한 세트의
 마지막 작업에 양보 지점을 설정해야 합니다.
 </p>
 <p>
-    양보 지점은 원자성 작업의 단위이기도 합니다. 두 개의 양보 지점 사이를 향한 액세스는 모두 
-한 가지 단위로서 성공 또는 실패합니다. 양보 지점을 설정하지 않는 경우, 가장 작은 
-원자성 작업은 작업 전체가 됩니다. 양보 지점을 사용하면, 작업이 
-시스템 성능을 저하하지 않도록 방지하는 동시에 작업의 하위 세트가 원자성 작업이도록 
+    양보 지점은 원자성 작업의 단위이기도 합니다. 두 개의 양보 지점 사이를 향한 액세스는 모두
+한 가지 단위로서 성공 또는 실패합니다. 양보 지점을 설정하지 않는 경우, 가장 작은
+원자성 작업은 작업 전체가 됩니다. 양보 지점을 사용하면, 작업이
+시스템 성능을 저하하지 않도록 방지하는 동시에 작업의 하위 세트가 원자성 작업이도록
 보장할 수 있습니다.
 </p>
 <h4>수정 역참조</h4>
 <p>
-    새로운 원시 연락처 행과 관련 데이터 행을 
-일련의 {@link android.content.ContentProviderOperation} 개체로 삽입할 때는, 
- 원시 연락처의 
+    새로운 원시 연락처 행과 관련 데이터 행을
+일련의 {@link android.content.ContentProviderOperation} 개체로 삽입할 때는,
+ 원시 연락처의
 {@code android.provider.BaseColumns#_ID} 값을
-{@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID} 값으로 삽입하여 데이터 행과 원시 연락처 행을 연결해야 합니다. 그러나, 이 값은 
-데이터 행에 대하여 {@link android.content.ContentProviderOperation}을 
+{@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID} 값으로 삽입하여 데이터 행과 원시 연락처 행을 연결해야 합니다. 그러나, 이 값은
+데이터 행에 대하여 {@link android.content.ContentProviderOperation}을
 생성하는 경우에는 사용할 수 없습니다. 원시 연락처 행에 대해 {@link android.content.ContentProviderOperation}
-을 아직 적용하지 않았기 때문입니다. 이 문제를 해결하려면 
+을 아직 적용하지 않았기 때문입니다. 이 문제를 해결하려면
 {@link android.content.ContentProviderOperation.Builder} 클래스에
 {@link android.content.ContentProviderOperation.Builder#withValueBackReference(String, int) withValueBackReference()} 메서드가 있어야 합니다.
-    이 메서드를 사용하면 열을 이전 작업의 결과로 삽입 또는 수정할 수 
+    이 메서드를 사용하면 열을 이전 작업의 결과로 삽입 또는 수정할 수
 있습니다.
 </p>
 <p>
@@ -997,29 +997,29 @@
             <code>key</code>
         </dt>
         <dd>
-            키-값 쌍의 키입니다. 이 인수의 값은 수정하는 테이블의 
+            키-값 쌍의 키입니다. 이 인수의 값은 수정하는 테이블의
 열 이름이어야 합니다.
         </dd>
         <dt>
             <code>previousResult</code>
         </dt>
         <dd>
-            
+
 {@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}의 {@link android.content.ContentProviderResult} 객체 배열에 있는
-값의 0 기반 색인입니다. 
-일괄 작업이 적용되면 각 작업의 결과가 
-결과의 중간 배열에 저장됩니다. <code>previousResult</code> 값은 
-이러한 결과 중 하나의 색인이고, 이는 <code>key</code> 값으로 
+값의 0 기반 색인입니다.
+일괄 작업이 적용되면 각 작업의 결과가
+결과의 중간 배열에 저장됩니다. <code>previousResult</code> 값은
+이러한 결과 중 하나의 색인이고, 이는 <code>key</code> 값으로
 검색 및 저장됩니다. 이것을 사용하면 새 원시 연락처 레코드를 삽입하고
-{@code android.provider.BaseColumns#_ID} 값을 다시 가져온 뒤, 
+{@code android.provider.BaseColumns#_ID} 값을 다시 가져온 뒤,
 {@link android.provider.ContactsContract.Data} 행을 추가할 때 해당 값을 "역참조"할 수 있게 해줍니다.
             <p>
-                
-{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}를 처음 호출할 때, 
-개발자가 제공하는 {@link android.content.ContentProviderOperation} 객체의 {@link java.util.ArrayList} 크기와 같은 크기로 
-전체 결과 배열이 생성됩니다. 그러나 
-결과 배열의 모든 요소는 <code>null</code>로 설정되고, 
-아직 적용되지 않은 작업 결과에 대한 역참조를 수행하려 시도하면 
+
+{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}를 처음 호출할 때,
+개발자가 제공하는 {@link android.content.ContentProviderOperation} 객체의 {@link java.util.ArrayList} 크기와 같은 크기로
+전체 결과 배열이 생성됩니다. 그러나
+결과 배열의 모든 요소는 <code>null</code>로 설정되고,
+아직 적용되지 않은 작업 결과에 대한 역참조를 수행하려 시도하면
 {@link android.content.ContentProviderOperation.Builder#withValueBackReference(String, int) withValueBackReference()}가
 {@link java.lang.Exception}을 발생시킵니다.
 
@@ -1027,15 +1027,15 @@
         </dd>
     </dl>
 <p>
-    다음 조각은 새로운 원시 연락처와 데이터를 일괄 삽입하는 방법을 나타낸 것입니다. 여기에는 
-양보 지점을 지정하고 역참조를 사용하는 코드가 포함되어 있습니다. 이 조각은 
-<code>createContacEntry()</code> 메서드의 확장 버전이며, 이는 
+    다음 조각은 새로운 원시 연락처와 데이터를 일괄 삽입하는 방법을 나타낸 것입니다. 여기에는
+양보 지점을 지정하고 역참조를 사용하는 코드가 포함되어 있습니다. 이 조각은
+<code>createContacEntry()</code> 메서드의 확장 버전이며, 이는
 <code><a href="{@docRoot}resources/samples/ContactManager/index.html">
-    Contact Manager</a></code> 샘플 애플리케이션에 있는 <code>ContactAdder</code> 클래스의 
+    Contact Manager</a></code> 샘플 애플리케이션에 있는 <code>ContactAdder</code> 클래스의
 일부입니다.
 </p>
 <p>
-    첫 번째 조각은 UI에서 연락처 데이터를 검색합니다. 이 시점에서 사용자는 이미 
+    첫 번째 조각은 UI에서 연락처 데이터를 검색합니다. 이 시점에서 사용자는 이미
 새로운 원시 연락처를 추가할 계정을 선택하였습니다.
 </p>
 <pre>
@@ -1055,7 +1055,7 @@
             mContactEmailTypeSpinner.getSelectedItemPosition());
 </pre>
 <p>
-    다음 조각은 
+    다음 조각은
 {@link android.provider.ContactsContract.RawContacts} 테이블에 원시 연락처 행을 삽입하는 작업을 생성합니다.
 </p>
 <pre>
@@ -1086,18 +1086,18 @@
     그런 다음, 코드가 표시 이름, 전화 및 이메일 행에 대한 데이터 행을 생성합니다.
 </p>
 <p>
-    각 작업 빌더 개체는 
-{@link android.content.ContentProviderOperation.Builder#withValueBackReference(String, int) withValueBackReference()}를 
+    각 작업 빌더 개체는
+{@link android.content.ContentProviderOperation.Builder#withValueBackReference(String, int) withValueBackReference()}를
 사용하여
-{@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID}를 가져옵니다. 참조는 
-첫 번째 작업의 {@link android.content.ContentProviderResult} 객체를 다시 가리키고, 
+{@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID}를 가져옵니다. 참조는
+첫 번째 작업의 {@link android.content.ContentProviderResult} 객체를 다시 가리키고,
 이것이 원시 연락처 행을 추가한 뒤 이의 새 {@code android.provider.BaseColumns#_ID}
-값을 반환합니다. 그 결과, 각 데이터 행은 자동으로 자신의 
+값을 반환합니다. 그 결과, 각 데이터 행은 자동으로 자신의
 {@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID}
 에 의해 자신이 속하는 새 {@link android.provider.ContactsContract.RawContacts} 행에 연결됩니다.
 </p>
 <p>
-    이메일 행을 추가하는 {@link android.content.ContentProviderOperation.Builder} 객체는 
+    이메일 행을 추가하는 {@link android.content.ContentProviderOperation.Builder} 객체는
 양보 지점을 설정하는 {@link android.content.ContentProviderOperation.Builder#withYieldAllowed(boolean)
 withYieldAllowed()}로 플래그 표시합니다.
 </p>
@@ -1172,8 +1172,8 @@
     ops.add(op.build());
 </pre>
 <p>
-    마지막 조각은 새로운 원시 연락처와 데이터 행을 삽입하는 
-{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}에 대한 호출을 
+    마지막 조각은 새로운 원시 연락처와 데이터 행을 삽입하는
+{@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()}에 대한 호출을
 나타낸 것입니다.
 </p>
 <pre>
@@ -1205,32 +1205,32 @@
 }
 </pre>
 <p>
-    일괄 작업을 사용하면 <strong>낙관적 동시성 제어</strong>도 구현할 수 있습니다. 
+    일괄 작업을 사용하면 <strong>낙관적 동시성 제어</strong>도 구현할 수 있습니다.
 이것은 기본 리포지토리를 잠그지 않고도 수정 트랜잭션을 적용할 수 있는 메서드입니다.
-    이 메서드를 사용하려면 트랜잭션을 적용하고 동시에 발생한 
-다른 수정 사항이 있는지 확인합니다. 부합하지 않는 수정이 발생한 것을 발견하면 
+    이 메서드를 사용하려면 트랜잭션을 적용하고 동시에 발생한
+다른 수정 사항이 있는지 확인합니다. 부합하지 않는 수정이 발생한 것을 발견하면
 트랜잭션을 롤백하고 다시 시도합니다.
 </p>
 <p>
-    낙관적 동시성 제어는 한 번에 한 명의 사용자만 존재하고 데이터 리포지토리에 대한 동시 액세스가 드문 모바일 기기에 
-유용합니다. 잠금을 사용하지 않으므로 
+    낙관적 동시성 제어는 한 번에 한 명의 사용자만 존재하고 데이터 리포지토리에 대한 동시 액세스가 드문 모바일 기기에
+유용합니다. 잠금을 사용하지 않으므로
 잠금을 설정하거나 다른 트랜잭션이 잠금을 해제하기를 기다리면서 시간을 낭비하지 않습니다.
 </p>
 <p>
-    하나의 
+    하나의
 {@link android.provider.ContactsContract.RawContacts} 행을 업데이트하면서 동시에 낙관적 동시성 제어를 사용하려면, 다음 단계를 따르십시오.
 </p>
 <ol>
     <li>
-        검색하는 다른 데이터와 함께 행 연락처의 {@link android.provider.ContactsContract.SyncColumns#VERSION}을 
+        검색하는 다른 데이터와 함께 행 연락처의 {@link android.provider.ContactsContract.SyncColumns#VERSION}을
 검색합니다.
     </li>
     <li>
-        제약을 강제 적용하는 데 적합한 
-{@link android.content.ContentProviderOperation.Builder} 객체를 하나 생성하되 
-{@link android.content.ContentProviderOperation#newAssertQuery(Uri)} 메서드를 사용합니다. 콘텐츠 URI의 경우, 
+        제약을 강제 적용하는 데 적합한
+{@link android.content.ContentProviderOperation.Builder} 객체를 하나 생성하되
+{@link android.content.ContentProviderOperation#newAssertQuery(Uri)} 메서드를 사용합니다. 콘텐츠 URI의 경우,
 {@link android.provider.ContactsContract.RawContacts#CONTENT_URI
-        RawContacts.CONTENT_URI}를 사용하되 
+        RawContacts.CONTENT_URI}를 사용하되
 이에 추가된 원시 데이터의 {@code android.provider.BaseColumns#_ID}를 함께 씁니다.
     </li>
     <li>
@@ -1256,13 +1256,13 @@
 </ol>
 <p>
     행을 읽고 수정하려고 시도하는 사이에 다른 작업이 원시 연락처 행을 업데이트하면,
-"어설션" {@link android.content.ContentProviderOperation}은 
-실패하고 전체 일괄 작업이 취소됩니다. 그러면 일괄 작업을 다시 시도하거나 
+"어설션" {@link android.content.ContentProviderOperation}은
+실패하고 전체 일괄 작업이 취소됩니다. 그러면 일괄 작업을 다시 시도하거나
 다른 조치를 취하기로 선택할 수 있습니다.
 </p>
 <p>
-    다음 조각은 {@link android.content.CursorLoader}를 사용하여 단일 원시 연락처를 쿼리한 후 
-"어설션" {@link android.content.ContentProviderOperation}을 
+    다음 조각은 {@link android.content.CursorLoader}를 사용하여 단일 원시 연락처를 쿼리한 후
+"어설션" {@link android.content.ContentProviderOperation}을
 생성하는 방법을 나타낸 것입니다.
 </p>
 <pre>
@@ -1311,8 +1311,8 @@
 </pre>
 <h3 id="Intents">인텐트로 검색 및 수정</h3>
 <p>
-    기기 연락처 애플리케이션에 인텐트를 전송하면 연락처 제공자에 
-간접적으로 액세스할 수 있습니다. 인텐트는 기기의 연락처 애플리케이션 UI를 시작하고, 여기서 사용자는 
+    기기 연락처 애플리케이션에 인텐트를 전송하면 연락처 제공자에
+간접적으로 액세스할 수 있습니다. 인텐트는 기기의 연락처 애플리케이션 UI를 시작하고, 여기서 사용자는
 연락처 관련 작업을 할 수 있습니다. 사용자가 이런 액세스 유형을 가지고 할 수 있는 일은 다음과 같습니다.
     <ul>
         <li>목록에서 연락처를 선택하고 추가 작업을 위해 앱에 반환시킵니다.</li>
@@ -1321,20 +1321,20 @@
         <li>연락처 또는 연락처 데이터를 삭제합니다.</li>
     </ul>
 <p>
-    사용자가 데이터를 삽입하거나 업데이트하고 있다면, 먼저 데이터를 수집하고 
+    사용자가 데이터를 삽입하거나 업데이트하고 있다면, 먼저 데이터를 수집하고
 인텐트의 일부로 전송할 수 있습니다.
 </p>
 <p>
-    인텐트를 사용하여 기기의 연락처 애플리케이션을 통해 연락처 제공자에 액세스하는 경우 
-제공자에 액세스하기 위해 개발자 나름의 UI나 코드를 작성하지 않아도 됩니다. 제공자에 대한 읽기 또는 쓰기 권한도 요청하지 않아도 
-됩니다. 기기 연락처 애플리케이션은 
-연락처에 대한 읽기 권한을 위임할 수 있고, 다른 애플리케이션을 통해 수정하기 때문에 
+    인텐트를 사용하여 기기의 연락처 애플리케이션을 통해 연락처 제공자에 액세스하는 경우
+제공자에 액세스하기 위해 개발자 나름의 UI나 코드를 작성하지 않아도 됩니다. 제공자에 대한 읽기 또는 쓰기 권한도 요청하지 않아도
+됩니다. 기기 연락처 애플리케이션은
+연락처에 대한 읽기 권한을 위임할 수 있고, 다른 애플리케이션을 통해 수정하기 때문에
 쓰기 권한도 필요 없습니다.
 </p>
 <p>
-    제공자에 액세스하기 위해 인텐트를 전송하는 일반적인 과정은 
+    제공자에 액세스하기 위해 인텐트를 전송하는 일반적인 과정은
 "인텐트를 통한 데이터 액세스" 섹션의 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
-콘텐츠 제공자 기본 정보</a> 가이드에 상세히 설명되어 있습니다. 이용 가능한 작업에 대해 사용하는 동작, 
+콘텐츠 제공자 기본 정보</a> 가이드에 상세히 설명되어 있습니다. 이용 가능한 작업에 대해 사용하는 동작,
 MIME 유형 및 데이터 값은 표 4에 요약되어 있고,
 
 {@link android.content.Intent#putExtra(String, String) putExtra()}와 함께 사용할 수 있는 추가 값은
@@ -1358,20 +1358,20 @@
             다음 중 하나로 정해집니다.
             <ul>
                 <li>
-{@link android.provider.ContactsContract.Contacts#CONTENT_URI Contacts.CONTENT_URI}, 
+{@link android.provider.ContactsContract.Contacts#CONTENT_URI Contacts.CONTENT_URI},
 이는 연락처 목록을 표시합니다.
                 </li>
                 <li>
-{@link android.provider.ContactsContract.CommonDataKinds.Phone#CONTENT_URI Phone.CONTENT_URI}, 
+{@link android.provider.ContactsContract.CommonDataKinds.Phone#CONTENT_URI Phone.CONTENT_URI},
 이는 원시 연락처에 대한 전화 번호 목록을 표시합니다.
                 </li>
                 <li>
 {@link android.provider.ContactsContract.CommonDataKinds.StructuredPostal#CONTENT_URI
-StructuredPostal.CONTENT_URI}, 
+StructuredPostal.CONTENT_URI},
 이는 원시 연락처에 대한 우편 주소 목록을 표시합니다.
                 </li>
                 <li>
-{@link android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_URI Email.CONTENT_URI}, 
+{@link android.provider.ContactsContract.CommonDataKinds.Email#CONTENT_URI Email.CONTENT_URI},
 이는 원시 연락처에 대한 이메일 주소 목록을 표시합니다.
                 </li>
             </ul>
@@ -1380,15 +1380,15 @@
             사용하지 않음
         </td>
         <td>
-            개발자가 제공하는 콘텐츠 URI에 따라 원시 연락처 목록이나 원시 연락처에서 가져온 
+            개발자가 제공하는 콘텐츠 URI에 따라 원시 연락처 목록이나 원시 연락처에서 가져온
 데이터 목록을 표시합니다.
             <p>
-                
-{@link android.app.Activity#startActivityForResult(Intent, int) startActivityForResult()} 호출, 
-이는 선택한 행의 콘텐츠 URI를 반환합니다. URI의 형태는 
+
+{@link android.app.Activity#startActivityForResult(Intent, int) startActivityForResult()} 호출,
+이는 선택한 행의 콘텐츠 URI를 반환합니다. URI의 형태는
 테이블의 콘텐츠 URI에 행의 <code>LOOKUP_ID</code>를 추가한 것입니다.
-                기기의 연락처 앱은 액티비티 수명 동안 이 콘텐츠 URI에 
-읽기 및 쓰기 권한을 위임합니다. 자세한 내용은 
+                기기의 연락처 앱은 액티비티 수명 동안 이 콘텐츠 URI에
+읽기 및 쓰기 권한을 위임합니다. 자세한 내용은
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
 콘텐츠 제공자 기본 정보</a> 가이드를 참조하십시오.
             </p>
@@ -1403,12 +1403,12 @@
 RawContacts.CONTENT_TYPE}, 일련의 원시 연락처에 대한 MIME 유형입니다.
         </td>
         <td>
-            기기의 연락처 애플리케이션의 <strong>연락처 추가</strong> 화면을 표시합니다. 개발자가 
-인텐트에 추가하는 추가 사항 값이 표시됩니다. 
+            기기의 연락처 애플리케이션의 <strong>연락처 추가</strong> 화면을 표시합니다. 개발자가
+인텐트에 추가하는 추가 사항 값이 표시됩니다.
 {@link android.app.Activity#startActivityForResult(Intent, int) startActivityForResult()}와 함께 전송되는 경우,
-새로 추가된 원시 연락처의 콘텐츠 URI는 
+새로 추가된 원시 연락처의 콘텐츠 URI는
 "데이터" 필드의 {@link android.content.Intent} 인수에 있는 액티비티의 {@link android.app.Activity#onActivityResult(int, int, Intent) onActivityResult()}
-콜백 메서드로 
+콜백 메서드로
 다시 전달됩니다. 값을 가져오려면, {@link android.content.Intent#getData()}를 호출합니다.
         </td>
     </tr>
@@ -1416,16 +1416,16 @@
         <td><strong>연락처 편집</strong></td>
         <td>{@link android.content.Intent#ACTION_EDIT}</td>
         <td>
-            연락처에 대한 
-{@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}입니다. 편집자 액티비티를 사용하면 사용자가 이 연락처와 관련된 데이터를 어느 것이든 
+            연락처에 대한
+{@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI}입니다. 편집자 액티비티를 사용하면 사용자가 이 연락처와 관련된 데이터를 어느 것이든
 편집할 수 있습니다.
         </td>
         <td>
             {@link android.provider.ContactsContract.Contacts#CONTENT_ITEM_TYPE
 Contacts.CONTENT_ITEM_TYPE}, 하나의 연락처입니다.</td>
         <td>
-            연락처 애플리케이션에 연락처 편집 화면을 표시합니다. 개발자가 
-인텐트에 추가하는 추가 사항 값이 표시됩니다. 사용자가 <strong>완료</strong>를 클릭하여 편집 내용을 저장하면, 
+            연락처 애플리케이션에 연락처 편집 화면을 표시합니다. 개발자가
+인텐트에 추가하는 추가 사항 값이 표시됩니다. 사용자가 <strong>완료</strong>를 클릭하여 편집 내용을 저장하면,
 액티비티가 전경으로 돌아옵니다.
         </td>
     </tr>
@@ -1439,31 +1439,31 @@
             {@link android.provider.ContactsContract.Contacts#CONTENT_ITEM_TYPE}
         </td>
          <td>
-            이 인텐트는 항상 연락처 앱의 선택기 화면을 표시합니다. 사용자는 
-편집할 연락처를 선택하거나 새 연락처를 추가할 수 있습니다. 사용자의 선택에 따라 
-편집 또는 추가 화면이 나타나고 개발자가 인텐트에 전달하는 추가 사항 데이터가 
-표시됩니다. 앱이 이메일이나 전화 번호 등의 연락처 데이터를 표시하는 경우, 
-이 인텐트를 사용하면 사용자가 기존 연락처에 데이터를 추가할 수 
+            이 인텐트는 항상 연락처 앱의 선택기 화면을 표시합니다. 사용자는
+편집할 연락처를 선택하거나 새 연락처를 추가할 수 있습니다. 사용자의 선택에 따라
+편집 또는 추가 화면이 나타나고 개발자가 인텐트에 전달하는 추가 사항 데이터가
+표시됩니다. 앱이 이메일이나 전화 번호 등의 연락처 데이터를 표시하는 경우,
+이 인텐트를 사용하면 사용자가 기존 연락처에 데이터를 추가할 수
 있습니다.
             <p class="note">
-                <strong>참고:</strong> 이 인텐트의 추가 사항에서는 이름 값을 전송하지 않아도 됩니다. 
-사용자가 항상 기존의 이름을 선택하거나 새 이름을 추가하기 때문입니다. 게다가, 
-개발자가 이름을 전송하고 사용자가 편집을 선택하면 연락처 앱은 개발자가 전송한 이름을 표시하면서 
-이전 값을 재정의하게 됩니다. 사용자가 
+                <strong>참고:</strong> 이 인텐트의 추가 사항에서는 이름 값을 전송하지 않아도 됩니다.
+사용자가 항상 기존의 이름을 선택하거나 새 이름을 추가하기 때문입니다. 게다가,
+개발자가 이름을 전송하고 사용자가 편집을 선택하면 연락처 앱은 개발자가 전송한 이름을 표시하면서
+이전 값을 재정의하게 됩니다. 사용자가
 이를 눈치채지 못하고 편집 내용을 저장하면 이전 값은 손실됩니다.
             </p>
          </td>
     </tr>
 </table>
 <p>
-    기기의 연락처 앱은 개발자가 인텐트로 원시 연락처 또는 그에 속한 모든 데이터를 삭제하도록 
-허용하지 않습니다. 대신, 원시 연락처를 삭제하려면 
-{@link android.content.ContentResolver#delete(Uri, String, String[]) ContentResolver.delete()} 
+    기기의 연락처 앱은 개발자가 인텐트로 원시 연락처 또는 그에 속한 모든 데이터를 삭제하도록
+허용하지 않습니다. 대신, 원시 연락처를 삭제하려면
+{@link android.content.ContentResolver#delete(Uri, String, String[]) ContentResolver.delete()}
 또는 {@link android.content.ContentProviderOperation#newDelete(Uri)
 ContentProviderOperation.newDelete()}를 사용합니다.
 </p>
 <p>
-    다음 조각은 새로운 원시 연락처와 
+    다음 조각은 새로운 원시 연락처와
 데이터를 삽입하는 인텐트를 구성, 전송하는 방법을 나타낸 것입니다.
 </p>
 <pre>
@@ -1560,65 +1560,65 @@
 </pre>
 <h3 id="DataIntegrity">데이터 무결성</h3>
 <p>
-    연락처 리포지토리에는 사용자 측에서 올바르고 최신일 것으로 기대하는 중요하고 민감한 데이터가 들어있으므로 
-연락처 제공자는 데이터 무결성에 대한 잘 정의된 규칙이 있습니다. 개발자 
-여러분에게는 연락처 데이터를 수정할 때 이와 같은 규칙을 준수할 의무가 있습니다. 아래에는 중요한 규칙을 
+    연락처 리포지토리에는 사용자 측에서 올바르고 최신일 것으로 기대하는 중요하고 민감한 데이터가 들어있으므로
+연락처 제공자는 데이터 무결성에 대한 잘 정의된 규칙이 있습니다. 개발자
+여러분에게는 연락처 데이터를 수정할 때 이와 같은 규칙을 준수할 의무가 있습니다. 아래에는 중요한 규칙을
 몇 가지 나열해 놓았습니다.
 </p>
 <dl>
     <dt>
-        {@link android.provider.ContactsContract.RawContacts} 행을 추가할 때마다 언제나 
+        {@link android.provider.ContactsContract.RawContacts} 행을 추가할 때마다 언제나
 {@link android.provider.ContactsContract.CommonDataKinds.StructuredName} 행을 추가합니다.
     </dt>
     <dd>
-        {@link android.provider.ContactsContract.Data} 테이블에 {@link android.provider.ContactsContract.CommonDataKinds.StructuredName} 행이 없는 {@link android.provider.ContactsContract.RawContacts} 행이 있으면 
+        {@link android.provider.ContactsContract.Data} 테이블에 {@link android.provider.ContactsContract.CommonDataKinds.StructuredName} 행이 없는 {@link android.provider.ContactsContract.RawContacts} 행이 있으면
 통합 과정에서
 문제가 발생할 수 있습니다.
 
     </dd>
     <dt>
-        언제나 새로운 {@link android.provider.ContactsContract.Data} 행을 
+        언제나 새로운 {@link android.provider.ContactsContract.Data} 행을
 해당 상위 {@link android.provider.ContactsContract.RawContacts} 행에 연결합니다.
     </dt>
     <dd>
-        {@link android.provider.ContactsContract.RawContacts}에 연결되지 않은 {@link android.provider.ContactsContract.Data} 행은 
-기기 연락처 애플리케이션에 표시되지 않고, 
+        {@link android.provider.ContactsContract.RawContacts}에 연결되지 않은 {@link android.provider.ContactsContract.Data} 행은
+기기 연락처 애플리케이션에 표시되지 않고,
 동기화 어댑터에서 문제를 발생시킬 수 있습니다.
     </dd>
     <dt>
         개발자 본인의 소유인 원시 연락처에 대한 데이터만 변경하십시오.
     </dt>
     <dd>
-        연락처 제공자는 보통 여러 가지 서로 다른 계정 유형/온라인 서비스에서 가져온 
-데이터를 관리한다는 점을 명심하십시오. 개발자의 애플리케이션은 본인에게 
-속한 행에 대한 데이터만 수정 또는 삭제하도록 확실히 해두어야 하며, 데이터를 삽입할 때에도 개발자 본인이 
+        연락처 제공자는 보통 여러 가지 서로 다른 계정 유형/온라인 서비스에서 가져온
+데이터를 관리한다는 점을 명심하십시오. 개발자의 애플리케이션은 본인에게
+속한 행에 대한 데이터만 수정 또는 삭제하도록 확실히 해두어야 하며, 데이터를 삽입할 때에도 개발자 본인이
 제어하는 계정 유형과 이름만 사용해야 합니다.
     </dd>
     <dt>
-        권한, 콘텐츠 URI, URI 경로, 열 이름, MIME 유형 및 
-{@link android.provider.ContactsContract.CommonDataKinds.CommonColumns#TYPE} 값에 대해서는 항상 
+        권한, 콘텐츠 URI, URI 경로, 열 이름, MIME 유형 및
+{@link android.provider.ContactsContract.CommonDataKinds.CommonColumns#TYPE} 값에 대해서는 항상
 {@link android.provider.ContactsContract} 및 그 하위 클래스에서 정의한 상수를 사용합니다.
     </dt>
     <dd>
-        이런 상수를 사용하면 오류를 피하는 데 도움이 됩니다. 이런 상수 중 하나라도 사용하지 않게 되는 경우 컴파일러로부터 
+        이런 상수를 사용하면 오류를 피하는 데 도움이 됩니다. 이런 상수 중 하나라도 사용하지 않게 되는 경우 컴파일러로부터
 알림을 받기도 합니다.
     </dd>
 </dl>
 <h3 id="CustomData">사용자 지정 데이터 행</h3>
 <p>
     사용자 지정 MIME 유형을 생성하여 사용하면,
-{@link android.provider.ContactsContract.Data} 테이블에 있는 본인의 데이터 행을 삽입, 편집, 삭제 및 검색할 수 있습니다. 개발자의 행은 
-{@link android.provider.ContactsContract.DataColumns}에서 
-정의된 열만 사용하도록 제한되어 있습니다. 다만 나름의 유형별 열 이름을 
-기본 열 이름에 매핑할 수는 있습니다. 기기의 연락처 애플리케이션에서는 
-개발자의 행에 대한 데이터가 표시는 되지만 편집이나 삭제는 할 수 없고, 사용자가 추가 데이터를 
-추가할 수도 없습니다. 사용자가 개발자의 사용자 지정 데이터 행을 수정하도록 허용하려면, 본인의 애플리케이션에 
+{@link android.provider.ContactsContract.Data} 테이블에 있는 본인의 데이터 행을 삽입, 편집, 삭제 및 검색할 수 있습니다. 개발자의 행은
+{@link android.provider.ContactsContract.DataColumns}에서
+정의된 열만 사용하도록 제한되어 있습니다. 다만 나름의 유형별 열 이름을
+기본 열 이름에 매핑할 수는 있습니다. 기기의 연락처 애플리케이션에서는
+개발자의 행에 대한 데이터가 표시는 되지만 편집이나 삭제는 할 수 없고, 사용자가 추가 데이터를
+추가할 수도 없습니다. 사용자가 개발자의 사용자 지정 데이터 행을 수정하도록 허용하려면, 본인의 애플리케이션에
 편집기 액티비티를 제공해야 합니다.
 </p>
 <p>
-    개발자의 사용자 지정 데이터를 표시하려면, <code>&lt;ContactsAccountType&gt;</code> 요소와 하나 이상의 <code>&lt;ContactsDataKind&gt;</code> 하위 요소를 포함하는 <code>contacts.xml</code> 파일을 
+    개발자의 사용자 지정 데이터를 표시하려면, <code>&lt;ContactsAccountType&gt;</code> 요소와 하나 이상의 <code>&lt;ContactsDataKind&gt;</code> 하위 요소를 포함하는 <code>contacts.xml</code> 파일을
 제공합니다.
- 이 내용은 
+ 이 내용은
 <a href="#SocialStreamDataKind"><code>&lt;ContactsDataKind&gt; element</code></a> 섹션에 자세히 설명되어 있습니다.
 </p>
 <p>
@@ -1628,15 +1628,15 @@
 </p>
 <h2 id="SyncAdapters">연락처 제공자 동기화 어댑터</h2>
 <p>
-    연락처 제공자는 기기와 온라인 서비스 사이에서 연락처 데이터의 <strong>동기화</strong>를 
-처리한다는 구체적인 목적을 두고 디자인된 것입니다. 이것을 사용하면 사용자가 기존의 
+    연락처 제공자는 기기와 온라인 서비스 사이에서 연락처 데이터의 <strong>동기화</strong>를
+처리한다는 구체적인 목적을 두고 디자인된 것입니다. 이것을 사용하면 사용자가 기존의
 데이터를 새 기기에 다운로드할 수도 있고, 기존의 데이터를 새 계정에 업로드할 수도 있습니다.
-    동기화를 사용하면 사용자가 추가나 변경의 출처와 관계 없이 최신 데이터를 
-편리하게 사용할 수 있게 보장하기도 합니다. 동기화의 또 다른 장점은 
+    동기화를 사용하면 사용자가 추가나 변경의 출처와 관계 없이 최신 데이터를
+편리하게 사용할 수 있게 보장하기도 합니다. 동기화의 또 다른 장점은
 기기가 네트워크에 연결되어 있지 않더라도 연락처 데이터를 사용할 수 있다는 것입니다.
 </p>
 <p>
-    다양한 방식으로 동기화를 구현할 수 있지만, Android 시스템은 
+    다양한 방식으로 동기화를 구현할 수 있지만, Android 시스템은
 플러그인 동기화 프레임워크를 제공하여 다음과 같은 작업들을 자동화해줍니다.
     <ul>
 
@@ -1651,40 +1651,40 @@
     </li>
     </ul>
 <p>
-    이 프레임워크를 사용하려면 동기화 어댑터 플러그인은 개발자가 직접 제공해야 합니다. 동기화 어댑터는 
-서비스와 콘텐츠 제공자마다 각기 다르지만, 같은 서비스에 대해 여러 개의 계정 이름을 처리할 수 있습니다. 이 
+    이 프레임워크를 사용하려면 동기화 어댑터 플러그인은 개발자가 직접 제공해야 합니다. 동기화 어댑터는
+서비스와 콘텐츠 제공자마다 각기 다르지만, 같은 서비스에 대해 여러 개의 계정 이름을 처리할 수 있습니다. 이
 프레임워크 또한 같은 서비스와 제공자에 대해 여러 개의 동기화 어댑터를 허용합니다.
 </p>
 <h3 id="SyncClassesFiles">동기화 어댑터 클래스 및 파일</h3>
 <p>
-    동기화 어댑터를 
-{@link android.content.AbstractThreadedSyncAdapter}의 
-하위 클래스로 구현하고 이를Android 애플리케이션의 일부로 설치합니다. 시스템은 애플리케이션 매니페스트의 요소와 매니페스트가 가리키는 
-특수 XML 파일에서 동기화 어댑터에 관한 정보를 얻습니다. XML 파일은 
-온라인 서비스와 콘텐츠 제공자의 권한에 대한 계정 유형을 정의하고, 
-이들이 함께 어댑터를 고유하게 식별합니다. 동기화 어댑터가 활성화되려면 사용자가 
-동기화 어댑터의 계정 유형에 대해 계정을 추가하고 해당 동기화 어댑터와 동기화하는 콘텐츠 제공자의 동기화를 
-활성화해야 합니다.  이 시점에서, 시스템이 어댑터 관리를 시작하고, 
+    동기화 어댑터를
+{@link android.content.AbstractThreadedSyncAdapter}의
+하위 클래스로 구현하고 이를Android 애플리케이션의 일부로 설치합니다. 시스템은 애플리케이션 매니페스트의 요소와 매니페스트가 가리키는
+특수 XML 파일에서 동기화 어댑터에 관한 정보를 얻습니다. XML 파일은
+온라인 서비스와 콘텐츠 제공자의 권한에 대한 계정 유형을 정의하고,
+이들이 함께 어댑터를 고유하게 식별합니다. 동기화 어댑터가 활성화되려면 사용자가
+동기화 어댑터의 계정 유형에 대해 계정을 추가하고 해당 동기화 어댑터와 동기화하는 콘텐츠 제공자의 동기화를
+활성화해야 합니다.  이 시점에서, 시스템이 어댑터 관리를 시작하고,
 콘텐츠 제공자와 서버 사이에서 동기화가 필요할 때 이를 호출합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 계정 유형을 동기화 어댑터 식별의 일부로 사용하면 
-시스템이 동일한 같은 조직에서 여러 서비스에 액세스하는 동기화 어댑터를 
-감지하고 그룹화할 수 있습니다. 예를 들어, Google 온라인 서비스의 동기화 어댑터는 계정 유형이 모두 
-<code>com.google</code>로 같습니다. 사용자가 기기에 Google 계정을 추가하면, 
-Google 서비스에 설치된 모든 동기화 어댑터가 함께 목록으로 표시됩니다. 목록에 게재된 각 동기화는 
+    <strong>참고:</strong> 계정 유형을 동기화 어댑터 식별의 일부로 사용하면
+시스템이 동일한 같은 조직에서 여러 서비스에 액세스하는 동기화 어댑터를
+감지하고 그룹화할 수 있습니다. 예를 들어, Google 온라인 서비스의 동기화 어댑터는 계정 유형이 모두
+<code>com.google</code>로 같습니다. 사용자가 기기에 Google 계정을 추가하면,
+Google 서비스에 설치된 모든 동기화 어댑터가 함께 목록으로 표시됩니다. 목록에 게재된 각 동기화는
 기기에서 각기 다른 콘텐츠 제공자와 동기화합니다.
 </p>
 <p>
-    대부분의 서비스에서는 사용자가 데이터에 액세스하기 전에 
-ID를 확인해야 하기 때문에 Android에서는 동기화 어댑터 프레임워크와 비슷하면서 종종 이와 함께 쓰이기도 하는 
-인증 프레임워크를 제공합니다. 인증 프레임워크는 
-{@link android.accounts.AbstractAccountAuthenticator}의 하위 클래스인 
-플러그인 인증자를 사용합니다. 인증자는 다음 절차에 따라 
+    대부분의 서비스에서는 사용자가 데이터에 액세스하기 전에
+ID를 확인해야 하기 때문에 Android에서는 동기화 어댑터 프레임워크와 비슷하면서 종종 이와 함께 쓰이기도 하는
+인증 프레임워크를 제공합니다. 인증 프레임워크는
+{@link android.accounts.AbstractAccountAuthenticator}의 하위 클래스인
+플러그인 인증자를 사용합니다. 인증자는 다음 절차에 따라
 사용자의 ID를 확인합니다.
     <ol>
         <li>
-            사용자 이름, 암호 또는 유사한 정보(사용자의 
+            사용자 이름, 암호 또는 유사한 정보(사용자의
 <strong>자격 증명</strong>)를 수집합니다.
         </li>
         <li>
@@ -1695,9 +1695,9 @@
         </li>
     </ol>
 <p>
-    서비스가 자격 증명을 수락하면 
-인증자가 자격 증명을 저장하여 나중에 사용할 수 있습니다. 플러그인 인증자 프레임워크로 인해, 
-{@link android.accounts.AccountManager}는 Oauth2 authToken과 같이 인증자가 지원하고 노출하기로 선택하는 모든 authToken에 액세스를 
+    서비스가 자격 증명을 수락하면
+인증자가 자격 증명을 저장하여 나중에 사용할 수 있습니다. 플러그인 인증자 프레임워크로 인해,
+{@link android.accounts.AccountManager}는 Oauth2 authToken과 같이 인증자가 지원하고 노출하기로 선택하는 모든 authToken에 액세스를
 제공합니다.
 </p>
 <p>
@@ -1706,18 +1706,18 @@
 </p>
 <h3 id="SyncAdapterImplementing">동기화 어댑터 구현</h3>
 <p>
-    연락처 제공자에 대한 동기화 어댑터를 구현하려면, 
+    연락처 제공자에 대한 동기화 어댑터를 구현하려면,
 다음이 들어있는 Android 애플리케이션을 생성하는 것으로 시작합니다.
 </p>
     <dl>
         <dt>
-            시스템의 요청에 응답하여 동기화 어댑터에 바인딩하는 {@link android.app.Service} 
+            시스템의 요청에 응답하여 동기화 어댑터에 바인딩하는 {@link android.app.Service}
 구성 요소.
         </dt>
         <dd>
-            시스템이 동기화를 실행하고자 하는 경우, 이는 
+            시스템이 동기화를 실행하고자 하는 경우, 이는
 서비스의 {@link android.app.Service#onBind(Intent) onBind()} 메서드를 호출하여
-동기화 어댑터의 {@link android.os.IBinder}를 가져옵니다. 이렇게 하면 시스템이 어댑터의 
+동기화 어댑터의 {@link android.os.IBinder}를 가져옵니다. 이렇게 하면 시스템이 어댑터의
 메서드에 대해 프로세스간 호출을 수행할 수 있습니다.
             <p>
                 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
@@ -1726,18 +1726,18 @@
             </p>
         </dd>
         <dt>
-            {@link android.content.AbstractThreadedSyncAdapter}의 
+            {@link android.content.AbstractThreadedSyncAdapter}의
 하위 클래스로 구현된 실제 동기화 어댑터.
         </dt>
         <dd>
-            이 클래스는 서버에서 데이터를 다운로드하고, 기기에서 데이터를 업로드하고, 
-충돌을 해결하는 작업을 수행합니다. 어댑터의 주요 작업은 
+            이 클래스는 서버에서 데이터를 다운로드하고, 기기에서 데이터를 업로드하고,
+충돌을 해결하는 작업을 수행합니다. 어댑터의 주요 작업은
 {@link android.content.AbstractThreadedSyncAdapter#onPerformSync(
 Account, Bundle, String, ContentProviderClient, SyncResult)
 onPerformSync()} 메서드에서 실행합니다. 이 클래스는 반드시 단일 항목으로 인스턴트화해야 합니다.
             <p>
                 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
-샘플 동기화 어댑터</a> 샘플 앱에서 동기화 어댑터는 
+샘플 동기화 어댑터</a> 샘플 앱에서 동기화 어댑터는
 <code>com.example.android.samplesync.syncadapter.SyncAdapter</code> 클래스에서 정의됩니다.
             </p>
         </dd>
@@ -1745,23 +1745,23 @@
             {@link android.app.Application}의 하위 클래스.
         </dt>
         <dd>
-            이 클래스는 동기화 어댑터 단일 항목의 팩터리 역할을 합니다. 
-{@link android.app.Application#onCreate()} 메서드는 
-동기화 어댑터를 인스턴트화하고, 단일 항목을 동기화 어댑터 서비스의 
-{@link android.app.Service#onBind(Intent) onBind()} 메서드에 반환할 정적 "getter" 메서드를 제공하는 데 
+            이 클래스는 동기화 어댑터 단일 항목의 팩터리 역할을 합니다.
+{@link android.app.Application#onCreate()} 메서드는
+동기화 어댑터를 인스턴트화하고, 단일 항목을 동기화 어댑터 서비스의
+{@link android.app.Service#onBind(Intent) onBind()} 메서드에 반환할 정적 "getter" 메서드를 제공하는 데
 사용하십시오.
         </dd>
         <dt>
-            <strong>선택 항목:</strong> 사용자 인증에 대한 시스템으로부터의 요청에 응답하는 {@link android.app.Service} 
+            <strong>선택 항목:</strong> 사용자 인증에 대한 시스템으로부터의 요청에 응답하는 {@link android.app.Service}
 구성 요소.
         </dt>
         <dd>
-            {@link android.accounts.AccountManager}가 이 서비스를 시작하여 인증 
-절차를 시작합니다. 서비스의 {@link android.app.Service#onCreate()} 메서드가 
-인증자 객체를 인스턴트화합니다. 시스템이 애플리케이션 동기화 어댑터의 사용자 계정을 인증하고자 하는 경우, 
-시스템은 서비스의 
-{@link android.app.Service#onBind(Intent) onBind()} 메서드를 호출하여 
-인증자의 {@link android.os.IBinder}를 가져옵니다. 이렇게 하면 시스템이 인증자의 
+            {@link android.accounts.AccountManager}가 이 서비스를 시작하여 인증
+절차를 시작합니다. 서비스의 {@link android.app.Service#onCreate()} 메서드가
+인증자 객체를 인스턴트화합니다. 시스템이 애플리케이션 동기화 어댑터의 사용자 계정을 인증하고자 하는 경우,
+시스템은 서비스의
+{@link android.app.Service#onBind(Intent) onBind()} 메서드를 호출하여
+인증자의 {@link android.os.IBinder}를 가져옵니다. 이렇게 하면 시스템이 인증자의
 메서드에 대해 프로세스간 호출을 수행할 수 있습니다.
             <p>
                 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
@@ -1770,18 +1770,18 @@
             </p>
         </dd>
         <dt>
-            <strong>선택 항목:</strong> 인증에 대한 요청을 처리하는 
-{@link android.accounts.AbstractAccountAuthenticator}의 구체적인 
+            <strong>선택 항목:</strong> 인증에 대한 요청을 처리하는
+{@link android.accounts.AbstractAccountAuthenticator}의 구체적인
 하위 클래스.
         </dt>
         <dd>
-            이 클래스는 {@link android.accounts.AccountManager}가 
-서버로 사용자 자격 증명 인증을 호출하는 메서드를 제공합니다. 인증 절차의 세부 사항은 
-사용하는 서버 기술에 따라 매우 차이가 있습니다. 인증에 대한 
+            이 클래스는 {@link android.accounts.AccountManager}가
+서버로 사용자 자격 증명 인증을 호출하는 메서드를 제공합니다. 인증 절차의 세부 사항은
+사용하는 서버 기술에 따라 매우 차이가 있습니다. 인증에 대한
 자세한 정보는 각자의 서버 소프트웨어에 해당되는 관련 문서를 참조하십시오.
             <p>
                 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
-샘플 동기화 어댑터</a> 샘플 앱에서 인증자는 
+샘플 동기화 어댑터</a> 샘플 앱에서 인증자는
 <code>com.example.android.samplesync.authenticator.Authenticator</code> 클래스에서 정의됩니다.
             </p>
         </dd>
@@ -1789,31 +1789,31 @@
             동기화 어댑터와 서버의 인증자를 정의하는 XML 파일.
         </dt>
         <dd>
-            이전에 설명한 동기화 어댑터와 인증자 서비스 구성 요소는 
-애플리케이션 매니페스트의 
-<code>&lt;<a href="{@docRoot}guide/topics/manifest/service-element.html">service</a>&gt;</code> 요소에서 
-정의합니다. 이런 요소에는 
-시스템에 특정 데이터를 제공하는 
+            이전에 설명한 동기화 어댑터와 인증자 서비스 구성 요소는
+애플리케이션 매니페스트의
+<code>&lt;<a href="{@docRoot}guide/topics/manifest/service-element.html">service</a>&gt;</code> 요소에서
+정의합니다. 이런 요소에는
+시스템에 특정 데이터를 제공하는
 <code>&lt;<a href="{@docRoot}guide/topics/manifest/meta-data-element.html">meta-data</a>&gt;</code>
-하위 요소가 
+하위 요소가
 들어있습니다.
             <ul>
                 <li>
-                    동기화 어댑터 서비스에 대한 
+                    동기화 어댑터 서비스에 대한
 <code>&lt;<a href="{@docRoot}guide/topics/manifest/meta-data-element.html">meta-data</a>&gt;</code>
-요소는 
-XML 파일 <code>res/xml/syncadapter.xml</code>을 가리킵니다. 그런가 하면 
-이 파일은 연락처 제공자와 동기화될 웹 서비스에 대한 URI와 웹 서비스에 대한 계정 유형을 
+요소는
+XML 파일 <code>res/xml/syncadapter.xml</code>을 가리킵니다. 그런가 하면
+이 파일은 연락처 제공자와 동기화될 웹 서비스에 대한 URI와 웹 서비스에 대한 계정 유형을
 나타냅니다.
                 </li>
                 <li>
-                    <strong>선택 항목:</strong> 인증자의 
+                    <strong>선택 항목:</strong> 인증자의
 <code>&lt;<a href="{@docRoot}guide/topics/manifest/meta-data-element.html">meta-data</a>&gt;</code>
-요소는 XML 파일 
-<code>res/xml/authenticator.xml</code>을 가리킵니다. 이 파일은 다시 
-이 인증이 지원하는 계정 유형과, 인증 과정 중에 표시되는 UI 리소스를 
-나타냅니다. 이 요소에서 지정한 계정 유형은 반드시 
-동기화 어댑터에 대해 지정된 계정 유형과 
+요소는 XML 파일
+<code>res/xml/authenticator.xml</code>을 가리킵니다. 이 파일은 다시
+이 인증이 지원하는 계정 유형과, 인증 과정 중에 표시되는 UI 리소스를
+나타냅니다. 이 요소에서 지정한 계정 유형은 반드시
+동기화 어댑터에 대해 지정된 계정 유형과
 같아야 합니다.
                 </li>
             </ul>
@@ -1821,18 +1821,18 @@
     </dl>
 <h2 id="SocialStream">소셜 스트림 데이터</h2>
 <p>
-    {@code android.provider.ContactsContract.StreamItems}와 
-{@code android.provider.ContactsContract.StreamItemPhotos} 테이블은 
-소셜 네트워크에서 수신하는 데이터를 관리합니다. 개발자는 본인의 네트워크의 스트림 데이터를 이 테이블에 추가하는 
-동기화 어댑터를 작성할 수도 있고, 이 테이블에서 스트림 데이터를 읽어서 
-본인의 애플리케이션에 표시할 수도 있으며 두 가지를 모두 해도 됩니다. 이 기능을 사용하면 소셜 네트워킹 
+    {@code android.provider.ContactsContract.StreamItems}와
+{@code android.provider.ContactsContract.StreamItemPhotos} 테이블은
+소셜 네트워크에서 수신하는 데이터를 관리합니다. 개발자는 본인의 네트워크의 스트림 데이터를 이 테이블에 추가하는
+동기화 어댑터를 작성할 수도 있고, 이 테이블에서 스트림 데이터를 읽어서
+본인의 애플리케이션에 표시할 수도 있으며 두 가지를 모두 해도 됩니다. 이 기능을 사용하면 소셜 네트워킹
 서비스와 애플리케이션을 Android의 소셜 네트워킹 환경에 통합할 수 있습니다.
 </p>
 <h3 id="StreamText">소셜 스트림 텍스트</h3>
 <p>
-    스트림 항목은 항상 원시 연락처와 연관됩니다. 
-{@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}는 
-원시 연락처의 <code>_ID</code> 값과 연관됩니다. 원시 연락처의 계정 유형과 계정 이름도 
+    스트림 항목은 항상 원시 연락처와 연관됩니다.
+{@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}는
+원시 연락처의 <code>_ID</code> 값과 연관됩니다. 원시 연락처의 계정 유형과 계정 이름도
 스트림 항목 행에 저장됩니다.
 </p>
 <p>
@@ -1843,36 +1843,36 @@
         {@code android.provider.ContactsContract.StreamItemsColumns#ACCOUNT_TYPE}
     </dt>
     <dd>
-        <strong>필수입니다.</strong> 이 스트림 항목과 연관된 원시 연락처에 대한 
+        <strong>필수입니다.</strong> 이 스트림 항목과 연관된 원시 연락처에 대한
 사용자 계정입니다. 스트림 항목을 삽입할 때 이 값을 설정하는 것을 잊지 마십시오.
     </dd>
     <dt>
         {@code android.provider.ContactsContract.StreamItemsColumns#ACCOUNT_NAME}
     </dt>
     <dd>
-        <strong>필수입니다.</strong> 이 스트림 항목과 연관된 원시 연락처에 대한 
+        <strong>필수입니다.</strong> 이 스트림 항목과 연관된 원시 연락처에 대한
 사용자 계정 이름입니다. 스트림 항목을 삽입할 때 이 값을 설정하는 것을 잊지 마십시오.
     </dd>
     <dt>
         식별자 열
     </dt>
     <dd>
-        <strong>필수입니다.</strong> 스트림 항목을 삽입할 때 
+        <strong>필수입니다.</strong> 스트림 항목을 삽입할 때
 다음 식별자 열을 삽입해야 합니다.
         <ul>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_ID}: 이 
-스트림 항목과 연관된 연락처의 {@code android.provider.BaseColumns#_ID} 
+                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_ID}: 이
+스트림 항목과 연관된 연락처의 {@code android.provider.BaseColumns#_ID}
 값입니다.
             </li>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_LOOKUP_KEY}: 이 
-스트림 항목과 연관된 연락처의 {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} 
+                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_LOOKUP_KEY}: 이
+스트림 항목과 연관된 연락처의 {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}
 값입니다.
             </li>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}: 이 
-스트림 항목과 연관된 원시 연락처의 {@code android.provider.BaseColumns#_ID} 
+                {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}: 이
+스트림 항목과 연관된 원시 연락처의 {@code android.provider.BaseColumns#_ID}
 값입니다.
             </li>
         </ul>
@@ -1887,19 +1887,19 @@
         {@code android.provider.ContactsContract.StreamItemsColumns#TEXT}
     </dt>
     <dd>
-        스트림 항목의 텍스트로, 항목의 소스가 게시한 콘텐츠 또는 
-스트림 항목을 생성하는 작업의 설명 중 하나입니다. 이 열에는 
-{@link android.text.Html#fromHtml(String) fromHtml()}가 렌더링할 수 있는 모든 서식과 포함된 리소스 이미지가 
-들어있을 수 있습니다. 제공자는 긴 콘텐츠를 
+        스트림 항목의 텍스트로, 항목의 소스가 게시한 콘텐츠 또는
+스트림 항목을 생성하는 작업의 설명 중 하나입니다. 이 열에는
+{@link android.text.Html#fromHtml(String) fromHtml()}가 렌더링할 수 있는 모든 서식과 포함된 리소스 이미지가
+들어있을 수 있습니다. 제공자는 긴 콘텐츠를
 자르거나 생략할 수 있지만, 가능하면 태그를 손상시키는 것은 피하려 듭니다.
     </dd>
     <dt>
         {@code android.provider.ContactsContract.StreamItemsColumns#TIMESTAMP}
     </dt>
     <dd>
-        스트림 항목이 삽입되거나 업데이트된 시간이 들어있는 텍스트 문자열로, 형식은 
-epoch 이후 <em>밀리초</em> 형태를 취합니다. 이 열을 관리할 책임은 
-스트림 항목을 삽입 또는 업데이트하는 애플리케이션에 있으며, 이것은 연락처 제공자가 자동으로 
+        스트림 항목이 삽입되거나 업데이트된 시간이 들어있는 텍스트 문자열로, 형식은
+epoch 이후 <em>밀리초</em> 형태를 취합니다. 이 열을 관리할 책임은
+스트림 항목을 삽입 또는 업데이트하는 애플리케이션에 있으며, 이것은 연락처 제공자가 자동으로
 유지 관리하지 않습니다.
     </dd>
 </dl>
@@ -1911,18 +1911,18 @@
 리소스를 연결하십시오.
 </p>
 <p>
-    {@code android.provider.ContactsContract.StreamItems} 테이블에도 
+    {@code android.provider.ContactsContract.StreamItems} 테이블에도
 동기화 어댑터가 독점적으로 사용하는 {@code android.provider.ContactsContract.StreamItemsColumns#SYNC1}에서
-{@code android.provider.ContactsContract.StreamItemsColumns#SYNC4}까지의 열이 
+{@code android.provider.ContactsContract.StreamItemsColumns#SYNC4}까지의 열이
 들어있습니다.
 </p>
 <h3 id="StreamPhotos">소셜 스트림 사진</h3>
 <p>
-   {@code android.provider.ContactsContract.StreamItemPhotos} 테이블은 스트림 항목과 연관된 
-사진을 저장합니다. 테이블의 
+   {@code android.provider.ContactsContract.StreamItemPhotos} 테이블은 스트림 항목과 연관된
+사진을 저장합니다. 테이블의
 {@code android.provider.ContactsContract.StreamItemPhotosColumns#STREAM_ITEM_ID} 열은
-{@code android.provider.ContactsContract.StreamItems} 테이블의 {@code android.provider.BaseColumns#_ID} 열에 있는 값과 
-연결됩니다. 사진 참조는 
+{@code android.provider.ContactsContract.StreamItems} 테이블의 {@code android.provider.BaseColumns#_ID} 열에 있는 값과
+연결됩니다. 사진 참조는
 다음 열의 테이블에 저장됩니다.
 </p>
 <dl>
@@ -1931,21 +1931,21 @@
     </dt>
     <dd>
         사진의 바이너리 표현으로, 제공자가 저장하고 표시하기 위해 크기를 조정한 것입니다.
-        이 열은 사진을 저장하는 데 사용한 연락처 제공자의 이전 버전과 
-호환됩니다. 그러나 현재 버전에서는 
-이 열을 사진 저장에 사용하면 안 됩니다. 대신, 
-{@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_FILE_ID} 또는 
+        이 열은 사진을 저장하는 데 사용한 연락처 제공자의 이전 버전과
+호환됩니다. 그러나 현재 버전에서는
+이 열을 사진 저장에 사용하면 안 됩니다. 대신,
+{@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_FILE_ID} 또는
 {@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_URI}(
-다음 항목에서 두 가지 모두 설명)를 사용하여 사진을 파일로 저장합니다. 지금 이 열에는 
+다음 항목에서 두 가지 모두 설명)를 사용하여 사진을 파일로 저장합니다. 지금 이 열에는
 사진의 미리 보기가 들어있어 읽기 작업에 사용할 수 있습니다.
     </dd>
     <dt>
         {@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_FILE_ID}
     </dt>
     <dd>
-        원시 연락처에 대한 사진의 숫자 식별자입니다. 이 값을 
-상수 {@link android.provider.ContactsContract.DisplayPhoto#CONTENT_URI DisplayPhoto.CONTENT_URI}에 추가하여 
-하나의 사진 파일을 가리키는 콘텐츠 URI를 가져온 다음, 
+        원시 연락처에 대한 사진의 숫자 식별자입니다. 이 값을
+상수 {@link android.provider.ContactsContract.DisplayPhoto#CONTENT_URI DisplayPhoto.CONTENT_URI}에 추가하여
+하나의 사진 파일을 가리키는 콘텐츠 URI를 가져온 다음,
 {@link android.content.ContentResolver#openAssetFileDescriptor(Uri, String)
 openAssetFileDescriptor()}를 호출하여 사진 파일에 대한 핸들을 가져옵니다.
     </dd>
@@ -1965,91 +1965,91 @@
     <ul>
         <li>
             이 테이블에는 추가 액세스 권한이 필요합니다. 여기서 읽기 작업을 수행하려면 애플리케이션에
-{@code android.Manifest.permission#READ_SOCIAL_STREAM} 권한이 있어야 합니다. 여기서 수정 작업을 수행하려면 
+{@code android.Manifest.permission#READ_SOCIAL_STREAM} 권한이 있어야 합니다. 여기서 수정 작업을 수행하려면
 애플리케이션에
 {@code android.Manifest.permission#WRITE_SOCIAL_STREAM} 권한이 있어야 합니다.
         </li>
         <li>
-            {@code android.provider.ContactsContract.StreamItems} 테이블의 경우, 각 원시 연락처에 저장되는 
-행 개수가 제한되어 있습니다. 이 한계에 도달하면, 
+            {@code android.provider.ContactsContract.StreamItems} 테이블의 경우, 각 원시 연락처에 저장되는
+행 개수가 제한되어 있습니다. 이 한계에 도달하면,
 연락처 제공자가 새 스트림 항목 열에 필요한 공간을 만들어야 합니다.
-이때 가장 오래된 {@code android.provider.ContactsContract.StreamItemsColumns#TIMESTAMP}가 
-있는 행부터 자동으로 삭제하는 방법을 씁니다. 이 한계를 
-가져오려면, 콘텐츠 URI 
-{@code android.provider.ContactsContract.StreamItems#CONTENT_LIMIT_URI}에 쿼리를 발행합니다. 콘텐츠 
-URI를 뺀 나머지 모든 인수는 <code>null</code>로 설정한 채 두면 됩니다. 이 쿼리는 
-행이 하나 들어 있는 커서를 반환하며, 
+이때 가장 오래된 {@code android.provider.ContactsContract.StreamItemsColumns#TIMESTAMP}가
+있는 행부터 자동으로 삭제하는 방법을 씁니다. 이 한계를
+가져오려면, 콘텐츠 URI
+{@code android.provider.ContactsContract.StreamItems#CONTENT_LIMIT_URI}에 쿼리를 발행합니다. 콘텐츠
+URI를 뺀 나머지 모든 인수는 <code>null</code>로 설정한 채 두면 됩니다. 이 쿼리는
+행이 하나 들어 있는 커서를 반환하며,
 {@code android.provider.ContactsContract.StreamItems#MAX_ITEMS} 열 하나가 수반됩니다.
         </li>
     </ul>
 
 <p>
-    {@code android.provider.ContactsContract.StreamItems.StreamItemPhotos} 클래스는 
-스트림 항목 하나의 사진 행을 포함하는 {@code android.provider.ContactsContract.StreamItemPhotos}의 
+    {@code android.provider.ContactsContract.StreamItems.StreamItemPhotos} 클래스는
+스트림 항목 하나의 사진 행을 포함하는 {@code android.provider.ContactsContract.StreamItemPhotos}의
 하위 테이블을 정의합니다.
 </p>
 <h3 id="SocialStreamInteraction">소셜 스트림 상호 작용</h3>
 <p>
-    연락처 제공자가 기기 연락처 애플리케이션과 함께 관리하는 소셜 스트림 데이터는 
-소셜 네트워킹 시스템과 
+    연락처 제공자가 기기 연락처 애플리케이션과 함께 관리하는 소셜 스트림 데이터는
+소셜 네트워킹 시스템과
 기존 연락처를 연결하는 강력한 방법을 제공합니다. 사용할 수 있는 기능은 다음과 같습니다.
 </p>
     <ul>
         <li>
-            소셜 네트워킹 서비스를 동기화 어댑터로 연락처 제공자에 동기화함으로써, 
-사용자 연락처의 최근 활동을 검색하고 이를 
-{@code android.provider.ContactsContract.StreamItems} 및 
+            소셜 네트워킹 서비스를 동기화 어댑터로 연락처 제공자에 동기화함으로써,
+사용자 연락처의 최근 활동을 검색하고 이를
+{@code android.provider.ContactsContract.StreamItems} 및
 {@code android.provider.ContactsContract.StreamItemPhotos} 테이블에 저장해 두어 나중에 사용할 수 있습니다.
         </li>
         <li>
-            정기 동기화 외에도 사용자가 볼 연락처를 선택하면 동기화 어댑터를 트리거하여 
-추가 데이터를 검색하게 할 수 있습니다. 이렇게 하면 동기화 어댑터가 
+            정기 동기화 외에도 사용자가 볼 연락처를 선택하면 동기화 어댑터를 트리거하여
+추가 데이터를 검색하게 할 수 있습니다. 이렇게 하면 동기화 어댑터가
 해당 연락처의 고해상도 사진과 가장 최근 스트림 항목을 검색할 수 있습니다.
         </li>
         <li>
-            기기 연락처 애플리케이션과 연락처 제공자에 알림을 등록하면, 
-연락처가 열람될 때 인텐트를 <em>수신</em>하고, 
-그 시점에 개발자의 서비스로부터 연락처의 상태를 업데이트할 수 있습니다. 이 방법을 사용하면 동기화 어댑터로 
+            기기 연락처 애플리케이션과 연락처 제공자에 알림을 등록하면,
+연락처가 열람될 때 인텐트를 <em>수신</em>하고,
+그 시점에 개발자의 서비스로부터 연락처의 상태를 업데이트할 수 있습니다. 이 방법을 사용하면 동기화 어댑터로
 완전 동기화를 수행하는 것보다 빠르고 대역폭도 적게 사용합니다.
         </li>
         <li>
-            사용자는 기기의 연락처 애플리케이션을 보면서 여러분의 소셜 네트워킹 서비스에 
-연락처를 추가할 수 있습니다. 이는 "연락처 초대" 기능으로 사용할 수 있습니다. 
-연락처 초대 기능은 기존 연락처를 네트워크에 추가하는 액티비티와 
-기기의 연락처 애플리케이션을 제공하는 XML 파일, 
+            사용자는 기기의 연락처 애플리케이션을 보면서 여러분의 소셜 네트워킹 서비스에
+연락처를 추가할 수 있습니다. 이는 "연락처 초대" 기능으로 사용할 수 있습니다.
+연락처 초대 기능은 기존 연락처를 네트워크에 추가하는 액티비티와
+기기의 연락처 애플리케이션을 제공하는 XML 파일,
 애플리케이션의 세부 정보가 포함된 연락처 제공자를 조합하여 활성화합니다.
         </li>
     </ul>
 <p>
-    연락처 제공자로 스트림 항목을 정기 동기화하는 방법은 
-다른 동기화와 같습니다. 동기화에 관한 자세한 내용은 
-<a href="#SyncAdapters">연락처 제공자 동기화 어댑터</a> 섹션을 참조하십시오. 알림을 등록하고 연락처를 초대하는 방법은 
+    연락처 제공자로 스트림 항목을 정기 동기화하는 방법은
+다른 동기화와 같습니다. 동기화에 관한 자세한 내용은
+<a href="#SyncAdapters">연락처 제공자 동기화 어댑터</a> 섹션을 참조하십시오. 알림을 등록하고 연락처를 초대하는 방법은
 다음 두 섹션에서 다룰 것입니다.
 </p>
 <h4>소셜 네트워킹 보기를 처리하기 위한 등록</h4>
 <p>
-    동기화 어댑터를 등록하여 사용자가 동기화 어댑터에서 관리하는 연락처를 볼 때 알림을 
+    동기화 어댑터를 등록하여 사용자가 동기화 어댑터에서 관리하는 연락처를 볼 때 알림을
 수신하는 방법:
 </p>
 <ol>
     <li>
-        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을 
+        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을
 만듭니다. 이미 이 파일이 있다면 이 절차를 건너뛰어도 됩니다.
     </li>
     <li>
-        이 파일에서, 
+        이 파일에서,
 <code>&lt;ContactsAccountType xmlns:android="http://schemas.android.com/apk/res/android"&gt;</code> 요소를 추가합니다.
         이 요소가 이미 존재한다면 이 절차를 건너뛰어도 됩니다.
     </li>
     <li>
-        사용자가 기기의 연락처 애플리케이션에서 
+        사용자가 기기의 연락처 애플리케이션에서
 연락처 세부 정보 페이지를 열면 알림을 보내는 서비스를 등록하려면,
-<code>viewContactNotifyService="<em>serviceclass</em>"</code> 속성을 요소에 추가합니다. 
-이 요소에서 <code><em>serviceclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 서비스의 
-완전히 정규화된 클래스 이름입니다. 알림 서비스의 경우, 
-{@link android.app.IntentService}를 확장하는 클래스를 사용하여 서비스가 인텐트를 수신하도록 
-허용합니다. 수신되는 인텐트의 데이터에는 
-사용자가 클릭한 원시 연락처의 콘텐츠 URI가 들어있습니다. 알림 서비스에서 동기화 어댑터에 바인딩한 다음 동기화 어댑터를 호출하여 
+<code>viewContactNotifyService="<em>serviceclass</em>"</code> 속성을 요소에 추가합니다.
+이 요소에서 <code><em>serviceclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 서비스의
+완전히 정규화된 클래스 이름입니다. 알림 서비스의 경우,
+{@link android.app.IntentService}를 확장하는 클래스를 사용하여 서비스가 인텐트를 수신하도록
+허용합니다. 수신되는 인텐트의 데이터에는
+사용자가 클릭한 원시 연락처의 콘텐츠 URI가 들어있습니다. 알림 서비스에서 동기화 어댑터에 바인딩한 다음 동기화 어댑터를 호출하여
 원시 연락처의 데이터를 업데이트할 수 있습니다.
     </li>
 </ol>
@@ -2058,31 +2058,31 @@
 </p>
 <ol>
     <li>
-        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을 
+        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을
 만듭니다. 이미 이 파일이 있다면 이 절차를 건너뛰어도 됩니다.
     </li>
     <li>
-        이 파일에서, 
+        이 파일에서,
 <code>&lt;ContactsAccountType xmlns:android="http://schemas.android.com/apk/res/android"&gt;</code> 요소를 추가합니다.
         이 요소가 이미 존재한다면 이 절차를 건너뛰어도 됩니다.
     </li>
     <li>
-        사용자가 기기의 연락처 애플리케이션에서 스트림 항목을 클릭했을 때 
-처리할 액티비티를 등록하려면, 
-<code>viewStreamItemActivity="<em>activityclass</em>"</code> 속성을 요소에 추가합니다. 
-이 요소에서 <code><em>activityclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 액티비티의 
+        사용자가 기기의 연락처 애플리케이션에서 스트림 항목을 클릭했을 때
+처리할 액티비티를 등록하려면,
+<code>viewStreamItemActivity="<em>activityclass</em>"</code> 속성을 요소에 추가합니다.
+이 요소에서 <code><em>activityclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 액티비티의
 완전히 정규화된 클래스 이름입니다.
     </li>
     <li>
-        사용자가 기기의 연락처 애플리케이션에서 스트림 사진을 클릭했을 때 
+        사용자가 기기의 연락처 애플리케이션에서 스트림 사진을 클릭했을 때
 처리할 액티비티를 등록하려면,
 <code>viewStreamItemPhotoActivity="<em>activityclass</em>"</code> 속성을 요소에 추가합니다.
-이 요소에서 <code><em>activityclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 액티비티의 
+이 요소에서 <code><em>activityclass</em></code>는 기기의 연락처 애플리케이션에서 인텐트를 수신하는 액티비티의
 완전히 정규화된 클래스 이름입니다.
     </li>
 </ol>
 <p>
-    <code>&lt;ContactsAccountType&gt;</code> 요소는 
+    <code>&lt;ContactsAccountType&gt;</code> 요소는
 <a href="#SocialStreamAcctType">&lt;ContactsAccountType&gt; 요소</a> 섹션에 자세히 설명되어 있습니다.
 </p>
 <p>
@@ -2091,17 +2091,17 @@
 </p>
 <h4>소셜 네트워킹 서비스로 상호 작용</h4>
 <p>
-    사용자는 소셜 네트워킹 사이트에 연락처를 초대할 때 
-기기의 연락처 애플리케이션을 떠나지 않아도 됩니다. 대신, 개발자가 기기의 연락처 앱에 액티비티 중 하나로 연락처를 초대하는 인텐트를 
+    사용자는 소셜 네트워킹 사이트에 연락처를 초대할 때
+기기의 연락처 애플리케이션을 떠나지 않아도 됩니다. 대신, 개발자가 기기의 연락처 앱에 액티비티 중 하나로 연락처를 초대하는 인텐트를
 보내게 할 수 있습니다. 이렇게 설정하는 방법은 다음과 같습니다.
 </p>
 <ol>
     <li>
-        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을 
+        프로젝트의 <code>res/xml/</code> 디렉터리에 <code>contacts.xml</code> 파일을
 만듭니다. 이미 이 파일이 있다면 이 절차를 건너뛰어도 됩니다.
     </li>
     <li>
-        이 파일에서, 
+        이 파일에서,
 <code>&lt;ContactsAccountType xmlns:android="http://schemas.android.com/apk/res/android"&gt;</code> 요소를 추가합니다.
         이 요소가 이미 존재한다면 이 절차를 건너뛰어도 됩니다.
     </li>
@@ -2113,25 +2113,25 @@
                 <code>inviteContactActionLabel="&#64;string/<em>invite_action_label</em>"</code>
             </li>
         </ul>
-        <code><em>activityclass</em></code> 값은 인텐트를 수신해야 하는 액티비티의 
+        <code><em>activityclass</em></code> 값은 인텐트를 수신해야 하는 액티비티의
 완전히 정규화된 클래스 이름입니다. <code><em>invite_action_label</em></code>
-값은 기기의 연락처 애플리케이션에 있는 <strong>연결 추가</strong> 메뉴에 
+값은 기기의 연락처 애플리케이션에 있는 <strong>연결 추가</strong> 메뉴에
 표시되는 텍스트 문자열입니다.
     </li>
 </ol>
 <p class="note">
-    <strong>참고:</strong> <code>ContactsSource</code>는 
+    <strong>참고:</strong> <code>ContactsSource</code>는
 <code>ContactsAccountType</code>에 대하여 이제 사용하지 않는 태그 이름입니다.
 </p>
 <h3 id="ContactsFile">contacts.xml 참조</h3>
 <p>
-    <code>contacts.xml</code> 파일에는 XML 요소가 들어있어 개발자의 동기화 어댑터와 
-애플리케이션, 연락처 애플리케이션과 연락처 제공자 사이의 상호 작용을 제어합니다. 이런 
+    <code>contacts.xml</code> 파일에는 XML 요소가 들어있어 개발자의 동기화 어댑터와
+애플리케이션, 연락처 애플리케이션과 연락처 제공자 사이의 상호 작용을 제어합니다. 이런
 요소는 다음 섹션에 설명되어 있습니다.
 </p>
 <h4 id="SocialStreamAcctType">&lt;ContactsAccountType&gt; 요소</h4>
 <p>
-    <code>&lt;ContactsAccountType&gt;</code>요 요소는 개발자의 애플리케이션과 
+    <code>&lt;ContactsAccountType&gt;</code>요 요소는 개발자의 애플리케이션과
 연락처 애플리케이션 사이의 상호 작용을 제어합니다. 이 요소에는 다음 구문이 있습니다.
 </p>
 <pre>
@@ -2161,12 +2161,12 @@
     <strong>설명:</strong>
 </p>
 <p>
-    사용자가 연락처 중 하나를 소셜 네트워크에 초대하고, 
-소셜 네트워킹 스트림이 업데이트되면 사용자에게 알리는 등의 작업을 허용하는 
+    사용자가 연락처 중 하나를 소셜 네트워크에 초대하고,
+소셜 네트워킹 스트림이 업데이트되면 사용자에게 알리는 등의 작업을 허용하는
 Android 구성 요소와 UI 레이블을 선언합니다.
 </p>
 <p>
-    속성 접두사 <code>android:</code>는 
+    속성 접두사 <code>android:</code>는
 <code>&lt;ContactsAccountType&gt;</code>의 속성에는 필요하지 않다는 점을 눈여겨보십시오.
 </p>
 <p>
@@ -2175,48 +2175,48 @@
 <dl>
     <dt>{@code inviteContactActivity}</dt>
     <dd>
-        사용자가 기기의 연락처 애플리케이션에서 
-<strong>연결 추가</strong>를 선택했을 때 활성화하고자 하는 
+        사용자가 기기의 연락처 애플리케이션에서
+<strong>연결 추가</strong>를 선택했을 때 활성화하고자 하는
 애플리케이션 액티비티의 완전히 정규화된 클래스 이름입니다.
     </dd>
     <dt>{@code inviteContactActionLabel}</dt>
     <dd>
-        <strong>연결 추가</strong> 메뉴의 
+        <strong>연결 추가</strong> 메뉴의
 {@code inviteContactActivity}에서 지정된 액티비티에 대해 표시되는 텍스트 문자열입니다.
-        예를 들어, 문자열 "제 네트워크를 팔로우하세요"를 사용할 수 있습니다. 이 레이블에 대한 문자열 리소스 
+        예를 들어, 문자열 "제 네트워크를 팔로우하세요"를 사용할 수 있습니다. 이 레이블에 대한 문자열 리소스
 식별자를 사용할 수 있습니다.
     </dd>
     <dt>{@code viewContactNotifyService}</dt>
     <dd>
-        사용자가 연락처를 볼 때 알림을 수신해야 하는 
-애플리케이션 서비스의 완전히 정규화된 클래스 이름입니다. 이 알림은 
-기기의 연락처 애플리케이션이 전송합니다. 이것을 사용하면 개발자의 애플리케이션이 데이터 집약적인 작업을 필요할 때까지 
-연기할 수 있습니다. 예를 들어, 개발자의 애플리케이션은 
-연락처의 고해상도 사진과 가장 최근 소셜 스트림 항목을 읽어서 표시함으로써 
-이 알림에 응답할 수 있습니다. 이 기능은 
-<a href="#SocialStreamInteraction">소셜 스트림 상호 작용</a>에 상세히 설명되어 있습니다. 알림 서비스의 예시를 
+        사용자가 연락처를 볼 때 알림을 수신해야 하는
+애플리케이션 서비스의 완전히 정규화된 클래스 이름입니다. 이 알림은
+기기의 연락처 애플리케이션이 전송합니다. 이것을 사용하면 개발자의 애플리케이션이 데이터 집약적인 작업을 필요할 때까지
+연기할 수 있습니다. 예를 들어, 개발자의 애플리케이션은
+연락처의 고해상도 사진과 가장 최근 소셜 스트림 항목을 읽어서 표시함으로써
+이 알림에 응답할 수 있습니다. 이 기능은
+<a href="#SocialStreamInteraction">소셜 스트림 상호 작용</a>에 상세히 설명되어 있습니다. 알림 서비스의 예시를
 보려면 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>
- 샘플 앱에 있는 <code>NotifierService.java</code> 파일을 
+ 샘플 앱에 있는 <code>NotifierService.java</code> 파일을
 확인합니다.
     </dd>
     <dt>{@code viewGroupActivity}</dt>
     <dd>
-        그룹 정보를 표시할 수 있는 애플리케이션 액티비티의 
-완전히 정규화된 클래스 이름입니다. 사용자가 기기의 연락처 애플리케이션에서 그룹 레이블을 클릭하면, 
+        그룹 정보를 표시할 수 있는 애플리케이션 액티비티의
+완전히 정규화된 클래스 이름입니다. 사용자가 기기의 연락처 애플리케이션에서 그룹 레이블을 클릭하면,
 이 액티비티의 UI가 표시됩니다.
     </dd>
     <dt>{@code viewGroupActionLabel}</dt>
     <dd>
-        사용자가 개발자의 애플리케이션에서 그룹을 살펴볼 수 있도록 해주는 UI 제어에 대해 
+        사용자가 개발자의 애플리케이션에서 그룹을 살펴볼 수 있도록 해주는 UI 제어에 대해
 연락처 애플리케이션이 표시하는 레이블입니다.
         <p>
-            예를 들어, 기기에 Google+ 애플리케이션을 설치하고 
-Google+를 연락처 애플리케이션과 동기화하면, Google+ 서클이 
-연락처 애플리케이션의 <strong>그룹</strong> 탭에 표시되는 것을 볼 수 있습니다. Google+ 서클을 
-클릭하면 해당 서클에서 "그룹"으로 표시된 사람들을 볼 수 있습니다. 이 표시의 맨 위에 
-Google+ 아이콘이 표시되며, 이것을 클릭하면 제어가 
-Google+ 앱으로 전환됩니다. 연락처 애플리케이션은 이 작업을 
-{@code viewGroupActivity}로 수행하며, Google+ 아이콘을 
+            예를 들어, 기기에 Google+ 애플리케이션을 설치하고
+Google+를 연락처 애플리케이션과 동기화하면, Google+ 서클이
+연락처 애플리케이션의 <strong>그룹</strong> 탭에 표시되는 것을 볼 수 있습니다. Google+ 서클을
+클릭하면 해당 서클에서 "그룹"으로 표시된 사람들을 볼 수 있습니다. 이 표시의 맨 위에
+Google+ 아이콘이 표시되며, 이것을 클릭하면 제어가
+Google+ 앱으로 전환됩니다. 연락처 애플리케이션은 이 작업을
+{@code viewGroupActivity}로 수행하며, Google+ 아이콘을
 {@code viewGroupActionLabel}의 값으로 사용합니다.
         </p>
         <p>
@@ -2225,19 +2225,19 @@
     </dd>
     <dt>{@code viewStreamItemActivity}</dt>
     <dd>
-        사용자가 원시 연락처의 스트림 항목을 클릭할 때 기기의 연락처 애플리케이션이 시작하는 
+        사용자가 원시 연락처의 스트림 항목을 클릭할 때 기기의 연락처 애플리케이션이 시작하는
 애플리케이션 액티비티의 완전히 정규화된 클래스 이름입니다.
     </dd>
     <dt>{@code viewStreamItemPhotoActivity}</dt>
     <dd>
-        사용자가 원시 연락처 스트림 항목의 사진을 클릭할 때 
-기기의 연락처 애플리케이션이 시작하는 애플리케이션 액티비티의 
+        사용자가 원시 연락처 스트림 항목의 사진을 클릭할 때
+기기의 연락처 애플리케이션이 시작하는 애플리케이션 액티비티의
 완전히 정규화된 클래스 이름입니다.
     </dd>
 </dl>
 <h4 id="SocialStreamDataKind">&lt;ContactsDataKind&gt; 요소</h4>
 <p>
-    <code>&lt;ContactsDataKind&gt;</code> 요소는 연락처 애플리케이션 UI에서 애플리케이션의 사용자 지정 데이터 행 표시를 
+    <code>&lt;ContactsDataKind&gt;</code> 요소는 연락처 애플리케이션 UI에서 애플리케이션의 사용자 지정 데이터 행 표시를
 제어합니다. 이 요소에는 다음 구문이 있습니다.
 </p>
 <pre>
@@ -2255,11 +2255,11 @@
     <strong>설명:</strong>
 </p>
 <p>
-    이 요소를 사용하여 연락처 애플리케이션이 사용자 지정 데이터 행의 콘텐츠를 
-원시 연락처 세부 정보의 일부로 표시하게 합니다. <code>&lt;ContactsAccountType&gt;</code>의 각 <code>&lt;ContactsDataKind&gt;</code> 하위 요소는 
-동기화 어댑터가 {@link android.provider.ContactsContract.Data}에 추가하는 
-사용자 지정 데이터 행의 유형을 나타냅니다. 개발자가 사용하는 사용자 지정 MIME 유형 하나마다 
-<code>&lt;ContactsDataKind&gt;</code> 요소를 하나씩 추가합니다. 데이터를 
+    이 요소를 사용하여 연락처 애플리케이션이 사용자 지정 데이터 행의 콘텐츠를
+원시 연락처 세부 정보의 일부로 표시하게 합니다. <code>&lt;ContactsAccountType&gt;</code>의 각 <code>&lt;ContactsDataKind&gt;</code> 하위 요소는
+동기화 어댑터가 {@link android.provider.ContactsContract.Data}에 추가하는
+사용자 지정 데이터 행의 유형을 나타냅니다. 개발자가 사용하는 사용자 지정 MIME 유형 하나마다
+<code>&lt;ContactsDataKind&gt;</code> 요소를 하나씩 추가합니다. 데이터를
 표시하는 것을 원치 않는 사용자 지정 데이터 행이 있으면, 이 요소를 추가하지 않아도 됩니다.
 </p>
 <p>
@@ -2268,35 +2268,35 @@
 <dl>
     <dt>{@code android:mimeType}</dt>
     <dd>
-        {@link android.provider.ContactsContract.Data} 테이블에서 
-사용자 지정 데이터 행 유형 중 하나로 지정한 사용자 지정 MIME 유형입니다. 예를 들어, 
-<code>vnd.android.cursor.item/vnd.example.locationstatus</code> 값은 연락처의 마지막으로 알려진 위치를 기록하는 
+        {@link android.provider.ContactsContract.Data} 테이블에서
+사용자 지정 데이터 행 유형 중 하나로 지정한 사용자 지정 MIME 유형입니다. 예를 들어,
+<code>vnd.android.cursor.item/vnd.example.locationstatus</code> 값은 연락처의 마지막으로 알려진 위치를 기록하는
 데이터 행에 대한 사용자 지정 MIME 유형이 될 수 있습니다.
     </dd>
     <dt>{@code android:icon}</dt>
     <dd>
-        연락처 애플리케이션이 개발자의 데이터 옆에 표시하는 
+        연락처 애플리케이션이 개발자의 데이터 옆에 표시하는
 Android <a href="{@docRoot}guide/topics/resources/drawable-resource.html">드로어블 리소스</a>
-입니다. 이 리소스를 사용하여 사용자에게 
+입니다. 이 리소스를 사용하여 사용자에게
 데이터 출처가 개발자의 서비스임을 나타내는 것입니다.
     </dd>
     <dt>{@code android:summaryColumn}</dt>
     <dd>
-        데이터 행에서 검색한 두 개 값 중에서 첫 번째 값에 대한 열 이름입니다. 이 값은 
-이 데이터 행에 대한 항목의 첫 번째 줄로 표시됩니다. 첫 번째 줄은 
-데이터 요약으로 사용되는 것이 본 목적이지만, 이것은 선택 사항입니다. 
+        데이터 행에서 검색한 두 개 값 중에서 첫 번째 값에 대한 열 이름입니다. 이 값은
+이 데이터 행에 대한 항목의 첫 번째 줄로 표시됩니다. 첫 번째 줄은
+데이터 요약으로 사용되는 것이 본 목적이지만, 이것은 선택 사항입니다.
 <a href="#detailColumn">android:detailColumn</a>도 참조하십시오.
     </dd>
     <dt>{@code android:detailColumn}</dt>
     <dd>
         데이터 행에서 검색한 두 개 값 중에서 두 번째 값에 대한 열 이름입니다. 이 값은
-이 데이터 행에 대한 항목의 두 번째 줄로 표시됩니다. 
+이 데이터 행에 대한 항목의 두 번째 줄로 표시됩니다.
 {@code android:summaryColumn}도 참조하십시오.
     </dd>
 </dl>
 <h2 id="AdditionalFeatures">추가 연락처 제공자 기능</h2>
 <p>
-    이전 섹션에서 설명한 주요 기능 외에도 연락처 제공자는 연락처 데이터를 다루는 데 
+    이전 섹션에서 설명한 주요 기능 외에도 연락처 제공자는 연락처 데이터를 다루는 데
 유용한 기능을 많이 제공합니다. 예를 들면 다음과 같습니다.
 </p>
     <ul>
@@ -2305,52 +2305,52 @@
     </ul>
 <h3 id="Groups">연락처 그룹</h3>
 <p>
-    연락처 제공자는 관련된 연락처 컬렉션에 
-<strong>그룹</strong> 데이터로 레이블을 붙이기로 선택할 수 있습니다. 사용자 계정과 연관된 서버에서 
-그룹을 관리하고자 하는 경우, 계정의 계정 유형에 대한 동기화 어댑터가 
-연락처 제공자와 서버 사이에서 그룹 데이터를 전송해야 합니다. 사용자가 해당 서버에 새 연락처를 추가하고 
+    연락처 제공자는 관련된 연락처 컬렉션에
+<strong>그룹</strong> 데이터로 레이블을 붙이기로 선택할 수 있습니다. 사용자 계정과 연관된 서버에서
+그룹을 관리하고자 하는 경우, 계정의 계정 유형에 대한 동기화 어댑터가
+연락처 제공자와 서버 사이에서 그룹 데이터를 전송해야 합니다. 사용자가 해당 서버에 새 연락처를 추가하고
 이 연락처를 새 그룹에 넣으면, 동기화 어댑터가 해당 새 그룹을
-{@link android.provider.ContactsContract.Groups} 테이블에 추가해야 합니다. 원시 연락처가 속한 그룹(또는 여러 그룹)은 
-{@link android.provider.ContactsContract.Data} 테이블에 저장되며, 이때 
+{@link android.provider.ContactsContract.Groups} 테이블에 추가해야 합니다. 원시 연락처가 속한 그룹(또는 여러 그룹)은
+{@link android.provider.ContactsContract.Data} 테이블에 저장되며, 이때
 {@link android.provider.ContactsContract.CommonDataKinds.GroupMembership} MIME 유형을 사용합니다.
 </p>
 <p>
-    개발자가 서버에서 가져온 원시 연락처 데이터를 연락처 제공자에 추가할 
-동기화 어댑터를 디자인하는 중이고 그룹은 사용하지 않는다면, 
-제공자 쪽에 데이터를 표시하라고 지시해야 합니다. 사용자가 기기에 계정을 추가했을 때 실행되는 코드에서 
-연락처 제공자가 계정에 추가하는{@link android.provider.ContactsContract.Settings} 행을 
-업데이트하십시오. 이 행에서 
+    개발자가 서버에서 가져온 원시 연락처 데이터를 연락처 제공자에 추가할
+동기화 어댑터를 디자인하는 중이고 그룹은 사용하지 않는다면,
+제공자 쪽에 데이터를 표시하라고 지시해야 합니다. 사용자가 기기에 계정을 추가했을 때 실행되는 코드에서
+연락처 제공자가 계정에 추가하는{@link android.provider.ContactsContract.Settings} 행을
+업데이트하십시오. 이 행에서
 {@link android.provider.ContactsContract.SettingsColumns#UNGROUPED_VISIBLE
-Settings.UNGROUPED_VISIBLE} 열의 값을 1로 설정합니다. 이렇게 하면 연락처 제공자가 
+Settings.UNGROUPED_VISIBLE} 열의 값을 1로 설정합니다. 이렇게 하면 연락처 제공자가
 개발자의 연락처 데이터를 항상 표시하게 되고, 이는 그룹을 사용하지 않더라도 관계 없습니다.
 </p>
 <h3 id="Photos">연락처 사진</h3>
 <p>
     {@link android.provider.ContactsContract.Data} 테이블은
 {@link android.provider.ContactsContract.CommonDataKinds.Photo#CONTENT_ITEM_TYPE
-Photo.CONTENT_ITEM_TYPE} MIME 유형으로 사진을 행에 저장합니다. 이 행의 
-{@link android.provider.ContactsContract.RawContactsColumns#CONTACT_ID} 열은 
+Photo.CONTENT_ITEM_TYPE} MIME 유형으로 사진을 행에 저장합니다. 이 행의
+{@link android.provider.ContactsContract.RawContactsColumns#CONTACT_ID} 열은
 행이 속한 원시 연락처의 {@code android.provider.BaseColumns#_ID} 열과 연결됩니다.
-    클래스 {@link android.provider.ContactsContract.Contacts.Photo}는 
-연락처 기본 사진의 사진 정보가 들어있는 {@link android.provider.ContactsContract.Contacts} 하위 테이블을 정의합니다. 
-연락처의 기본 사진은 연락처 기본 원시 연락처의 기본 사진입니다. 마찬가지로, 
+    클래스 {@link android.provider.ContactsContract.Contacts.Photo}는
+연락처 기본 사진의 사진 정보가 들어있는 {@link android.provider.ContactsContract.Contacts} 하위 테이블을 정의합니다.
+연락처의 기본 사진은 연락처 기본 원시 연락처의 기본 사진입니다. 마찬가지로,
 {@link android.provider.ContactsContract.RawContacts.DisplayPhoto} 클래스는
 원시 연락처의 기본 사진의 사진 정보가 들어있는 {@link android.provider.ContactsContract.RawContacts} 하위 테이블을
 정의합니다.
 </p>
 <p>
-    {@link android.provider.ContactsContract.Contacts.Photo} 및 
-{@link android.provider.ContactsContract.RawContacts.DisplayPhoto}에 대한 참조 문서에 
-사진 정보를 검색하는 예시가 들어있습니다. 원시 연락처에 대한 기본 미리 보기를 검색하는 데 쓰이는 
-편의 클래스는 없습니다. 하지만 
-{@link android.provider.ContactsContract.Data} 테이블에 쿼리를 보내 원시 연락처의 
-{@code android.provider.BaseColumns#_ID}, 
+    {@link android.provider.ContactsContract.Contacts.Photo} 및
+{@link android.provider.ContactsContract.RawContacts.DisplayPhoto}에 대한 참조 문서에
+사진 정보를 검색하는 예시가 들어있습니다. 원시 연락처에 대한 기본 미리 보기를 검색하는 데 쓰이는
+편의 클래스는 없습니다. 하지만
+{@link android.provider.ContactsContract.Data} 테이블에 쿼리를 보내 원시 연락처의
+{@code android.provider.BaseColumns#_ID},
     {@link android.provider.ContactsContract.CommonDataKinds.Photo#CONTENT_ITEM_TYPE
     Photo.CONTENT_ITEM_TYPE}, 및 {@link android.provider.ContactsContract.Data#IS_PRIMARY}
  열을 선택하면 해당 원시 연락처의 기본 사진 행을 찾을 수 있습니다.
 </p>
 <p>
-    한 사람의 소셜 스트림 데이터에도 사진이 포함되어 있을 수 있습니다. 이런 사진은 
-{@code android.provider.ContactsContract.StreamItemPhotos} 테이블에 저장되며, 이 내용은 
+    한 사람의 소셜 스트림 데이터에도 사진이 포함되어 있을 수 있습니다. 이런 사진은
+{@code android.provider.ContactsContract.StreamItemPhotos} 테이블에 저장되며, 이 내용은
 <a href="#StreamPhotos">소셜 스트림 사진</a>에 더 자세하게 설명되어 있습니다.
 </p>
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/ko/guide/topics/providers/content-provider-basics.jd
index 953f92a..68ed568 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/content-provider-basics.jd
@@ -119,11 +119,11 @@
 
     <!-- Intro paragraphs -->
 <p>
-    콘텐츠 제공자는 데이터의 중앙 리포지토리로의 액세스를 관리합니다. 
+    콘텐츠 제공자는 데이터의 중앙 리포지토리로의 액세스를 관리합니다.
 제공자는 Android 애플리케이션의 일부이며, 이는 종종 나름의 UI를 제공하여 데이터에 작용하도록 합니다.
- 그러나 콘텐츠 제공자는 기본적으로 다른 애플리케이션이 사용하도록 만들어진 것입니다. 
-이들은 제공자 클라이언트 개체를 사용하여 제공자에 액세스합니다. 
-제공자와 제공자 클라이언트가 결합되면 데이터에 하나의 일관적인 표준 인터페이스를 제공하여 
+ 그러나 콘텐츠 제공자는 기본적으로 다른 애플리케이션이 사용하도록 만들어진 것입니다.
+이들은 제공자 클라이언트 개체를 사용하여 제공자에 액세스합니다.
+제공자와 제공자 클라이언트가 결합되면 데이터에 하나의 일관적인 표준 인터페이스를 제공하여
 이것이 프로세스간 통신과 보안 데이터 액세스도 처리합니다.
 </p>
 <p>
@@ -139,14 +139,14 @@
     <!-- Basics -->
 <h2 id="Basics">개요</h2>
 <p>
-    콘텐츠 제공자는 외부 애플리케이션에 데이터를 표시하며, 이때 데이터는 
-관계형 데이터베이스에서 찾을 수 있는 테이블과 유사한 하나 이상의 테이블로서 표시됩니다. 
-한 행은 제공자가 수집하는 어떤 유형의 데이터 인스턴스를 나타내며, 
+    콘텐츠 제공자는 외부 애플리케이션에 데이터를 표시하며, 이때 데이터는
+관계형 데이터베이스에서 찾을 수 있는 테이블과 유사한 하나 이상의 테이블로서 표시됩니다.
+한 행은 제공자가 수집하는 어떤 유형의 데이터 인스턴스를 나타내며,
 행 안의 각 열은 인스턴스에 대해 수집된 개별적인 데이터를 나타냅니다.
 </p>
 <p>
-    예를 들어 Android 플랫폼 안에 내장된 여러 제공자 중에 사용자 사전이라는 것이 있습니다. 
-이것은 사용자가 보관하고 싶어하는 비표준 단어의 철자를 저장합니다. 표 1은 이 제공자의 테이블에서 
+    예를 들어 Android 플랫폼 안에 내장된 여러 제공자 중에 사용자 사전이라는 것이 있습니다.
+이것은 사용자가 보관하고 싶어하는 비표준 단어의 철자를 저장합니다. 표 1은 이 제공자의 테이블에서
 데이터가 어떤 형태를 띨 수 있는지를 나타낸 것입니다.
 </p>
 <p class="table-caption">
@@ -197,39 +197,39 @@
     </tr>
 </table>
 <p>
-    표 1에서, 각 행은 일반적인 사전에 나오지 않는 단어의 인스턴스를 
-나타냅니다. 각 열은 해당 단어에 대한 일부 데이터를 나타냅니다. 예를 들어 
+    표 1에서, 각 행은 일반적인 사전에 나오지 않는 단어의 인스턴스를
+나타냅니다. 각 열은 해당 단어에 대한 일부 데이터를 나타냅니다. 예를 들어
 단어가 처음 나온 로케일 등을 들 수 있습니다. 열 헤더는 제공자에 저장된
-열 이름입니다. 행의 로케일을 참조하려면 그 행의 <code>locale</code> 열을 참조합니다. 
+열 이름입니다. 행의 로케일을 참조하려면 그 행의 <code>locale</code> 열을 참조합니다.
 이 제공자의 경우, <code>_ID</code> 열은 제공자가 자동으로 유지하는 "기본 키" 열
 역할을 합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 제공자에 기본 키가 꼭 있어야 하는 것은 아니고, 
-기본 키가 있는 경우 <code>_ID</code>를 열 이름으로 사용하지 않아도 됩니다. 그러나 제공자의 데이터를 
-{@link android.widget.ListView}에 바인딩하려면 
+    <strong>참고:</strong> 제공자에 기본 키가 꼭 있어야 하는 것은 아니고,
+기본 키가 있는 경우 <code>_ID</code>를 열 이름으로 사용하지 않아도 됩니다. 그러나 제공자의 데이터를
+{@link android.widget.ListView}에 바인딩하려면
 열 이름 중 하나는<code>_ID</code>여야 합니다. 이 요구 사항은
 <a href="#DisplayResults">쿼리 결과 표시</a> 섹션에 자세히 설명되어 있습니다.
 </p>
 <h3 id="ClientProvider">제공자 액세스</h3>
 <p>
-    애플리케이션은 콘텐츠 제공자로부터의 데이터에 
-{@link android.content.ContentResolver} 클라이언트 개체로 액세스합니다. 
-이 개체에는 제공자 개체 내의 같은 이름을 가진 메서드를 호출하는 메서드가 있습니다. 
-이는 {@link android.content.ContentProvider}의 구체적인 하위 클래스 중 하나의 인스턴스입니다. 
-{@link android.content.ContentResolver} 메서드는 
+    애플리케이션은 콘텐츠 제공자로부터의 데이터에
+{@link android.content.ContentResolver} 클라이언트 개체로 액세스합니다.
+이 개체에는 제공자 개체 내의 같은 이름을 가진 메서드를 호출하는 메서드가 있습니다.
+이는 {@link android.content.ContentProvider}의 구체적인 하위 클래스 중 하나의 인스턴스입니다.
+{@link android.content.ContentResolver} 메서드는
 영구적 저장소의 기본적인 "CRUD"(생성, 검색, 업데이트 및 삭제) 기능을 제공합니다.
 </p>
 <p>
     클라이언트 애플리케이션의 프로세스 내에 있는 {@link android.content.ContentResolver} 개체와
- 제공자를 소유하는 애플리케이션 내의 {@link android.content.ContentProvider} 개체가 
+ 제공자를 소유하는 애플리케이션 내의 {@link android.content.ContentProvider} 개체가
 자동으로 프로세스간 통신을 처리합니다.
-{@link android.content.ContentProvider} 또한 
+{@link android.content.ContentProvider} 또한
 콘텐츠 제공자의 데이터 리포지토리와 외부에 테이블로 표시되는 데이터 모습 사이에서 추상화 계층 역할을 합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 제공자에 액세스하려면 보통은 애플리케이션이 
-제공자의 매니페스트 파일에 있는 특정 권한을 요청해야 합니다. 이것은 
+    <strong>참고:</strong> 제공자에 액세스하려면 보통은 애플리케이션이
+제공자의 매니페스트 파일에 있는 특정 권한을 요청해야 합니다. 이것은
 <a href="#Permissions">콘텐츠 제공자 권한</a> 섹션에 더 자세히 설명되어 있습니다.
 </p>
 <p>
@@ -237,7 +237,7 @@
 {@link android.content.ContentResolver#query ContentResolver.query()}를 호출하면 됩니다.
     {@link android.content.ContentResolver#query query()} 메서드는 사용자 사전 제공자가 정의한
 {@link android.content.ContentProvider#query ContentProvider.query()} 메서드를
-호출합니다. 다음 몇 줄의 코드는 
+호출합니다. 다음 몇 줄의 코드는
 {@link android.content.ContentResolver#query ContentResolver.query()} 호출을 나타낸 것입니다.
 <p>
 <pre>
@@ -292,26 +292,26 @@
         <td align="center"><code>sortOrder</code></td>
         <td align="center"><code>ORDER BY <em>col,col,...</em></code></td>
         <td>
-            <code>sortOrder</code>는 반환된 
+            <code>sortOrder</code>는 반환된
 {@link android.database.Cursor} 내에 행이 나타나는 순서를 지정합니다.
         </td>
     </tr>
 </table>
 <h3 id="ContentURIs">콘텐츠 URI</h3>
 <p>
-    <strong>콘텐츠 URI</strong>는 제공자에서 데이터를 식별하는 URI입니다. 
+    <strong>콘텐츠 URI</strong>는 제공자에서 데이터를 식별하는 URI입니다.
 콘텐츠 URI에는 전체 제공자의 상징적인 이름(제공자의 <strong>권한</strong>)과
-테이블을 가리키는 이름(<strong>경로</strong>)이 포함됩니다. 
+테이블을 가리키는 이름(<strong>경로</strong>)이 포함됩니다.
 제공자 내의 테이블에 액세스하기 위해 클라이언트 메서드를 호출하는 경우,
 그 테이블에 대한 콘텐츠 URI는 인수 중 하나입니다.
 </p>
 <p>
     앞선 몇 줄의 코드에서 상수
-{@link android.provider.UserDictionary.Words#CONTENT_URI}에 
+{@link android.provider.UserDictionary.Words#CONTENT_URI}에
 사용자 사전의 "단어" 테이블의 콘텐츠 URI가 들어있습니다. {@link android.content.ContentResolver}
  개체가 이 URI의 권한을 구문 분석한 다음, 이를 이용해 제공자를 "확인"합니다. 즉 이 권한을 알려진 제공자로 이루어진 시스템 테이블과 비교하는 것입니다.
- 
-그러면 {@link android.content.ContentResolver}가 쿼리 인수를 
+
+그러면 {@link android.content.ContentResolver}가 쿼리 인수를
 올바른 제공자에게 발송할 수 있습니다.
 </p>
 <p>
@@ -331,20 +331,20 @@
 이것을 콘텐츠 URI로 식별합니다.
 </p>
 <p>
-    대다수의 제공자에서는 URI의 맨 끝에 ID 값을 추가하면 
-테이블 내 하나의 행에 액세스할 수 있게 해줍니다. 예를 들어 <code>_ID</code>가 
+    대다수의 제공자에서는 URI의 맨 끝에 ID 값을 추가하면
+테이블 내 하나의 행에 액세스할 수 있게 해줍니다. 예를 들어 <code>_ID</code>가
 사용자 사전의 <code>4</code>인 행을 검색하려면, 이 콘텐츠 URI를 사용하면 됩니다.
 </p>
 <pre>
 Uri singleUri = ContentUris.withAppendedId(UserDictionary.Words.CONTENT_URI,4);
 </pre>
 <p>
-    일련의 행을 검색한 다음 그 중 하나를 업데이트하거나 삭제하고자 하는 경우 종종 ID 값을 
+    일련의 행을 검색한 다음 그 중 하나를 업데이트하거나 삭제하고자 하는 경우 종종 ID 값을
 이용하곤 합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> {@link android.net.Uri}와 
-{@link android.net.Uri.Builder} 클래스에는 문자열에서 잘 구성된(Well-Formed) URI 개체를 구성하기 위한 편의 메서드가 들어 있습니다. 
+    <strong>참고:</strong> {@link android.net.Uri}와
+{@link android.net.Uri.Builder} 클래스에는 문자열에서 잘 구성된(Well-Formed) URI 개체를 구성하기 위한 편의 메서드가 들어 있습니다.
 {@link android.content.ContentUris}에는 URI에 ID 값을 추가하기 위한 편의 메서드가 들어 있습니다.
 이전 조각은 {@link android.content.ContentUris#withAppendedId
 withAppendedId()}를 사용하여 UserDictionary 콘텐츠 URI에 ID를 추가합니다.
@@ -358,10 +358,10 @@
 방법을 설명합니다.
 </p>
 <p class="note">
-    명확히 나타내기 위해 이 섹션의 코드 조각은 
-{@link android.content.ContentResolver#query ContentResolver.query()}를 "UI 스레드"에서 호출합니다. 
+    명확히 나타내기 위해 이 섹션의 코드 조각은
+{@link android.content.ContentResolver#query ContentResolver.query()}를 "UI 스레드"에서 호출합니다.
 그러나 실제 코드의 경우 쿼리는 별도의 스레드에서 비동기식으로 수행해야 합니다. 이를 위한 한 가지 방식으로
-{@link android.content.CursorLoader} 
+{@link android.content.CursorLoader}
 클래스를 쓰는 것을 들 수 있습니다. 이 내용은 <a href="{@docRoot}guide/components/loaders.html">
 로더</a> 가이드에 더 자세히 설명되어 있습니다. 또한, 이 코드 줄은 조각일 뿐이며 애플리케이션을 전체적으로 표시한 것이 아닙니다.
 
@@ -380,32 +380,32 @@
 <h3 id="RequestPermissions">읽기 액세스 권한 요청</h3>
 <p>
     제공자에서 데이터를 검색하려면 애플리케이션에 해당 제공자에 대한 "읽기 액세스 권한"이 필요합니다.
- 런타임에는 이 권한을 요청할 수 없습니다. 대신 이 권한이 필요하다는 것을 매니페스트에 나타내야 합니다. 이때, 
+ 런타임에는 이 권한을 요청할 수 없습니다. 대신 이 권한이 필요하다는 것을 매니페스트에 나타내야 합니다. 이때,
 
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
  요소와 제공자가 정의한 정확한 권한 이름을 사용하면 됩니다.
- 매니페스트에서 이 요소를 지정하는 것은 사실상 애플리케이션을 위해 이 권한을 "요청"하는 것과 
+ 매니페스트에서 이 요소를 지정하는 것은 사실상 애플리케이션을 위해 이 권한을 "요청"하는 것과
 같습니다. 사용자가 애플리케이션을 설치할 때면, 이 요청을 암시적으로 허용하게 됩니다.
 
 </p>
 <p>
-    사용 중인 제공자에 대한 읽기 액세스 권한의 정확한 이름과 해당 제공자가 사용하는 
+    사용 중인 제공자에 대한 읽기 액세스 권한의 정확한 이름과 해당 제공자가 사용하는
 다른 액세스 권한의 이름을 찾아보려면 제공자의 문서를 살펴보십시오.
 
 </p>
 <p>
-    제공자에 액세스하는 데 있어 권한이 어떤 역할을 하는지는 
+    제공자에 액세스하는 데 있어 권한이 어떤 역할을 하는지는
 <a href="#Permissions">콘텐츠 제공자 권한</a> 섹션에 더 자세하게 설명되어 있습니다.
 </p>
 <p>
-    사용자 사전 제공자는 
-<code>android.permission.READ_USER_DICTIONARY</code> 권한을 자신의 매니페스트 파일에 정의합니다. 따라서 해당 제공자에서 
+    사용자 사전 제공자는
+<code>android.permission.READ_USER_DICTIONARY</code> 권한을 자신의 매니페스트 파일에 정의합니다. 따라서 해당 제공자에서
 읽기 작업을 하고자 하는 애플리케이션은 반드시 이 권한을 요청해야 합니다.
 </p>
 <!-- Constructing the query -->
 <h3 id="Query">쿼리 구성</h3>
 <p>
-    제공자에서 데이터를 검색할 때 다음 단계는 쿼리를 구성하는 것입니다. 다음의 첫 번째 조각은 
+    제공자에서 데이터를 검색할 때 다음 단계는 쿼리를 구성하는 것입니다. 다음의 첫 번째 조각은
 사용자 사전 제공자에 액세스하는 데 필요한 몇 가지 변수를 정의한 것입니다.
 </p>
 <pre class="prettyprint">
@@ -426,9 +426,9 @@
 
 </pre>
 <p>
-    다음 조각은 사용자 사전 제공자를 예시로 사용하여 
+    다음 조각은 사용자 사전 제공자를 예시로 사용하여
 {@link android.content.ContentResolver#query ContentResolver.query()}를
- 사용하는 방법을 나타낸 것입니다. 제공자 클라이언트 쿼리는 SQL 쿼리와 비슷하며, 
+ 사용하는 방법을 나타낸 것입니다. 제공자 클라이언트 쿼리는 SQL 쿼리와 비슷하며,
 반환할 열 집합과 선택 기준 집합, 그리고 정렬 순서가 이 안에 들어 있습니다.
 </p>
 <p>
@@ -438,13 +438,13 @@
 <p>
     검색할 행을 나타내는 식은 선택 절과 선택 인수로 분할되어 있습니다.
  선택 절은 논리와 부울 식, 열 이름과 값
-(변수 <code>mSelectionClause</code>)을 조합한 것입니다. 
-값 대신 대체 가능한 매개변수 <code>?</code>를 지정하면, 
+(변수 <code>mSelectionClause</code>)을 조합한 것입니다.
+값 대신 대체 가능한 매개변수 <code>?</code>를 지정하면,
 쿼리 메서드가 그 값을 선택 인수 배열에서 검색합니다(변수 <code>mSelectionArgs</code>).
 </p>
 <p>
-    다음 조각의 경우, 사용자가 단어를 입력하지 않으면 선택 절이 
-<code>null</code>로 설정되고, 쿼리는 제공자 안의 모든 단어를 반환합니다. 
+    다음 조각의 경우, 사용자가 단어를 입력하지 않으면 선택 절이
+<code>null</code>로 설정되고, 쿼리는 제공자 안의 모든 단어를 반환합니다.
 사용자가 단어를 입력하면 선택 절은 <code>UserDictionary.Words.WORD + " = ?"</code>로 설정되며
 선택 인수의 첫 번째 요소가 사용자가 입력한 단어로 설정됩니다.
 </p>
@@ -514,7 +514,7 @@
 </p>
 <h4 id="Injection">악의적인 입력에 대한 보호</h4>
 <p>
-    콘텐츠 제공자가 관리하는 데이터가 SQL 데이터베이스에 있는 경우, 
+    콘텐츠 제공자가 관리하는 데이터가 SQL 데이터베이스에 있는 경우,
 원시 SQL 문에 외부의 신뢰할 수 없는 데이터를 포함시키면 SQL 삽입을 초래할 수 있습니다.
 </p>
 <p>
@@ -526,17 +526,17 @@
 </pre>
 <p>
     이렇게 하면 사용자로 하여금 여러분의 SQL 문에 악의적인 SQL을 연결할 수 있도록 허용합니다.
-    예를 들어 사용자가 <code>mUserInput</code>에 대해 "nothing; DROP TABLE *;"을 입력할 수 있습니다. 
-그러면 그 결과로 선택 절 <code>var = nothing; DROP TABLE *;</code>이 나옵니다. 
-선택 절이 일종의 SQL 문으로 취급되었기 때문에 제공자가 기본 SQLite 데이터베이스에서 테이블을 
-모두 삭제하는 결과를 낳을 수도 있습니다(제공자가 <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL 삽입</a> 
+    예를 들어 사용자가 <code>mUserInput</code>에 대해 "nothing; DROP TABLE *;"을 입력할 수 있습니다.
+그러면 그 결과로 선택 절 <code>var = nothing; DROP TABLE *;</code>이 나옵니다.
+선택 절이 일종의 SQL 문으로 취급되었기 때문에 제공자가 기본 SQLite 데이터베이스에서 테이블을
+모두 삭제하는 결과를 낳을 수도 있습니다(제공자가 <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL 삽입</a>
 시도를 잡아내도록 설정된 경우는 예외입니다).
 </p>
 <p>
-    이 문제를 피하려면 <code>?</code>를 대체 가능한 매개변수로 사용하는 선택 절과, 
+    이 문제를 피하려면 <code>?</code>를 대체 가능한 매개변수로 사용하는 선택 절과,
 별도의 선택 인수 배열을 사용하면 됩니다. 이렇게 하면, 사용자 입력이 SQL 문의 일부로 해석되기보다 쿼리에 직접 바인딩됩니다.
 
-    이것은 SQL로 취급되지 않기 때문에 사용자 입력이 악의적인 SQL을 삽입할 수 없습니다. 
+    이것은 SQL로 취급되지 않기 때문에 사용자 입력이 악의적인 SQL을 삽입할 수 없습니다.
 사용자 입력을 포함하는 데 연결을 사용하는 대신 다음 선택 절을 사용합니다.
 </p>
 <pre>
@@ -558,35 +558,35 @@
 selectionArgs[0] = mUserInput;
 </pre>
 <p>
-    <code>?</code>를 대체 가능한 매개변수로 사용하는 선택 절과 
-선택 인수 배열을 사용하는 것이 선택을 지정하는 데 선호되는 방법입니다. 
+    <code>?</code>를 대체 가능한 매개변수로 사용하는 선택 절과
+선택 인수 배열을 사용하는 것이 선택을 지정하는 데 선호되는 방법입니다.
 이는 제공자가 SQL 데이터베이스 기반이 아닐 때에도 마찬가지입니다.
 </p>
 <!-- Displaying the results -->
 <h3 id="DisplayResults">쿼리 결과 표시</h3>
 <p>
-    {@link android.content.ContentResolver#query ContentResolver.query()} 
+    {@link android.content.ContentResolver#query ContentResolver.query()}
 클라이언트 메서드는 언제나 쿼리 선택 기준과 일치하는 행에 대해 쿼리 프로젝션이 지정한 열을 포함하는
-{@link android.database.Cursor}를 반환합니다. 
+{@link android.database.Cursor}를 반환합니다.
 {@link android.database.Cursor} 개체가 자신이 포함한 행과 열에 무작위 읽기 액세스를 제공합니다.
- {@link android.database.Cursor} 메서드를 사용하면 행을 결과에서 반복할 수 있고, 
+ {@link android.database.Cursor} 메서드를 사용하면 행을 결과에서 반복할 수 있고,
 각 열의 데이터 유형을 결정하며 열에서 데이터를 꺼내거나 결과의 다른 속성을 검토할 수도 있습니다.
  일부 {@link android.database.Cursor} 구현은 제공자의 데이터가 변경될 경우,
-{@link android.database.Cursor}가 변경될 때 관찰자 개체 내의 메서드를 트리거하는 경우 
+{@link android.database.Cursor}가 변경될 때 관찰자 개체 내의 메서드를 트리거하는 경우
 또는 두 가지가 한 번에 발생할 경우 자동으로 개체를 업데이트합니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 제공자는 쿼리를 수행하는 개체의 성격을 근거로 
-열에 대한 액세스를 제한할 수 있습니다. 예를 들어 연락처 제공자는 동기화 어댑터로의 몇몇 열에 대한 액세스를 제한합니다. 
+    <strong>참고:</strong> 제공자는 쿼리를 수행하는 개체의 성격을 근거로
+열에 대한 액세스를 제한할 수 있습니다. 예를 들어 연락처 제공자는 동기화 어댑터로의 몇몇 열에 대한 액세스를 제한합니다.
 이렇게 해야 액티비티 또는 서비스에 열을 반환하지 않기 때문입니다.
 </p>
 <p>
-    선택 기준에 일치하는 행이 없으면, 제공자는 
-{@link android.database.Cursor} 개체를 반환합니다. 이 개체의 
+    선택 기준에 일치하는 행이 없으면, 제공자는
+{@link android.database.Cursor} 개체를 반환합니다. 이 개체의
 {@link android.database.Cursor#getCount Cursor.getCount()}는 0(빈 커서)입니다.
 </p>
 <p>
-    내부 오류가 발생하는 경우, 쿼리 결과는 특정 제공자에 따라 달라집니다. 
+    내부 오류가 발생하는 경우, 쿼리 결과는 특정 제공자에 따라 달라집니다.
 <code>null</code>을 반환하기로 선택할 수도 있고, {@link java.lang.Exception}을 발생시킬 수도 있습니다.
 </p>
 <p>
@@ -595,9 +595,9 @@
 연결하는 것입니다.
 </p>
 <p>
-    다음 조각은 이전 조각으로부터 코드를 계속 이어가는 것입니다. 
+    다음 조각은 이전 조각으로부터 코드를 계속 이어가는 것입니다.
 이는 해당 쿼리가 검색한 {@link android.database.Cursor}가 들어 있는
-{@link android.widget.SimpleCursorAdapter} 개체를 생성하며, 이 개체를 
+{@link android.widget.SimpleCursorAdapter} 개체를 생성하며, 이 개체를
 {@link android.widget.ListView}에 대한 어댑터로 설정합니다.
 </p>
 <pre class="prettyprint">
@@ -626,7 +626,7 @@
 <p class="note">
     <strong>참고:</strong> {@link android.database.Cursor}로 {@link android.widget.ListView}를 뒷받침하려면,
 커서에 <code>_ID</code>라는 열이 포함되어야 합니다.
-    이것 때문에 이전에 표시된 쿼리가 "단어" 테이블에 대하여 <code>_ID</code> 열을 
+    이것 때문에 이전에 표시된 쿼리가 "단어" 테이블에 대하여 <code>_ID</code> 열을
 검색하며, {@link android.widget.ListView}가 이를 표시하지 않더라도 무관합니다.
     이 제한은 대부분의 제공자에 각 테이블에 대한 <code>_ID</code> 열이 있는 이유를 설명해주기도 합니다.
 
@@ -635,7 +635,7 @@
         <!-- Getting data from query results -->
 <h3 id="GettingResults">쿼리 결과에서 데이터 가져오기</h3>
 <p>
-    쿼리 결과를 단순히 표시만 하는 것보다 이를 다른 작업에 사용할 수 있습니다. 
+    쿼리 결과를 단순히 표시만 하는 것보다 이를 다른 작업에 사용할 수 있습니다.
 예를 들어, 사용자 사전에서 철자를 검색한 다음 이것을 다른 제공자 내에서 찾아볼 수 있습니다.
  이렇게 하려면, {@link android.database.Cursor}에서 행을 계속 반복하면 됩니다.
 </p>
@@ -672,10 +672,10 @@
 }
 </pre>
 <p>
-    {@link android.database.Cursor} 구현에는 
-여러 개의 "가져오기" 메서드가 들어 있어 개체로부터 여러 가지 유형의 데이터를 검색합니다. 예를 들어 이전 조각에서는 
-{@link android.database.Cursor#getString getString()}을 사용합니다. 
-여기에는 해당 열의 데이터 유형을 나타내는 값을 반환하는 
+    {@link android.database.Cursor} 구현에는
+여러 개의 "가져오기" 메서드가 들어 있어 개체로부터 여러 가지 유형의 데이터를 검색합니다. 예를 들어 이전 조각에서는
+{@link android.database.Cursor#getString getString()}을 사용합니다.
+여기에는 해당 열의 데이터 유형을 나타내는 값을 반환하는
 {@link android.database.Cursor#getType getType()} 메서드도 있습니다.
 </p>
 
@@ -683,33 +683,33 @@
     <!-- Requesting permissions -->
 <h2 id="Permissions">콘텐츠 제공자 권한</h2>
 <p>
-    제공자의 애플리케이션은 해당 제공자의 데이터에 액세스하려면 다른 애플리케이션이 반드시 가지고 있어야 하는 
-권한을 지정할 수 있습니다. 이와 같은 권한을 통해 사용자는 한 애플리케이션이 어느 데이터에 액세스하려 시도할지 
-알 수 있습니다. 다른 애플리케이션은 제공자의 요구 사항을 근거로 해당 제공자에 액세스하기 위해 필요한 
+    제공자의 애플리케이션은 해당 제공자의 데이터에 액세스하려면 다른 애플리케이션이 반드시 가지고 있어야 하는
+권한을 지정할 수 있습니다. 이와 같은 권한을 통해 사용자는 한 애플리케이션이 어느 데이터에 액세스하려 시도할지
+알 수 있습니다. 다른 애플리케이션은 제공자의 요구 사항을 근거로 해당 제공자에 액세스하기 위해 필요한
 권한을 요청합니다. 최종 사용자는 애플리케이션을 설치할 때 요청된 권한을 보게 됩니다.
 
 </p>
 <p>
-    제공자의 애플리케이션이 아무 권한도 지정하지 않은 경우, 다른 애플리케이션은 해당 제공자의 
-데이터에 액세스할 수 없습니다. 그러나 제공자의 애플리케이션 내에 있는 구성 요소는 
+    제공자의 애플리케이션이 아무 권한도 지정하지 않은 경우, 다른 애플리케이션은 해당 제공자의
+데이터에 액세스할 수 없습니다. 그러나 제공자의 애플리케이션 내에 있는 구성 요소는
 지정된 권한과 무관하게 항상 읽기 및 쓰기 액세스 권한을 모두 가지고 있습니다.
 </p>
 <p>
-    이전에 언급한 것과 같이 사용자 사전 제공자에서 데이터를 검색하려면 
+    이전에 언급한 것과 같이 사용자 사전 제공자에서 데이터를 검색하려면
 <code>android.permission.READ_USER_DICTIONARY</code> 권한이 필요합니다.
     이 제공자에게는 데이터 삽입, 업데이트 또는 삭제에 각각 별도의 <code>android.permission.WRITE_USER_DICTIONARY</code>
 권한이 있습니다.
 </p>
 <p>
-    제공자에 액세스하는 데 필요한 권한을 얻으려면 애플리케이션은 
+    제공자에 액세스하는 데 필요한 권한을 얻으려면 애플리케이션은
 자신의 매니페스트 파일에 있는 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
-으로 그러한 권한을 요청합니다. Android 패키지 관리자가 애플리케이션을 설치하는 경우, 
+으로 그러한 권한을 요청합니다. Android 패키지 관리자가 애플리케이션을 설치하는 경우,
 사용자는 애플리케이션이 요청하는 권한을 모두 승인해야 합니다. 사용자가 이를 모두 승인하면
 패키지 관리자가 설치를 계속하지만, 사용자가 이를 승인하지 않으면 패키지 관리자는 설치를 중단합니다.
 
 </p>
 <p>
-    
+
 다음 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
  요소는 사용자 사전 제공자에 읽기 액세스 권한을 요청하는 것입니다.
 </p>
@@ -717,7 +717,7 @@
     &lt;uses-permission android:name="android.permission.READ_USER_DICTIONARY"&gt;
 </pre>
 <p>
-    제공자 액세스 권한이 미치는 영향은 
+    제공자 액세스 권한이 미치는 영향은
 <a href="{@docRoot}guide/topics/security/security.html">보안 및 권한</a> 가이드에 좀 더 자세히 설명되어 있습니다.
 </p>
 
@@ -725,15 +725,15 @@
 <!-- Inserting, Updating, and Deleting Data -->
 <h2 id="Modifications">데이터 삽입, 업데이트 및 삭제</h2>
 <p>
-    제공자로부터 데이터를 검색하는 것과 같은 방식으로, 데이터를 수정할 때에도 제공자 클라이언트와 제공자의 
+    제공자로부터 데이터를 검색하는 것과 같은 방식으로, 데이터를 수정할 때에도 제공자 클라이언트와 제공자의
 {@link android.content.ContentProvider} 사이의 상호작용을 사용합니다.
-    {@link android.content.ContentResolver}의 메서드를 호출하면서 
-{@link android.content.ContentProvider}의 상응하는 메서드로 전달된 인수를 사용합니다. 
+    {@link android.content.ContentResolver}의 메서드를 호출하면서
+{@link android.content.ContentProvider}의 상응하는 메서드로 전달된 인수를 사용합니다.
 제공자와 제공자의 클라이언트가 보안과 프로세스간 통신을 자동으로 처리합니다.
 </p>
 <h3 id="Inserting">데이터 삽입</h3>
 <p>
-    데이터를 제공자 안으로 삽입하려면, 
+    데이터를 제공자 안으로 삽입하려면,
 {@link android.content.ContentResolver#insert ContentResolver.insert()}
  메서드를 호출합니다. 이 메서드는 제공자에 새로운 행을 삽입하고 해당 열에 대한 콘텐츠 URI를 반환합니다.
     이 조각은 사용자 사전 제공자에 새 단어를 삽입하는 방법을 나타낸 것입니다.
@@ -763,8 +763,8 @@
 </pre>
 <p>
     새로운 행에 대한 데이터는 단일 행 커서와 형태가 유사한 단일 {@link android.content.ContentValues} 개체로
-이동합니다. 이 개체 내의 열은 모두 같은 데이터 유형을 가지지 않아도 됩니다. 
-또한 아예 값을 지정하고 싶지 않은 경우라면 열을 <code>null</code>로 설정할 수 있습니다. 
+이동합니다. 이 개체 내의 열은 모두 같은 데이터 유형을 가지지 않아도 됩니다.
+또한 아예 값을 지정하고 싶지 않은 경우라면 열을 <code>null</code>로 설정할 수 있습니다.
 이때 {@link android.content.ContentValues#putNull ContentValues.putNull()}을 사용하면 됩니다.
 </p>
 <p>
@@ -790,11 +790,11 @@
 </p>
 <h3 id="Updating">데이터 업데이트</h3>
 <p>
-    행을 업데이트하려면 업데이트된 값과 함께 {@link android.content.ContentValues} 개체를 사용합니다. 
+    행을 업데이트하려면 업데이트된 값과 함께 {@link android.content.ContentValues} 개체를 사용합니다.
 이때 값은 삽입할 때와 똑같고, 선택 기준은 쿼리할 때와 같습니다.
     사용하는 클라이언트 메서드는
-{@link android.content.ContentResolver#update ContentResolver.update()}입니다. 
-값을 추가하는 것은 업데이트 중인 열에 대한 {@link android.content.ContentValues} 개체에만 하면 됩니다. 
+{@link android.content.ContentResolver#update ContentResolver.update()}입니다.
+값을 추가하는 것은 업데이트 중인 열에 대한 {@link android.content.ContentValues} 개체에만 하면 됩니다.
 열의 콘텐츠를 삭제하려면, 값을 <code>null</code>로 설정하십시오.
 </p>
 <p>
@@ -827,13 +827,13 @@
 );
 </pre>
 <p>
-    
+
 {@link android.content.ContentResolver#update ContentResolver.update()}를 호출하는 경우에는 사용자 입력도 삭제해야 합니다. 이 내용에 관해 자세히 알아보려면
 <a href="#Injection">악의적인 입력에 대한 보호</a> 섹션을 읽어 보십시오.
 </p>
 <h3 id="Deleting">데이터 삭제</h3>
 <p>
-    행을 삭제하는 것은 행 데이터를 검색하는 것과 비슷합니다. 즉, 삭제하고자 하는 행에 대한 선택 기준을 지정하면 
+    행을 삭제하는 것은 행 데이터를 검색하는 것과 비슷합니다. 즉, 삭제하고자 하는 행에 대한 선택 기준을 지정하면
 클라이언트 메서드가 삭제된 행 수를 반환하는 식입니다.
     다음 조각은 앱 ID가 "user"와 일치하는 행을 삭제합니다. 메서드가 삭제된 행 수를 반환합니다.
 
@@ -857,14 +857,14 @@
 );
 </pre>
 <p>
-    {@link android.content.ContentResolver#delete ContentResolver.delete()}를 
+    {@link android.content.ContentResolver#delete ContentResolver.delete()}를
 호출하는 경우에는 사용자 입력도 삭제해야 합니다. 이 내용에 관해 자세히 알아보려면
 <a href="#Injection">악의적인 입력에 대한 보호</a> 섹션을 읽어 보십시오.
 </p>
 <!-- Provider Data Types -->
 <h2 id="DataTypes">제공자 데이터 유형</h2>
 <p>
-    콘텐츠 제공자는 아주 다양한 데이터 유형을 제공할 수 있습니다. 
+    콘텐츠 제공자는 아주 다양한 데이터 유형을 제공할 수 있습니다.
 사용자 사전 제공자는 텍스트만 제공하지만, 제공자는 다음과 같은 형식도 제공할 수 있습니다.
 </p>
     <ul>
@@ -883,29 +883,29 @@
     </ul>
 <p>
     제공자가 종종 사용하는 또 다른 데이터 유형은 64KB 바이트 배열로 구현되는 BLOB(Binary Large OBject)입니다.
- 이용 가능한 데이터 유형을 확인하려면 
+ 이용 가능한 데이터 유형을 확인하려면
 {@link android.database.Cursor} 클래스 "가져오기" 메서드를 살펴보면 됩니다.
 </p>
 <p>
     제공자 내의 각 열에 대한 데이터 유형은 보통 자신의 문서에 목록으로 나열되어 있습니다.
-    사용자 사전 제공자의 데이터 유형은 제공자의 계약 클래스 
+    사용자 사전 제공자의 데이터 유형은 제공자의 계약 클래스
 {@link android.provider.UserDictionary.Words}의 참조 문서에 나열되어 있습니다(계약 클래스는
 <a href="#ContractClasses">계약 클래스</a> 섹션에 설명되어 있습니다).
     @link android.database.Cursor#getType
     Cursor.getType()}을 호출해서도 데이터 유형을 결정할 수 있습니다.
 </p>
 <p>
-    제공자는 스스로 정의하는 각 콘텐츠 URI의 MIME 데이터 유형 정보도 유지관리합니다. 
-MIME 유형 정보를 사용하면 애플리케이션이 제공자가 제공하는 데이터를 처리할 수 있을지 알아낼 수도 있고, 
-MIME 유형을 근거로 처리 유형을 선택할 수도 있습니다. 
+    제공자는 스스로 정의하는 각 콘텐츠 URI의 MIME 데이터 유형 정보도 유지관리합니다.
+MIME 유형 정보를 사용하면 애플리케이션이 제공자가 제공하는 데이터를 처리할 수 있을지 알아낼 수도 있고,
+MIME 유형을 근거로 처리 유형을 선택할 수도 있습니다.
 MIME 유형이 필요한 시점은 주로 복잡한 데이터 구조 또는 파일이 들어 있는 제공자를 다룰 때입니다.
  예를 들어 연락처 제공자 내의 {@link android.provider.ContactsContract.Data}
  테이블은 MIME 유형을 사용하여 각 행에 저장된 연락처 데이터의 유형에 레이블을 붙입니다.
- 콘텐츠 URI에 상응하는 MIME 유형을 가져오려면 
+ 콘텐츠 URI에 상응하는 MIME 유형을 가져오려면
 {@link android.content.ContentResolver#getType ContentResolver.getType()}을 호출하십시오.
 </p>
 <p>
-    <a href="#MIMETypeReference">MIME 유형 참조</a> 섹션에서 표준 및 사용자 지정 MIME 유형의 
+    <a href="#MIMETypeReference">MIME 유형 참조</a> 섹션에서 표준 및 사용자 지정 MIME 유형의
 두 가지를 모두 설명하고 있습니다.
 </p>
 
@@ -922,13 +922,13 @@
 {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}로 이를 적용할 수 있습니다.
     </li>
     <li>
-        비동기식 쿼리: 쿼리는 별도의 스레드에서 수행해야 합니다. 이 작업을 수행하는 한 가지 방법으로 
-{@link android.content.CursorLoader} 개체를 사용하는 것이 있습니다. 이 사용 방법은 
+        비동기식 쿼리: 쿼리는 별도의 스레드에서 수행해야 합니다. 이 작업을 수행하는 한 가지 방법으로
+{@link android.content.CursorLoader} 개체를 사용하는 것이 있습니다. 이 사용 방법은
 <a href="{@docRoot}guide/components/loaders.html">로더</a> 가이드에 있는 예시에서 설명합니다.
 
     </li>
     <li>
-        <a href="#Intents">인텐트를 통한 데이터 액세스</a>: 
+        <a href="#Intents">인텐트를 통한 데이터 액세스</a>:
 인텐트를 제공자에 직접 보낼 수는 없지만, 인텐트를 제공자의 애플리케이션에 보낼 수는 있습니다.
 보통은 이것이 제공자의 데이터를 수정하기에 가장 좋습니다.
     </li>
@@ -938,23 +938,23 @@
 </p>
 <h3 id="Batch">일괄 액세스</h3>
 <p>
-    제공자에 일괄 액세스를 하면 많은 수의 행을 삽입할 때, 같은 메서드 호출 내에서 여러 개의 테이블에 여러 행을 삽입할 때 
+    제공자에 일괄 액세스를 하면 많은 수의 행을 삽입할 때, 같은 메서드 호출 내에서 여러 개의 테이블에 여러 행을 삽입할 때
 또는 전반적으로, 프로세스 경계를 가로질러 일련의 작업을 수행하는 경우(원자성 작업) 유용합니다.
 
 </p>
 <p>
     "일괄 모드"로 제공자에 액세스하려면
-{@link android.content.ContentProviderOperation} 개체의 배열을 생성한 다음 이를 콘텐츠 제공자에게 
+{@link android.content.ContentProviderOperation} 개체의 배열을 생성한 다음 이를 콘텐츠 제공자에게
 {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}로
- 발송하면 됩니다. 
+ 발송하면 됩니다.
 이 메서드에는 특정한 콘텐츠 URI보다는 콘텐츠 제공자의 <em>권한</em>을 전달합니다.
-이렇게 하면 배열 내의 각 {@link android.content.ContentProviderOperation} 개체가 
+이렇게 하면 배열 내의 각 {@link android.content.ContentProviderOperation} 개체가
 서로 다른 테이블에 대해 작용하도록 할 수 있습니다. {@link android.content.ContentResolver#applyBatch
     ContentResolver.applyBatch()}를 호출하면 일련의 결과를 반환합니다.
 </p>
 <p>
     {@link android.provider.ContactsContract.RawContacts} 계약 클래스의 설명에
- 일괄 삽입을 설명하는 코드 조각이 포함되어 있습니다. 
+ 일괄 삽입을 설명하는 코드 조각이 포함되어 있습니다.
 <a href="{@docRoot}resources/samples/ContactManager/index.html">연락처 관리자</a>
 샘플 애플리케이션에는 <code>ContactAdder.java</code>
 소스 파일의 일괄 액세스 예시가 포함되어 있습니다.
@@ -963,31 +963,31 @@
 <div class="sidebox">
 <h2>도우미 앱을 사용한 데이터 표시</h2>
 <p>
-    애플리케이션에 액세스 권한이 <em>있더라도</em> 
-다른 애플리케이션에 데이터를 표시할 인텐트를 사용하고자 할 수 있습니다. 예를 들어 캘린더 애플리케이션은 
+    애플리케이션에 액세스 권한이 <em>있더라도</em>
+다른 애플리케이션에 데이터를 표시할 인텐트를 사용하고자 할 수 있습니다. 예를 들어 캘린더 애플리케이션은
 특정 날짜나 이벤트를 표시하는 {@link android.content.Intent#ACTION_VIEW}를 허용합니다.
     이 때문에 나름의 UI를 직접 생성하지 않고도 캘린더 정보를 표시할 수 있습니다.
-이 기능에 대한 자세한 정보는 
+이 기능에 대한 자세한 정보는
 <a href="{@docRoot}guide/topics/providers/calendar-provider.html">캘린더 제공자</a> 가이드를 참조하십시오.
 </p>
 <p>
     인텐트를 보낼 목적지인 애플리케이션은 제공자와 연관된 애플리케이션이 아니어도 됩니다.
- 예를 들어 연락처 제공자에서 연락처를 검색한 다음, 해당 연락처의 이미지에 대한 콘텐츠 URI가 들어 있는 
-{@link android.content.Intent#ACTION_VIEW} 인텐트를 
+ 예를 들어 연락처 제공자에서 연락처를 검색한 다음, 해당 연락처의 이미지에 대한 콘텐츠 URI가 들어 있는
+{@link android.content.Intent#ACTION_VIEW} 인텐트를
 이미지 뷰어로 보낼 수 있습니다.
 </p>
 </div>
 </div>
 <h3 id="Intents">인텐트를 통한 데이터 액세스</h3>
 <p>
-    인텐트는 콘텐츠 제공자에 간접 액세스를 제공할 수 있습니다. 애플리케이션에 액세스 권한이 없는데도 
-사용자에게 제공자 내의 데이터에 액세스 권한을 허가하려면, 권한을 가지고 있는 애플리케이션에서 결과 인텐트를 다시 가져오거나 
+    인텐트는 콘텐츠 제공자에 간접 액세스를 제공할 수 있습니다. 애플리케이션에 액세스 권한이 없는데도
+사용자에게 제공자 내의 데이터에 액세스 권한을 허가하려면, 권한을 가지고 있는 애플리케이션에서 결과 인텐트를 다시 가져오거나
 권한이 있는 애플리케이션을 활성화한 다음 사용자에게 그 애플리케이션에서 작업하도록 하면 됩니다.
 
 </p>
 <h4>임시 권한으로 액세스 얻기</h4>
 <p>
-    적절한 액세스 권한이 없더라도 콘텐츠 제공자 내의 데이터에 액세스할 수는 있습니다. 
+    적절한 액세스 권한이 없더라도 콘텐츠 제공자 내의 데이터에 액세스할 수는 있습니다.
 권한을 가지고 있는 애플리케이션에 인텐트를 보내 "URI" 권한이 들어 있는 결과 인텐트를 돌려받으면 됩니다.
 
     이들 권한은 특정 콘텐츠 URI에 대한 권한으로, 이를 수신하는 액티비티가 완료될 때까지 유지됩니다.
@@ -1005,27 +1005,27 @@
     </li>
 </ul>
 <p class="note">
-    <strong>참고:</strong> 이와 같은 플래그는 콘텐츠 URI에 권한이 들어 있는 제공자에 일반적인 읽기 또는 쓰기 액세스 
+    <strong>참고:</strong> 이와 같은 플래그는 콘텐츠 URI에 권한이 들어 있는 제공자에 일반적인 읽기 또는 쓰기 액세스
 권한을 부여하지는 않습니다. 이 액세스는 URI 자체에만 해당됩니다.
 </p>
 <p>
-    제공자는 자신의 매니페스트 내의 콘텐츠 URI에 대한 URI 권한을 정의합니다. 이때 
+    제공자는 자신의 매니페스트 내의 콘텐츠 URI에 대한 URI 권한을 정의합니다. 이때
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
- 요소의 
+ 요소의
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">android:grantUriPermission</a></code>
- 속성을 사용하며, 
+ 속성을 사용하며,
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
- 요소의 
+ 요소의
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code>
- 하위 요소도 사용합니다. 
+ 하위 요소도 사용합니다.
 URI 권한 메커니즘은 "URI 권한" 섹션의 <a href="{@docRoot}guide/topics/security/security.html">보안 및 권한</a> 가이드에
 자세히 설명되어 있습니다.
 </p>
 <p>
     예를 들어, {@link android.Manifest.permission#READ_CONTACTS} 권한이 없더라도
-연락처 제공자 내의 연락처에 대한 데이터를 검색할 수 있습니다. 
-이 작업을 하면 좋은 예로, 연락처에 기재된 사람의 생일에 전자 축하 카드를 보내주는 애플리케이션을 들 수 있습니다. 
-{@link android.Manifest.permission#READ_CONTACTS}를 요청하면 
+연락처 제공자 내의 연락처에 대한 데이터를 검색할 수 있습니다.
+이 작업을 하면 좋은 예로, 연락처에 기재된 사람의 생일에 전자 축하 카드를 보내주는 애플리케이션을 들 수 있습니다.
+{@link android.Manifest.permission#READ_CONTACTS}를 요청하면
 사용자의 연락처 전체와 해당 정보 일체에 대한 액세스를 부여하므로, 그 대신 애플리케이션에서 어느 연락처를 사용할지 사용자가 직접 제어하도록 해주는 편이 낫습니다.
  이렇게 하려면, 다음 절차를 사용합니다.
 </p>
@@ -1043,13 +1043,13 @@
     </li>
     <li>
         선택 액티비티에서 사용자가 업데이트할 연락처를 선택합니다.
- 이렇게 되면 선택 액티비티가 
+ 이렇게 되면 선택 액티비티가
 {@link android.app.Activity#setResult setResult(resultcode, intent)}
-를 호출하여 애플리케이션에 돌려줄 인텐트를 설정합니다. 
-이 인텐트에 사용자가 선택한 연락처의 콘텐츠 URI와 "추가" 플래그 
-{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}이 들어 있습니다. 
-이러한 플래그가 URI에 앱으로의 권한을 허가하여 콘텐츠 URI가 가리킨 연락처에 대한 데이터를 읽을 수 있도록 합니다. 
-그런 다음 선택 액티비티는 {@link android.app.Activity#finish()}를 호출하여 
+를 호출하여 애플리케이션에 돌려줄 인텐트를 설정합니다.
+이 인텐트에 사용자가 선택한 연락처의 콘텐츠 URI와 "추가" 플래그
+{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}이 들어 있습니다.
+이러한 플래그가 URI에 앱으로의 권한을 허가하여 콘텐츠 URI가 가리킨 연락처에 대한 데이터를 읽을 수 있도록 합니다.
+그런 다음 선택 액티비티는 {@link android.app.Activity#finish()}를 호출하여
 애플리케이션에 제어를 반환합니다.
     </li>
     <li>
@@ -1067,7 +1067,7 @@
 </ol>
 <h4>다른 애플리케이션 사용</h4>
 <p>
-    개발자에게 액세스 권한이 없는 데이터를 사용자가 수정할 수 있도록 허용하는 간단한 방법은 
+    개발자에게 액세스 권한이 없는 데이터를 사용자가 수정할 수 있도록 허용하는 간단한 방법은
 해당 권한을 가지고 있는 애플리케이션을 활성화한 다음 사용자에게 그곳에서 작업하도록 해주는 것입니다.
 </p>
 <p>
@@ -1082,18 +1082,18 @@
 <h2 id="ContractClasses">계약 클래스</h2>
 <p>
     계약 클래스는 애플리케이션이 콘텐츠 URI, 열 이름, 인텐트 작업 및 콘텐츠 제공자의 다른 기능과
-작업할 수 있게 도와주는 상수를 정의합니다. 계약 클래스는 제공자와 함께 자동으로 포함되지 않습니다. 
+작업할 수 있게 도와주는 상수를 정의합니다. 계약 클래스는 제공자와 함께 자동으로 포함되지 않습니다.
 해당 제공자의 개발자가 이를 정의한 다음 다른 개발자가 사용할 수 있도록 해야 합니다.
- Android 플랫폼 내에 포함된 제공자는 대부분 패키지 
+ Android 플랫폼 내에 포함된 제공자는 대부분 패키지
 {@link android.provider} 안에 상응하는 계약 클래스를 가지고 있습니다.
 </p>
 <p>
     예를 들어, 사용자 사전 제공자에는 콘텐츠 URI와 열 이름 상수가 들어 있는
-{@link android.provider.UserDictionary} 계약 클래스가 있습니다. 
+{@link android.provider.UserDictionary} 계약 클래스가 있습니다.
 "단어" 테이블에 대한 콘텐츠 URI는 상수
 {@link android.provider.UserDictionary.Words#CONTENT_URI UserDictionary.Words.CONTENT_URI}에 정의됩니다.
-    {@link android.provider.UserDictionary.Words} 클래스에도 
-열 이름 상수가 들어 있으며, 이는 이 가이드의 예시 조각에서 사용됩니다. 
+    {@link android.provider.UserDictionary.Words} 클래스에도
+열 이름 상수가 들어 있으며, 이는 이 가이드의 예시 조각에서 사용됩니다.
 예를 들어 쿼리 프로젝션은 다음과 같이 정의될 수 있습니다.
 </p>
 <pre>
@@ -1106,7 +1106,7 @@
 </pre>
 <p>
     또 다른 계약 클래스는 연락처 제공자의 {@link android.provider.ContactsContract}입니다.
-    이 클래스에 대한 참조 문서에는 예시 코드 조각이 포함되어 있습니다. 
+    이 클래스에 대한 참조 문서에는 예시 코드 조각이 포함되어 있습니다.
 이것의 하위 클래스 중 하나인 {@link android.provider.ContactsContract.Intents.Insert}는
  인텐트와 인텐트 데이터의 상수가 들어 있는 계약 클래스입니다.
 </p>
@@ -1129,7 +1129,7 @@
 해당 URI를 사용하는 쿼리가 HTML 태그가 들어 있는 텍스트를 반환할 것이라는 뜻입니다.
 </p>
 <p>
-    사용자 지정 MIME 유형 문자열은 "공급업체별" MIME 유형이라고도 불리며 
+    사용자 지정 MIME 유형 문자열은 "공급업체별" MIME 유형이라고도 불리며
 이쪽의 <em>유형</em>과 <em>하위 유형</em> 값이 더 복잡합니다. <em>유형</em> 값은 경우에 따라 항상 다음과 같습니다.
 </p>
 <pre>
@@ -1184,13 +1184,13 @@
 vnd.android.cursor.<strong>item</strong>/vnd.example.line2
 </pre>
 <p>
-    대부분의 콘텐츠 제공자는 자신이 사용하는 MIME 유형에 대한 계약 클래스 상수를 정의합니다. 
+    대부분의 콘텐츠 제공자는 자신이 사용하는 MIME 유형에 대한 계약 클래스 상수를 정의합니다.
 예를 들어, 연락처 제공자 계약 클래스 {@link android.provider.ContactsContract.RawContacts}는
 단일 연락처 행의 MIME 유행에 대한
  상수 {@link android.provider.ContactsContract.RawContacts#CONTENT_ITEM_TYPE}을
 정의합니다.
 </p>
 <p>
-    한 행에 대한 콘텐츠 URI는 
+    한 행에 대한 콘텐츠 URI는
 <a href="#ContentURIs">콘텐츠 URI</a> 섹션에 설명되어 있습니다.
 </p>
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/ko/guide/topics/providers/content-provider-creating.jd
index 6757194..af7b584 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/content-provider-creating.jd
@@ -95,16 +95,16 @@
 
 
 <p>
-    콘텐츠 제공자는 데이터의 중앙 리포지토리로의 액세스를 관리합니다. Android 애플리케이션에서는 
+    콘텐츠 제공자는 데이터의 중앙 리포지토리로의 액세스를 관리합니다. Android 애플리케이션에서는
 제공자를 하나 이상의 클래스로, 매니페스트 파일에 있는 요소와 함께 구현합니다.
- 클래스 중 하나가 하위 클래스 
-{@link android.content.ContentProvider}를 구현하며, 
-이것이 제공자와 다른 애플리케이션 사이의 인터페이스입니다. 콘텐츠 제공자는 다른 애플리케이션에 데이터를 사용할 수 있게 해주도록 만들어져 있지만, 
-물론 애플리케이션 내에 사용자로 하여금 제공자가 관리하는 데이터를 쿼리하고 수정할 수 있게 허용하는 
+ 클래스 중 하나가 하위 클래스
+{@link android.content.ContentProvider}를 구현하며,
+이것이 제공자와 다른 애플리케이션 사이의 인터페이스입니다. 콘텐츠 제공자는 다른 애플리케이션에 데이터를 사용할 수 있게 해주도록 만들어져 있지만,
+물론 애플리케이션 내에 사용자로 하여금 제공자가 관리하는 데이터를 쿼리하고 수정할 수 있게 허용하는
 액티비티가 있을 수도 있습니다.
 </p>
 <p>
-    이 주제의 나머지 부분은 콘텐츠 제공자를 구축하기 위한 기본 단계 목록과 
+    이 주제의 나머지 부분은 콘텐츠 제공자를 구축하기 위한 기본 단계 목록과
 사용할 API 목록으로 이루어져 있습니다.
 </p>
 
@@ -124,12 +124,12 @@
             <li>검색 프레임워크를 사용한 사용자 지정 검색 제안을 제공하고자 하는 경우</li>
         </ul>
     <p>
-        용도가 본인의 애플리케이션 안에서로 완전히 한정되어 있는 경우에는 
+        용도가 본인의 애플리케이션 안에서로 완전히 한정되어 있는 경우에는
 제공자가 SQLite 데이터베이스를 사용하도록 하지 <em>않아도</em> 됩니다.
     </p>
     </li>
     <li>
-        아직 읽지 않았다면, 지금 바로 
+        아직 읽지 않았다면, 지금 바로
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
 콘텐츠 제공자 기본 정보</a>를 읽고 제공자에 대해 자세히 알아보십시오.
     </li>
@@ -146,8 +146,8 @@
             </dt>
             <dd>
                 일반적으로 사진, 오디오 또는 동영상과 같은
-파일에 들어가는 데이터입니다. 이런 파일을 애플리케이션의 비공개 
-공간에 저장합니다. 제공자는 다른 애플리케이션으로부터 온 파일 요청에 응답하여 
+파일에 들어가는 데이터입니다. 이런 파일을 애플리케이션의 비공개
+공간에 저장합니다. 제공자는 다른 애플리케이션으로부터 온 파일 요청에 응답하여
 해당 파일로의 핸들을 제공할 수 있습니다.
             </dd>
             <dt>
@@ -155,9 +155,9 @@
             </dt>
             <dd>
                 일반적으로 데이터베이스, 배열 또는 유사 구조에 들어가는 데이터입니다.
-                이 데이터를 행과 열로 이루어진 테이블과 호환되는 형식으로 저장합니다. 
-행은 사람이나 인벤토리의 항목과 같은 엔티티를 나타냅니다. 
-열은 해당 엔티티에 대한 몇 가지 데이터, 예를 들어 사람 이름이나 항목 가격 등을 나타냅니다. 
+                이 데이터를 행과 열로 이루어진 테이블과 호환되는 형식으로 저장합니다.
+행은 사람이나 인벤토리의 항목과 같은 엔티티를 나타냅니다.
+열은 해당 엔티티에 대한 몇 가지 데이터, 예를 들어 사람 이름이나 항목 가격 등을 나타냅니다.
 이 유형의 데이터를 저장하는 보편적인 방법은 SQLite 데이터베이스 안에 저장하는 것이지만,
 모든 유형의 영구적인 저장소를 사용해도 됩니다. Android 시스템에서 사용할 수 있는 저장소 유형에 대해 자세히 알아보려면,
 <a href="#DataStorage">
@@ -172,11 +172,11 @@
 <a href="#ContentProvider">ContentProvider 클래스 구현</a> 섹션을 참조하십시오.
     </li>
     <li>
-        제공자의 권한 문자열, 그 콘텐츠 URI 및 열 이름을 정의합니다. 
+        제공자의 권한 문자열, 그 콘텐츠 URI 및 열 이름을 정의합니다.
 제공자 애플리케이션이 인텐트를 처리하게 하려면, 인텐트 작업과 추가 데이터 및
-플래그도 정의합니다. 데이터에 액세스하기를 원하는 애플리케이션에 요구할 권한도 
-정의합니다. 이 모든 값은 별도의 계약 클래스에서 상수로 정의하는 것을 고려해보는 
-것이 좋습니다. 이 클래스를 나중에 다른 개발자에게 노출할 수 있습니다. 
+플래그도 정의합니다. 데이터에 액세스하기를 원하는 애플리케이션에 요구할 권한도
+정의합니다. 이 모든 값은 별도의 계약 클래스에서 상수로 정의하는 것을 고려해보는
+것이 좋습니다. 이 클래스를 나중에 다른 개발자에게 노출할 수 있습니다.
 콘텐츠 URI에 관한 자세한 정보는
 <a href="#ContentURI">콘텐츠 URI 설계</a> 섹션을 참조하십시오.
         인텐트에 관한 자세한 정보는
@@ -193,8 +193,8 @@
 <!-- Designing Data Storage -->
 <h2 id="DataStorage">데이터 저장소 설계</h2>
 <p>
-    콘텐츠 제공자는 구조화된 형식으로 저장된 데이터로의 인터페이스입니다. 
-인터페이스를 생성하기 전에 우선 데이터 저장 방식부터 결정해야 합니다. 
+    콘텐츠 제공자는 구조화된 형식으로 저장된 데이터로의 인터페이스입니다.
+인터페이스를 생성하기 전에 우선 데이터 저장 방식부터 결정해야 합니다.
 데이터는 원하는 형식 아무 것으로나 저장할 수 있으며 그런 다음에 필요에 따라 해당 데이터를 읽고 쓸 인터페이스를 설계합니다.
 </p>
 <p>
@@ -203,26 +203,26 @@
 <ul>
     <li>
         Android 시스템에는 Android 자체 제공자가 테이블 지향적 데이터를
-저장하는 데 사용하는 SQLite 데이터베이스 API가 포함됩니다. 
+저장하는 데 사용하는 SQLite 데이터베이스 API가 포함됩니다.
 {@link android.database.sqlite.SQLiteOpenHelper} 클래스는 데이터베이스를 생성할 수 있게 돕고,
 {@link android.database.sqlite.SQLiteDatabase} 클래스는 데이터베이스 액세스를 위한
 기본 클래스입니다.
         <p>
-            리포지토리를 구현하기 위해 데이터베이스를 사용하지 않아도 된다는 점을 기억하십시오. 
-제공자는 외부에 테이블 집합으로 나타나 관계적 데이터베이스와 비슷해 보이지만, 
+            리포지토리를 구현하기 위해 데이터베이스를 사용하지 않아도 된다는 점을 기억하십시오.
+제공자는 외부에 테이블 집합으로 나타나 관계적 데이터베이스와 비슷해 보이지만,
 이것은 제공자의 내부 구현에 필요한 것은 아닙니다.
         </p>
     </li>
     <li>
         파일 데이터를 저장하는 데 있어 Android에는 다양한 파일 지향적 API가 있습니다.
         파일 저장소에 관해 자세히 알아보려면
-<a href="{@docRoot}guide/topics/data/data-storage.html">데이터 저장소</a> 주제를 읽어 보십시오. 
-음악이나 동영상 등 미디어 관련 데이터를 제공하는 제공자를 설계하는 경우, 
+<a href="{@docRoot}guide/topics/data/data-storage.html">데이터 저장소</a> 주제를 읽어 보십시오.
+음악이나 동영상 등 미디어 관련 데이터를 제공하는 제공자를 설계하는 경우,
 제공자가 테이블 데이터와 파일을 조합 할 수 있습니다.
     </li>
     <li>
-        네트워크 기반 데이터를 다루는 경우, {@link java.net} 및 
-{@link android.net} 내의 클래스를 사용하십시오. 네트워크 기반 데이터를 
+        네트워크 기반 데이터를 다루는 경우, {@link java.net} 및
+{@link android.net} 내의 클래스를 사용하십시오. 네트워크 기반 데이터를
 데이터베이스와 같은 로컬 데이터 스토어와 동기화한 다음, 해당 데이터를 테이블이나 파일로 제공할 수도 있습니다.
         <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
 샘플 동기화 어댑터</a> 샘플 애플리케이션이 이런 유형의 동기화를 보여줍니다.
@@ -237,7 +237,7 @@
 <ul>
     <li>
         테이블 데이터는 언제나 제공자가 유지관리하는 "기본 키" 열을
-각 행의 고유한 숫자 값으로 보유하고 있어야 합니다. 이 값을 사용하여 해당 행을 다른 테이블의 
+각 행의 고유한 숫자 값으로 보유하고 있어야 합니다. 이 값을 사용하여 해당 행을 다른 테이블의
 관련 행에 연결시킬 수 있습니다(이를 "외래 키"로 사용). 이 열에는 어느 이름이든 사용할 수 있지만
 {@link android.provider.BaseColumns#_ID BaseColumns._ID}를 사용하는 것이 가장 좋습니다.
 왜냐하면 제공자 쿼리 결과를
@@ -246,8 +246,8 @@
     </li>
     <li>
         비트맵 이미지나 파일 지향적 데이터의 매우 큰 조각을 제공하려면
-테이블 안에 직접 저장하기보다는 파일에 데이터를 저장한 뒤 
-간접적으로 제공합니다. 이렇게 하는 경우, 제공자의 사용자들에게 데이터에 액세스하려면 
+테이블 안에 직접 저장하기보다는 파일에 데이터를 저장한 뒤
+간접적으로 제공합니다. 이렇게 하는 경우, 제공자의 사용자들에게 데이터에 액세스하려면
 {@link android.content.ContentResolver} 파일 메서드를 사용해야 한다고 알려야 합니다.
     </li>
     <li>
@@ -256,12 +256,12 @@
 <a href="http://code.google.com/p/protobuf">프로토콜 버퍼</a> 또는
 <a href="http://www.json.org">JSON 구조</a>를 저장할 수 있습니다.
         <p>
-            BLOB를 사용하여 <em>스키마에 종속되지 않은</em> 테이블을 구현할 수도 있습니다. 
+            BLOB를 사용하여 <em>스키마에 종속되지 않은</em> 테이블을 구현할 수도 있습니다.
 이 유형의 테이블에서는, 기본 키 열, MIME 유형 열 및 하나 이상의 일반적인 열을 BLOB로 정의합니다.
- 
-BLOB 열에 있는 데이터의 의미는 MIME 유형 열에 있는 값으로 나타냅니다. 
-이렇게 하면 같은 테이블에 여러 가지 행 유형을 저장할 수 있습니다. 연락처 제공자의 "데이터" 테이블 
-{@link android.provider.ContactsContract.Data}가 
+
+BLOB 열에 있는 데이터의 의미는 MIME 유형 열에 있는 값으로 나타냅니다.
+이렇게 하면 같은 테이블에 여러 가지 행 유형을 저장할 수 있습니다. 연락처 제공자의 "데이터" 테이블
+{@link android.provider.ContactsContract.Data}가
 스키마에 종속되지 않은 테이블의 한 가지 예입니다.
         </p>
     </li>
@@ -269,11 +269,11 @@
 <!-- Designing Content URIs -->
 <h2 id="ContentURI">콘텐츠 URI 설계</h2>
 <p>
-    <strong>콘텐츠 URI</strong>는 제공자에서 데이터를 식별하는 URI입니다. 
+    <strong>콘텐츠 URI</strong>는 제공자에서 데이터를 식별하는 URI입니다.
 콘텐츠 URI에는 전체 제공자의 상징적인 이름(제공자의 <strong>권한</strong>)과
-테이블 또는 파일을 가리키는 이름(<strong>경로</strong>)이 포함됩니다. 
-선택 항목 ID 부분은 테이블 내의 개별적인 행을 가리킵니다. 
-{@link android.content.ContentProvider}의 모든 데이터 액세스 메서드는 
+테이블 또는 파일을 가리키는 이름(<strong>경로</strong>)이 포함됩니다.
+선택 항목 ID 부분은 테이블 내의 개별적인 행을 가리킵니다.
+{@link android.content.ContentProvider}의 모든 데이터 액세스 메서드는
 콘텐츠 URI를 인수로 가집니다. 이를 통해 액세스할 테이블, 행 또는 파일을 결정할 수 있습니다.
 </p>
 <p>
@@ -283,9 +283,9 @@
 </p>
 <h3>권한 설계</h3>
 <p>
-    제공자에는 보통 하나의 권한이 있으며, 이것이 Android 내부 이름 역할을 합니다. 
+    제공자에는 보통 하나의 권한이 있으며, 이것이 Android 내부 이름 역할을 합니다.
 다른 제공자와의 충돌을 피하려면, 제공자 권한의 기반으로 인터넷 도메인 소유권(역방향)을
-사용해야 합니다. 이 권장 사항은 Android 패키지 이름에도 적용되므로, 
+사용해야 합니다. 이 권장 사항은 Android 패키지 이름에도 적용되므로,
 제공자 권한을 제공자가 들어 있는 패키지의 이름 확장자로 정의해도 됩니다.
  예를 들어, Android 패키지 이름이
 <code>com.example.&lt;appname&gt;</code>라면, 제공자에게
@@ -293,40 +293,40 @@
 </p>
 <h3>경로 구조 설계</h3>
 <p>
-    개발자는 보통 권한으로부터 콘텐츠 URI를 생성할 때 개별적인 테이블을 가리키는 
+    개발자는 보통 권한으로부터 콘텐츠 URI를 생성할 때 개별적인 테이블을 가리키는
 경로를 추가하는 방식을 사용합니다. 예를 들어, <em>table1</em>과
 <em>table2</em>라는 테이블이 있다면, 이전 예시의 권한을 조합하여
-콘텐츠 URI<code>com.example.&lt;appname&gt;.provider/table1</code>와 
+콘텐츠 URI<code>com.example.&lt;appname&gt;.provider/table1</code>와
 <code>com.example.&lt;appname&gt;.provider/table2</code>를 도출합니다.
- 
+
 경로는 하나의 세그먼트에 국한되지 않으며, 경로의 각 수준에 대한 테이블이 아니어도 됩니다.
 </p>
 <h3>콘텐츠 URI ID 처리</h3>
 <p>
-    규칙에 의하면, 제공자는 URI 맨 끝에서 행에 대한 ID 값이 있는 콘텐츠 URI를 허용하여 
-테이블 내 하나의 행으로의 액세스를 제공합니다. 또한 규칙에 의해 제공자는 
-이 ID 값을 테이블의 <code>_ID</code> 열에 일치시켜야 하며, 
+    규칙에 의하면, 제공자는 URI 맨 끝에서 행에 대한 ID 값이 있는 콘텐츠 URI를 허용하여
+테이블 내 하나의 행으로의 액세스를 제공합니다. 또한 규칙에 의해 제공자는
+이 ID 값을 테이블의 <code>_ID</code> 열에 일치시켜야 하며,
 일치한 행에 대하여 요청된 액세스 허가를 수행해야 합니다.
 </p>
 <p>
-    이 규칙은 제공자에 액세스하는 앱을 위한 공통 설계 패턴을 세우는 데 유용합니다. 
+    이 규칙은 제공자에 액세스하는 앱을 위한 공통 설계 패턴을 세우는 데 유용합니다.
 앱이 제공자에 대한 쿼리를 수행하고 그 결과로 나온 {@link android.database.Cursor}를
 {@link android.widget.ListView}에 {@link android.widget.CursorAdapter}를 사용하여 표시합니다.
-    {@link android.widget.CursorAdapter}의 정의에 따르면 
+    {@link android.widget.CursorAdapter}의 정의에 따르면
 {@link android.database.Cursor} 안의 열 중 하나는 <code>_ID</code>여야 합니다.
 </p>
 <p>
-    그러면 사용자가 데이터를 살펴보거나 수정하기 위하여 
+    그러면 사용자가 데이터를 살펴보거나 수정하기 위하여
 UI에서 표시된 여러 행 중 하나를 선택합니다. 앱은 {@link android.widget.ListView}를 지원하는 {@link android.database.Cursor}에서 해당하는 열을 가져오고,
 해당 열에 대한 <code>_ID</code> 값을 가져와서
-콘텐츠 URI에 추가하고, 제공자에 액세스 요청을 전송합니다. 그런 다음 제공자는 
+콘텐츠 URI에 추가하고, 제공자에 액세스 요청을 전송합니다. 그런 다음 제공자는
 사용자가 선택한 바로 그 행에 대해 쿼리 또는 수정 작업을 수행할 수 있습니다.
 </p>
 <h3>콘텐츠 URI 패턴</h3>
 <p>
-    수신되는 콘텐츠 URI에 대해 어떤 조치를 취할지 선택하는 데 도움이 되도록 하기 위해 제공자 API에 
-편의 클래스 {@link android.content.UriMatcher}가 
-포함되어 있습니다. 이는 콘텐츠 URI "패턴"을 정수값으로 매핑합니다. 이 정수값은 특정 패턴에 일치하는 
+    수신되는 콘텐츠 URI에 대해 어떤 조치를 취할지 선택하는 데 도움이 되도록 하기 위해 제공자 API에
+편의 클래스 {@link android.content.UriMatcher}가
+포함되어 있습니다. 이는 콘텐츠 URI "패턴"을 정수값으로 매핑합니다. 이 정수값은 특정 패턴에 일치하는
 콘텐츠 URI 또는 여러 URI에 대해 원하는 작업을 선택하는 데 <code>switch</code> 문에서 사용할 수 있습니다.
 </p>
 <p>
@@ -341,8 +341,8 @@
         </li>
     </ul>
 <p>
-    콘텐츠 URI 처리의 설계와 코딩에 대한 예시로서 임의의 제공자를 들어 보겠습니다. 
-이 제공자에는 권한 <code>com.example.app.provider</code>가 있고 
+    콘텐츠 URI 처리의 설계와 코딩에 대한 예시로서 임의의 제공자를 들어 보겠습니다.
+이 제공자에는 권한 <code>com.example.app.provider</code>가 있고
 이 권한이 테이블을 가리키는 다음 콘텐츠 URI를 인식합니다.
 </p>
 <ul>
@@ -350,11 +350,11 @@
         <code>content://com.example.app.provider/table1</code>: <code>table1</code>이라는 테이블입니다.
     </li>
     <li>
-        <code>content://com.example.app.provider/table2/dataset1</code>: 
+        <code>content://com.example.app.provider/table2/dataset1</code>:
 <code>dataset1</code>이라는 테이블입니다.
     </li>
     <li>
-        <code>content://com.example.app.provider/table2/dataset2</code>: 
+        <code>content://com.example.app.provider/table2/dataset2</code>:
 <code>dataset2</code>라는 테이블입니다.
     </li>
     <li>
@@ -363,7 +363,7 @@
 </ul>
 <p>
     제공자는 추가된 행 ID가 있으면 이런 콘텐츠 URI도 인식합니다.
-예를 들어, <code>table3</code>에서 <code>1</code>이 식별한 행에 대한 
+예를 들어, <code>table3</code>에서 <code>1</code>이 식별한 행에 대한
 <code>content://com.example.app.provider/table3/1</code>이 이에 해당됩니다.
 </p>
 <p>
@@ -385,7 +385,7 @@
 <code>table3</code>에 대한 콘텐츠 URI와 일치하지 않습니다.
     </dd>
     <dt>
-        <code>content://com.example.app.provider/table3/#</code>: 
+        <code>content://com.example.app.provider/table3/#</code>:
 <code>table3</code>의 단일 행에 대한 콘텐츠 URI와 일치합니다. 예를 들어,
 <code>6</code>이 식별한 행에 대한 <code>content://com.example.app.provider/table3/6</code>이 이에 해당됩니다.
 
@@ -393,8 +393,8 @@
 </dl>
 <p>
     다음 코드 조각은 {@link android.content.UriMatcher} 작업에서 메서드의 작용 원리를 나타낸 것입니다.
-    이 코드는 테이블에 대한 콘텐츠 URI 패턴 <code>content://&lt;authority&gt;/&lt;path&gt;</code>와 
-단일 행에 대한 콘텐츠 URI 패턴 <code>content://&lt;authority&gt;/&lt;path&gt;/&lt;id&gt;</code>를 사용하여 
+    이 코드는 테이블에 대한 콘텐츠 URI 패턴 <code>content://&lt;authority&gt;/&lt;path&gt;</code>와
+단일 행에 대한 콘텐츠 URI 패턴 <code>content://&lt;authority&gt;/&lt;path&gt;/&lt;id&gt;</code>를 사용하여
 단일 행에 대한 URI와 전체 테이블에 대한 URI를 서로 다르게 처리합니다.
 
 </p>
@@ -468,7 +468,7 @@
     }
 </pre>
 <p>
-    또 다른 클래스, {@link android.content.ContentUris}가 
+    또 다른 클래스, {@link android.content.ContentUris}가
 콘텐츠 URI의 <code>id</code> 부분을 다루기 위한 편의 메서드를 제공합니다. 클래스 {@link android.net.Uri}와
 {@link android.net.Uri.Builder}에는
 기존 {@link android.net.Uri} 개체를 구문 분석하고 새로운 개체를 구축하기 위한 편의 메서드가 포함되어 있습니다.
@@ -478,15 +478,15 @@
 <h2 id="ContentProvider">ContentProvider 클래스 구현</h2>
 <p>
     {@link android.content.ContentProvider} 인스턴스는
-다른 애플리케이션으로부터의 요청을 처리하여 구조화된 데이터 세트로의 액세스를 관리합니다. 
-모든 형태의 액세서가 궁극적으로 {@link android.content.ContentResolver}를 호출하며, 
+다른 애플리케이션으로부터의 요청을 처리하여 구조화된 데이터 세트로의 액세스를 관리합니다.
+모든 형태의 액세서가 궁극적으로 {@link android.content.ContentResolver}를 호출하며,
 그러면 이것이 액세스 권한을 얻기 위해 구체적인 {@link android.content.ContentProvider} 메서드를 호출합니다.
 </p>
 <h3 id="RequiredAccess">필수 메서드</h3>
 <p>
-    추상 클래스 {@link android.content.ContentProvider}는 
-개발자가 나름의 구체적인 하위 클래스의 일부분으로 구현해야만 하는 여섯 가지 추상 메서드를 정의합니다. 이와 같은 메서드는 모두 
-({@link android.content.ContentProvider#onCreate() onCreate()}는 예외) 
+    추상 클래스 {@link android.content.ContentProvider}는
+개발자가 나름의 구체적인 하위 클래스의 일부분으로 구현해야만 하는 여섯 가지 추상 메서드를 정의합니다. 이와 같은 메서드는 모두
+({@link android.content.ContentProvider#onCreate() onCreate()}는 예외)
 콘텐츠 제공자에 액세스하려 시도 중인 클라이언트 애플리케이션이 호출합니다.
 </p>
 <dl>
@@ -503,8 +503,8 @@
         {@link android.content.ContentProvider#insert(Uri, ContentValues) insert()}
     </dt>
     <dd>
-        제공자에 새로운 행을 삽입합니다. 인수를 사용하여 대상 테이블을 선택하고 
-사용할 열 값을 가져옵니다. 
+        제공자에 새로운 행을 삽입합니다. 인수를 사용하여 대상 테이블을 선택하고
+사용할 열 값을 가져옵니다.
 새로 삽입된 행에 대한 콘텐츠 URI를 반환합니다.
     </dd>
     <dt>
@@ -512,7 +512,7 @@
 update()}
     </dt>
     <dd>
-        제공자 내의 기존 행을 업데이트합니다. 인수를 사용하여 
+        제공자 내의 기존 행을 업데이트합니다. 인수를 사용하여
 업데이트할 테이블과 행을 선택하고 업데이트한 열 값을 가져옵니다. 업데이트한 행 개수를 반환합니다.
     </dd>
     <dt>
@@ -526,20 +526,20 @@
         {@link android.content.ContentProvider#getType(Uri) getType()}
     </dt>
     <dd>
-        콘텐츠 URI에 상응하는 MIME 유형을 반환합니다. 이 메서드는 
+        콘텐츠 URI에 상응하는 MIME 유형을 반환합니다. 이 메서드는
 <a href="#MIMETypes">콘텐츠 제공자 MIME 유형</a> 섹션에 더 자세하게 설명되어 있습니다.
     </dd>
     <dt>
         {@link android.content.ContentProvider#onCreate() onCreate()}
     </dt>
     <dd>
-        제공자를 초기화합니다. Android 시스템은 제공자를 생성한 직후 
-이 메서드를 호출합니다. 
+        제공자를 초기화합니다. Android 시스템은 제공자를 생성한 직후
+이 메서드를 호출합니다.
 {@link android.content.ContentResolver} 개체가 제공자에 액세스하려고 시도할 때까지는 제공자가 생성된 것이 아니라는 점을 유의하십시오.
     </dd>
 </dl>
 <p>
-    이와 같은 메서드에는 동일하게 이름 붙여진 
+    이와 같은 메서드에는 동일하게 이름 붙여진
 {@link android.content.ContentResolver} 메서드와 같은 서명이 있다는 것을 눈여겨 보십시오.
 </p>
 <p>
@@ -548,8 +548,8 @@
 <ul>
     <li>
         이런 메서드는 모두({@link android.content.ContentProvider#onCreate() onCreate()}는 예외)
- 한꺼번에 여러 스레드가 호출할 수 있으므로, 스레드로부터 안전해야 합니다. 
-다중 스레드에 대한 자세한 내용은 
+ 한꺼번에 여러 스레드가 호출할 수 있으므로, 스레드로부터 안전해야 합니다.
+다중 스레드에 대한 자세한 내용은
 <a href="{@docRoot}guide/components/processes-and-threads.html">
 프로세스 및 스레드</a> 주제를 참조하십시오.
     </li>
@@ -560,16 +560,16 @@
 섹션에서 더욱 자세히 논의합니다.
     </li>
     <li>
-        이와 같은 메서드는 반드시 구현해야 하는 것이지만, 
-예상되는 데이터 유형을 반환하는 것 외에 달리 코드가 해야 할 일은 없습니다. 
+        이와 같은 메서드는 반드시 구현해야 하는 것이지만,
+예상되는 데이터 유형을 반환하는 것 외에 달리 코드가 해야 할 일은 없습니다.
 예를 들어 몇몇 테이블에 다른 애플리케이션이 데이터를 삽입하지 못하도록 방지하려고 합니다. 이렇게 하려면,
-{@link android.content.ContentProvider#insert(Uri, ContentValues) insert()}로의 
+{@link android.content.ContentProvider#insert(Uri, ContentValues) insert()}로의
 호출을 무시하고 0을 반환하면 됩니다.
     </li>
 </ul>
 <h3 id="Query">query() 메서드 구현</h3>
 <p>
-    
+
 {@link android.content.ContentProvider#query(Uri, String[], String, String[], String)
 ContentProvider.query()} 메서드는 {@link android.database.Cursor} 개체를 반환해야 하고, 그렇지 못할 경우
 {@link java.lang.Exception}을 발생시킵니다. SQLite 데이터베이스를 데이터 저장소로 사용하는 경우,
@@ -587,7 +587,7 @@
 </p>
 <p>
     Android 시스템이 프로세스 경계를 가로질러 {@link java.lang.Exception}을
- 통신으로 전달할 수 있어야 한다는 점을 유의하십시오. Android가 이 작업을 할 수 있는 경우는 
+ 통신으로 전달할 수 있어야 한다는 점을 유의하십시오. Android가 이 작업을 할 수 있는 경우는
 쿼리 오류 처리에 유용할 수 있는 다음과 같은 예외에 해당될 때입니다.
 </p>
 <ul>
@@ -608,16 +608,16 @@
 
 </p>
 <p>
-    이 메서드가 새 행에 대한 콘텐츠 URI를 반환하는 것이 정상입니다. 이것을 구성하려면 새 행의 
-<code>_ID</code>(또는 다른 기본 키) 값을 테이블의 콘텐츠 URI에 추가하며, 이때 
+    이 메서드가 새 행에 대한 콘텐츠 URI를 반환하는 것이 정상입니다. 이것을 구성하려면 새 행의
+<code>_ID</code>(또는 다른 기본 키) 값을 테이블의 콘텐츠 URI에 추가하며, 이때
 {@link android.content.ContentUris#withAppendedId(Uri, long) withAppendedId()}를 사용합니다.
 </p>
 <h3 id="Delete">delete() 메서드 구현</h3>
 <p>
     {@link android.content.ContentProvider#delete(Uri, String, String[]) delete()} 메서드의 경우
- 데이터 저장소에서 물리적으로 행을 삭제하지 않아도 됩니다. 
-제공자와 동기화 어댑터를 함께 사용하고 있는 경우, 
-삭제된 행을 완전히 제거하기보다는 "삭제" 플래그로 표시하는 방법을 고려해볼 만합니다. 
+ 데이터 저장소에서 물리적으로 행을 삭제하지 않아도 됩니다.
+제공자와 동기화 어댑터를 함께 사용하고 있는 경우,
+삭제된 행을 완전히 제거하기보다는 "삭제" 플래그로 표시하는 방법을 고려해볼 만합니다.
 동기화 어댑터가 삭제된 행을 확인한 다음, 이를 제공자에서 삭제하기 전에 우선 서버에서 제거합니다.
 </p>
 <h3 id="Update">Update() 메서드 구현</h3>
@@ -633,20 +633,20 @@
 <h3 id="OnCreate">onCreate() 메서드 구현</h3>
 <p>
     Android 시스템은 제공자를 시작할 때 {@link android.content.ContentProvider#onCreate()
-onCreate()}를 호출합니다. 이 메서드에서는 빠르게 실행되는 초기화만 수행해야 하며, 
+onCreate()}를 호출합니다. 이 메서드에서는 빠르게 실행되는 초기화만 수행해야 하며,
 데이터베이스 생성과 데이터 로딩은 제공자가 실제로 데이터에 대한 요청을 받을 때까지 미뤄두어야 합니다.
- 
+
 {@link android.content.ContentProvider#onCreate() onCreate()}에서 긴 작업을 수행하면
 제공자의 시동 속도가 느려집니다. 이 때문에 제공자에서 다른 애플리케이션으로 전달되는 응답도 따라서 느려집니다.
 
 </p>
 <p>
     예를 들어, SQLite 데이터베이스를 사용하는 경우
-{@link android.content.ContentProvider#onCreate() ContentProvider.onCreate()}에서 
+{@link android.content.ContentProvider#onCreate() ContentProvider.onCreate()}에서
 새로운 {@link android.database.sqlite.SQLiteOpenHelper} 개체를 생성하고,
 그런 다음 데이터베이스를 처음 열 때 SQL 테이블을 생성할 수 있습니다. 이를 용이하게 하기 위해
 {@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase
-getWritableDatabase()}를 처음 호출하면 이것이 자동으로 
+getWritableDatabase()}를 처음 호출하면 이것이 자동으로
 {@link android.database.sqlite.SQLiteOpenHelper#onCreate(SQLiteDatabase)
 SQLiteOpenHelper.onCreate()} 메서드를 호출합니다.
 </p>
@@ -776,7 +776,7 @@
 </p>
 <p>
     텍스트, HTML 또는 JPEG와 같은 보편적인 유형의 데이터라면
-{@link android.content.ContentProvider#getType(Uri) getType()}이 
+{@link android.content.ContentProvider#getType(Uri) getType()}이
 해당 데이터에 대한 표준 MIME 유형을 반환하는 것이 정상입니다. 이러한 표준 유형의 전체 목록은
 <a href="http://www.iana.org/assignments/media-types/index.htm">IANA MIME 미디어 유형</a>
 웹사이트에서 확인할 수 있습니다.
@@ -807,17 +807,17 @@
             개발자가 <code>&lt;name&gt;</code>과 <code>&lt;type&gt;</code>을 제공합니다.
             <code>&lt;name&gt;</code> 값은 전체적으로 고유해야 하고,
 <code>&lt;type&gt;</code> 값은 상응하는 URI 패턴에 고유해야
-합니다. <code>&lt;name&gt;</code>으로 좋은 예는 회사 이름이나 
-애플리케이션의 Android 패키지 이름을 들 수 있습니다. 
-<code>&lt;type&gt;</code>으로 좋은 예는 URI와 연관된 테이블을 식별하는 
+합니다. <code>&lt;name&gt;</code>으로 좋은 예는 회사 이름이나
+애플리케이션의 Android 패키지 이름을 들 수 있습니다.
+<code>&lt;type&gt;</code>으로 좋은 예는 URI와 연관된 테이블을 식별하는
 문자열을 들 수 있습니다.
         </p>
 
     </li>
 </ul>
 <p>
-    예를 들어 어떤 제공자의 권한이 
-<code>com.example.app.provider</code>이고, 이것이 
+    예를 들어 어떤 제공자의 권한이
+<code>com.example.app.provider</code>이고, 이것이
 <code>table1</code>이라는 테이블을 노출하는 경우, <code>table1</code>의 여러 행에 대한 MIME 유형은 다음과 같습니다.
 </p>
 <pre>
@@ -833,8 +833,8 @@
 <p>
     제공자가 파일을 제공하는 경우,
 {@link android.content.ContentProvider#getStreamTypes(Uri, String) getStreamTypes()}를 구현합니다.
-    이 메서드는 제공자가 주어진 콘텐츠 URI에 대해 반환할 수 있는 파일에 대한 MIME 유형의 {@link java.lang.String} 배열을 반환합니다. 
-제공하는 MIME 유형을 MIME 유형 필터 인수 기준으로 필터링해야 
+    이 메서드는 제공자가 주어진 콘텐츠 URI에 대해 반환할 수 있는 파일에 대한 MIME 유형의 {@link java.lang.String} 배열을 반환합니다.
+제공하는 MIME 유형을 MIME 유형 필터 인수 기준으로 필터링해야
 클라이언트가 처리하고자 하는 MIME 유형만 반환할 수 있습니다.
 </p>
 <p>
@@ -850,16 +850,16 @@
 { &quot;image/jpeg&quot;, &quot;image/png&quot;, &quot;image/gif&quot;}
 </pre>
 <p>
-    앱이 <code>.jpg</code> 파일에만 관심이 있는 경우에는 
+    앱이 <code>.jpg</code> 파일에만 관심이 있는 경우에는
 필터 문자열 <code>*\/jpeg</code>으로 {@link android.content.ContentResolver#getStreamTypes(Uri, String)
-    ContentResolver.getStreamTypes()}를 호출할 수 있습니다. 그러면 
+    ContentResolver.getStreamTypes()}를 호출할 수 있습니다. 그러면
     {@link android.content.ContentProvider#getStreamTypes(Uri, String)
     ContentProvider.getStreamTypes()}가 다음과 같이 반환하는 것이 정상입니다.
 <pre>
 {&quot;image/jpeg&quot;}
 </pre>
 <p>
-    제공자가 필터 문자열에서 요청한 MIME 유형 중 제공하는 것이 없는 경우, 
+    제공자가 필터 문자열에서 요청한 MIME 유형 중 제공하는 것이 없는 경우,
 {@link android.content.ContentProvider#getStreamTypes(Uri, String) getStreamTypes()}가
  <code>null</code>을 반환하는 것이 정상입니다.
 </p>
@@ -868,76 +868,76 @@
 <!--  Implementing a Contract Class -->
 <h2 id="ContractClass">계약 클래스 구현</h2>
 <p>
-    계약 클래스는 <code>public final</code> 클래스로, 이 안에 URI, 열 이름, MIME 유형의 
-상수 정의 및 제공자에 관련된 다른 메타 데이터가 들어 있습니다. 
+    계약 클래스는 <code>public final</code> 클래스로, 이 안에 URI, 열 이름, MIME 유형의
+상수 정의 및 제공자에 관련된 다른 메타 데이터가 들어 있습니다.
 이 클래스는 URI, 열 이름 등의 실제 값에 변경된 내용이 있더라도
- 제공자에 올바르게 액세스할 수 있도록 보장하여 제공자와 
+ 제공자에 올바르게 액세스할 수 있도록 보장하여 제공자와
 다른 애플리케이션 사이의 계약을 확립합니다.
 </p>
 <p>
-    계약 클래스가 개발자에게 유용한 이유는 또 있습니다. 이 클래스는 보통 자신의 상수 이름으로 
-니모닉 이름을 가지기 때문에 개발자가 열 이름 또는 URI에 잘못된 값을 사용할 가능성이 덜합니다. 
-이것도 클래스의 일종이기 때문에 Javadoc 문서를 포함할 수 있습니다. 
+    계약 클래스가 개발자에게 유용한 이유는 또 있습니다. 이 클래스는 보통 자신의 상수 이름으로
+니모닉 이름을 가지기 때문에 개발자가 열 이름 또는 URI에 잘못된 값을 사용할 가능성이 덜합니다.
+이것도 클래스의 일종이기 때문에 Javadoc 문서를 포함할 수 있습니다.
 Eclipse와 같은 통합 개발 환경은 계약 클래스의 상수 이름을 자동 완성하고
 해당 상수에 대한 Javadoc을 표시할 수 있습니다.
 </p>
 <p>
-    개발자가 애플리케이션에서 계약 클래스의 클래스 파일에 액세스할 수는 없지만 
+    개발자가 애플리케이션에서 계약 클래스의 클래스 파일에 액세스할 수는 없지만
 여러분이 제공하는 <code>.jar</code> 파일에서 이를 애플리케이션 안으로 정적으로 컴파일링할 수 있습니다.
 </p>
 <p>
-    {@link android.provider.ContactsContract} 클래스와 
+    {@link android.provider.ContactsContract} 클래스와
 이에 중첩된 클래스가 계약 클래스의 예시입니다.
 </p>
 <h2 id="Permissions">콘텐츠 제공자 권한 구현</h2>
 <p>
     Android 시스템의 모든 측면에 대한 권한과 액세스는
 <a href="{@docRoot}guide/topics/security/security.html">보안 및 권한</a> 주제에 설명되어 있습니다.
-    <a href="{@docRoot}guide/topics/data/data-storage.html">데이터 저장소</a> 주제에서도 
+    <a href="{@docRoot}guide/topics/data/data-storage.html">데이터 저장소</a> 주제에서도
 다양한 유형의 저장소에 적용되는 보안 및 권한을 설명하고 있습니다.
     간략히 말해 요점은 다음과 같습니다.
 </p>
 <ul>
     <li>
-        기본적으로, 기기의 내부 저장소에 저장된 데이터 파일은 
+        기본적으로, 기기의 내부 저장소에 저장된 데이터 파일은
 본인의 애플리케이션과 제공자 전용입니다.
     </li>
     <li>
-        본인이 생성한 {@link android.database.sqlite.SQLiteDatabase} 데이터베이스는 
+        본인이 생성한 {@link android.database.sqlite.SQLiteDatabase} 데이터베이스는
 본인의 애플리케이션과 제공자만의 비공개 데이터입니다.
     </li>
     <li>
         기본적으로 외부 저장소에 저장하는 데이터 파일은 <em>공개</em>이고
-<em>누구나 읽을 수 있습니다</em>. 외부 저장소에 있는 파일로의 액세스를 제공하는 데 콘텐츠 제공자를 쓸 수는 
+<em>누구나 읽을 수 있습니다</em>. 외부 저장소에 있는 파일로의 액세스를 제공하는 데 콘텐츠 제공자를 쓸 수는
 없습니다. 다른 애플리케이션이 다른 API 호출을 사용하여 해당 파일을 읽고 쓸 수 있기 때문입니다.
     </li>
     <li>
         기기의 내부 저장소에 있는 파일 또는 SQLite 데이터베이스를 열거나 생성하기 위한 메서드 호출은
-다른 모든 애플리케이션에 읽기 및 쓰기 액세스 권한을 허가할 가능성이 있습니다. 
+다른 모든 애플리케이션에 읽기 및 쓰기 액세스 권한을 허가할 가능성이 있습니다.
 내부 파일이나 데이터베이스를 제공자의 리포지토리로 사용하고
-"누구나 읽을 수 있는" 또는 "누구나 쓸 수 있는" 액세스를 부여하면 
-매니페스트에서 제공자에 대해 설정한 권한이 데이터를 보호하지 못합니다. 
+"누구나 읽을 수 있는" 또는 "누구나 쓸 수 있는" 액세스를 부여하면
+매니페스트에서 제공자에 대해 설정한 권한이 데이터를 보호하지 못합니다.
 내부 저장소 안에 있는 파일과 데이터베이스에 대한기본 액세스는 "비공개"이며, 제공자의 리포지토리가 이것을 변경하면 안 됩니다.
     </li>
 </ul>
 <p>
-    데이터로의 액세스를 제어하기 위해 콘텐츠 제공자 권한을 쓰고자 하는 경우, 
-데이터를 내부 파일, SQLite 데이터베이스 또는 "클라우드"(예: 원격 서버) 안의 
+    데이터로의 액세스를 제어하기 위해 콘텐츠 제공자 권한을 쓰고자 하는 경우,
+데이터를 내부 파일, SQLite 데이터베이스 또는 "클라우드"(예: 원격 서버) 안의
 내부 파일로 저장해야 하고, 파일과 데이터베이스를 애플리케이션만의 비공개로 유지해야 합니다.
 </p>
 <h3>권한 구현</h3>
 <p>
-    기본 데이터가 비공개라고 하더라도 모든 애플리케이션이 제공자를 읽고 제공자에 쓸 수 있습니다. 
+    기본 데이터가 비공개라고 하더라도 모든 애플리케이션이 제공자를 읽고 제공자에 쓸 수 있습니다.
 기본적으로 제공자에는 권한이 설정되어 있지 않기 때문입니다. 이를 변경하려면,
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
     &lt;provider&gt;</a></code> 요소의 속성이나 하위 요소를 사용하여
-매니페스트 파일에 있는 제공자의 권한을 설정합니다. 권한은 제공자 전체에 적용되도록 설정할 수도 있고, 
+매니페스트 파일에 있는 제공자의 권한을 설정합니다. 권한은 제공자 전체에 적용되도록 설정할 수도 있고,
 특정 테이블에, 또는 심지어 특정 레코드에 적용되게 할 수도 있고 세 가지 모두를 택할 수도 있습니다.
 </p>
 <p>
-    제공자에 대한 권한은 매니페스트 파일에 있는 하나 이상의 
+    제공자에 대한 권한은 매니페스트 파일에 있는 하나 이상의
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">
-    &lt;permission&gt;</a></code> 요소로 정의합니다. 
+    &lt;permission&gt;</a></code> 요소로 정의합니다.
 제공자에 고유한 권한을 설정하려면
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html#nm">
     android:name</a></code> 속성에 Java 스타일 범위를 사용합니다. 예를 들어 읽기 권한의 이름을
@@ -945,7 +945,7 @@
 
 </p>
 <p>
-    다음 목록은 제공자 권한의 범위를 설명한 것입니다. 
+    다음 목록은 제공자 권한의 범위를 설명한 것입니다.
 제공자 전체에 적용되는 권한부터 시작하여 점차 세분화된 권한이 됩니다.
     보다 세부화된 권한이 범위가 큰 것보다 우선합니다.
 </p>
@@ -954,9 +954,9 @@
         단일 읽기-쓰기 제공자 수준 권한
     </dt>
     <dd>
-        제공자 전체로의 읽기와 쓰기 액세스 양쪽 모두를 제어하는 하나의 권한으로, 
+        제공자 전체로의 읽기와 쓰기 액세스 양쪽 모두를 제어하는 하나의 권한으로,
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
-        &lt;provider&gt;</a></code> 요소의 
+        &lt;provider&gt;</a></code> 요소의
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">
         android:permission</a></code> 속성으로 지정됩니다.
     </dd>
@@ -978,14 +978,14 @@
         경로 수준 권한
     </dt>
     <dd>
-        제공자의 콘텐츠 URI에 대한 읽기, 쓰기 또는 읽기/쓰기 권한입니다. 제어하고자 하는 각 URI를 직접 지정하되, 
-이때 
+        제공자의 콘텐츠 URI에 대한 읽기, 쓰기 또는 읽기/쓰기 권한입니다. 제어하고자 하는 각 URI를 직접 지정하되,
+이때
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
-        &lt;provider&gt;</a></code> 요소의 
+        &lt;provider&gt;</a></code> 요소의
 <code><a href="{@docRoot}guide/topics/manifest/path-permission-element.html">
-        &lt;path-permission&gt;</a></code> 하위 요소를 사용합니다. 지정하는 콘텐츠 URI마다 
-읽기/쓰기 권한, 읽기 권한 또는 쓰기 권한을 하나씩 지정하거나 셋 모두를 지정할 수 있습니다. 
-읽기 및 쓰기 권한이 읽기/쓰기 권한보다 우선합니다. 
+        &lt;path-permission&gt;</a></code> 하위 요소를 사용합니다. 지정하는 콘텐츠 URI마다
+읽기/쓰기 권한, 읽기 권한 또는 쓰기 권한을 하나씩 지정하거나 셋 모두를 지정할 수 있습니다.
+읽기 및 쓰기 권한이 읽기/쓰기 권한보다 우선합니다.
 또한, 경로 수준 권한이 제공자 수준 권한보다 우선합니다.
     </dd>
     <dt>
@@ -993,18 +993,18 @@
     </dt>
     <dd>
         애플리케이션에 임시 액세스를 허용하는 권한 수준입니다.
-해당 애플리케이션에 일반적으로 요구되는 권한이 없더라도 무관합니다. 
+해당 애플리케이션에 일반적으로 요구되는 권한이 없더라도 무관합니다.
 임시 액세스 기능은 매니페스트에서 요청해야 하는
-권한과 애플리케이션 개수를 줄여줍니다. 임시 권한을 사용하는 경우, 
-제공자에 대하여 "영구" 권한을 필요로하는 애플리케이션은 
+권한과 애플리케이션 개수를 줄여줍니다. 임시 권한을 사용하는 경우,
+제공자에 대하여 "영구" 권한을 필요로하는 애플리케이션은
 모든 데이터에 지속적으로 액세스하는 것들뿐입니다.
         <p>
-            이메일 제공자와 앱을 구현할 때 필요한 권한을 예로 들어 보겠습니다. 
-외부 이미지 뷰어 애플리케이션으로 하여금 제공자에서 보낸 사진 첨부 파일을 
-표시하도록 허용하고자 한다고 가정합니다. 권한을 요구하지 않고 이미지 뷰어에 필수 액세스를 부여하려면, 
-사진에 대한 콘텐츠 URI에 해단되는 임시 권한을 설정하십시오. 
+            이메일 제공자와 앱을 구현할 때 필요한 권한을 예로 들어 보겠습니다.
+외부 이미지 뷰어 애플리케이션으로 하여금 제공자에서 보낸 사진 첨부 파일을
+표시하도록 허용하고자 한다고 가정합니다. 권한을 요구하지 않고 이미지 뷰어에 필수 액세스를 부여하려면,
+사진에 대한 콘텐츠 URI에 해단되는 임시 권한을 설정하십시오.
 사용자가 사진을 표시하기를 원할 때 앱이 사진의 콘텐츠 URI와 권한 플래그를 포함하는 인텐트를
-이미지 뷰어에 보내도록 이메일 앱을 설계합니다. 그러면 해당 이미지 뷰어가 
+이미지 뷰어에 보내도록 이메일 앱을 설계합니다. 그러면 해당 이미지 뷰어가
 이메일 제공자에 사진 검색을 쿼리할 수 있으며, 이 뷰어에 제공자에 대한 정상적인 읽기 권한이 없더라도 무방합니다.
 
         </p>
@@ -1017,29 +1017,29 @@
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
             &lt;grant-uri-permission&gt;</a></code> 하위 요소를
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
-            &lt;provider&gt;</a></code> 요소에 추가하면 됩니다. 임시 권한을 사용하는 경우, 
+            &lt;provider&gt;</a></code> 요소에 추가하면 됩니다. 임시 권한을 사용하는 경우,
 제공자에서 콘텐츠 URI에 대한 지원을 제거할 때마다 {@link android.content.Context#revokeUriPermission(Uri, int)
-            Context.revokeUriPermission()}을 호출해야 합니다. 
+            Context.revokeUriPermission()}을 호출해야 합니다.
 그러면 콘텐츠 URI가 임시 권한과 연관됩니다.
         </p>
         <p>
             속성의 값에 따라 제공자에 액세스 가능한 정도가 결정됩니다.
-            속성이 <code>true</code>로 설정되어 있는 경우라면 
-시스템이 제공자 전체에 임시 권한을 허용하며, 제공자 수준 또는 
+            속성이 <code>true</code>로 설정되어 있는 경우라면
+시스템이 제공자 전체에 임시 권한을 허용하며, 제공자 수준 또는
 경로 수준 권한에서 요구하는 다른 모든 권한을 재정의합니다.
         </p>
         <p>
-            이 플래그가 <code>false</code>로 설정되면, 반드시 
+            이 플래그가 <code>false</code>로 설정되면, 반드시
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
             &lt;grant-uri-permission&gt;</a></code> 하위 요소를
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
-            &lt;provider&gt;</a></code> 요소에 추가해야 합니다. 각 하위 요소는 임시 권한을 허용한 
+            &lt;provider&gt;</a></code> 요소에 추가해야 합니다. 각 하위 요소는 임시 권한을 허용한
 콘텐츠 URI(하나 또는 여러 개)를 나타냅니다.
         </p>
         <p>
             애플리케이션에 임시 액세스를 위임하려면, 인텐트에
 {@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION} 또는
-{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION} 플래그, 또는 둘 모두가 들어 있어야 합니다. 이들은 
+{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION} 플래그, 또는 둘 모두가 들어 있어야 합니다. 이들은
 {@link android.content.Intent#setFlags(int) setFlags()} 메서드로 설정됩니다.
         </p>
         <p>
@@ -1087,7 +1087,7 @@
         권한
     </dt>
     <dd>
-        제공자의 데이터에 액세스하기 위해 다른 애플리케이션이 
+        제공자의 데이터에 액세스하기 위해 다른 애플리케이션이
 반드시 가지고 있어야 하는 권한을 나타내는 속성입니다.
         <ul>
             <li>
@@ -1108,7 +1108,7 @@
             </li>
         </ul>
         <p>
-            각종 권한과 그에 상응하는 속성은 
+            각종 권한과 그에 상응하는 속성은
 
 <a href="#Permissions">콘텐츠 제공자 권한 구현</a> 섹션에 자세히 설명되어 있습니다.
         </p>
@@ -1117,7 +1117,7 @@
         시작 및 제어 속성
     </dt>
     <dd>
-        이와 같은 속성은 Android 시스템이 제공자를 시작하는 방법과 시점, 
+        이와 같은 속성은 Android 시스템이 제공자를 시작하는 방법과 시점,
 제공자의 프로세스 특징과 기타 런타임 설정 등을 결정합니다.
         <ul>
             <li>
@@ -1130,12 +1130,12 @@
             </li>
             <li>
                 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#init">
-                android:initOrder</a></code>: 같은 프로세스 내의 다른 제공자와 비교하여 
+                android:initOrder</a></code>: 같은 프로세스 내의 다른 제공자와 비교하여
 이 제공자가 시작되어야 하는 순서입니다.
             </li>
             <li>
                 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#multi">
-                android:multiProcess</a></code>: 클라이언트를 호출하는 것과 
+                android:multiProcess</a></code>: 클라이언트를 호출하는 것과
 같은 프로세스에서 시스템이 제공자를 시작할 수 있게 해주는 플래그입니다.
             </li>
             <li>
@@ -1145,7 +1145,7 @@
             </li>
             <li>
                 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#sync">
-                android:syncable</a></code>: 제공자의 데이터가 
+                android:syncable</a></code>: 제공자의 데이터가
 서버에 있는 데이터와 동기화될 예정임을 나타내는 플래그입니다.
             </li>
         </ul>
@@ -1165,7 +1165,7 @@
             <li>
                 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#icon">
                 android:icon</a></code>: 제공자의 아이콘이 들어 있는 드로어블 리소스입니다.
-                이 아이콘은 
+                이 아이콘은
 <em>설정</em> &gt; <em>앱</em> &gt; <em>모두</em>에 있는 앱 목록에서 제공자의 레이블 옆에 표시됩니다.
             </li>
             <li>
@@ -1187,28 +1187,28 @@
 <h2 id="Intents">인텐트 및 데이터 액세스</h2>
 <p>
     애플리케이션이 콘텐츠 제공자에 간접적으로 액세스하려면 {@link android.content.Intent}를 사용하면 됩니다.
-    이 애플리케이션은 {@link android.content.ContentResolver} 또는 
-{@link android.content.ContentProvider}의 메서드 중 어느 하나도 호출하지 않습니다. 
-대신, 액티비티를 시작하는 인텐트를 전송합니다. 이 인텐트는 제공자가 소유한 애플리케이션의 일부인 경우가 많습니다. 
-대상 액티비티가 데이터를 자체 UI에서 검색하고 표시하는 역할을 맡습니다. 
+    이 애플리케이션은 {@link android.content.ContentResolver} 또는
+{@link android.content.ContentProvider}의 메서드 중 어느 하나도 호출하지 않습니다.
+대신, 액티비티를 시작하는 인텐트를 전송합니다. 이 인텐트는 제공자가 소유한 애플리케이션의 일부인 경우가 많습니다.
+대상 액티비티가 데이터를 자체 UI에서 검색하고 표시하는 역할을 맡습니다.
 인텐트의 동작에 따라 대상 액티비티가 사용자에게 프롬프트를 표시하여 제공자의 데이터를 수정하도록 할 수도 있습니다.
     인텐트에는 대상 액티비티가 UI에 표시하는 "추가" 데이터가 들어 있을 수도 있습니다.
-그러면 사용자에게 이 데이터를 변경할 수 있는 옵션이 주어지고, 그런 다음 이를 사용하여 
+그러면 사용자에게 이 데이터를 변경할 수 있는 옵션이 주어지고, 그런 다음 이를 사용하여
 제공자 내의 데이터를 수정할 수 있습니다.
 </p>
 <p>
 
 </p>
 <p>
-    데이터 무결성을 보장하는 데 유용한 것을 원하면 인텐트 액세스를 사용하는 것이 좋습니다. 
-엄격하게 정의된 비즈니스 논리에 따라 데이터가 삽입, 업데이트되고 삭제되는 것이 제공자를 크게 좌우할 수도 있습니다. 
-이런 경우에 해당되면, 다른 애플리케이션에 데이터를 직접 수정하도록 허용하면 데이터가 잘못되는 
+    데이터 무결성을 보장하는 데 유용한 것을 원하면 인텐트 액세스를 사용하는 것이 좋습니다.
+엄격하게 정의된 비즈니스 논리에 따라 데이터가 삽입, 업데이트되고 삭제되는 것이 제공자를 크게 좌우할 수도 있습니다.
+이런 경우에 해당되면, 다른 애플리케이션에 데이터를 직접 수정하도록 허용하면 데이터가 잘못되는
 결과를 초래할 수 있습니다. 개발자들에게 인텐트 액세스 사용을 허용하려면, 그 내용을 철저히 기록해두어야 합니다.
-    개발자들에게 자기 애플리케이션의 UI를 사용한 인텐트 액세스가 
+    개발자들에게 자기 애플리케이션의 UI를 사용한 인텐트 액세스가
 코드로 데이터를 수정하려 시도하는 것보다 나은 이유를 설명해주십시오.
 </p>
 <p>
     제공자의 데이터를 수정하고자 하는 수신되는 인텐트 처리도 다른 인텐트 처리와 다를 바가 없습니다.
- 인텐트 사용에 대한 자세한 내용은 
+ 인텐트 사용에 대한 자세한 내용은
 <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a> 주제를 읽으면 확인할 수 있습니다.
 </p>
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/content-providers.jd b/docs/html-intl/intl/ko/guide/topics/providers/content-providers.jd
index ce98840..8671f7b7 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/content-providers.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/content-providers.jd
@@ -47,31 +47,31 @@
 </div>
 </div>
 <p>
-    콘텐츠 제공자는 구조화된 데이터 세트로의 액세스를 관리합니다. 
-데이터를 캡슐화하여 데이터 보안을 정의하는 데 필요한 메커니즘을 제공하기도 합니다. 
+    콘텐츠 제공자는 구조화된 데이터 세트로의 액세스를 관리합니다.
+데이터를 캡슐화하여 데이터 보안을 정의하는 데 필요한 메커니즘을 제공하기도 합니다.
 콘텐츠 제공자는 한 프로세스의 데이터에 다른 프로세스에서 실행 중인 코드를 연결하는 표준 인터페이스입니다.
 </p>
 <p>
-    콘텐츠 제공자 내의 데이터에 액세스하고자 하는 경우, 
+    콘텐츠 제공자 내의 데이터에 액세스하고자 하는 경우,
 애플리케이션의 {@link android.content.Context}에 있는
 {@link android.content.ContentResolver} 개체를 사용하여 클라이언트로서 제공자와 통신을 주고받으면 됩니다.
-    {@link android.content.ContentResolver} 개체가 제공자 개체와 통신하며, 이 개체는 
-{@link android.content.ContentProvider}를 구현하는 클래스의 인스턴스입니다. 
+    {@link android.content.ContentResolver} 개체가 제공자 개체와 통신하며, 이 개체는
+{@link android.content.ContentProvider}를 구현하는 클래스의 인스턴스입니다.
 제공자 개체가 클라이언트로부터 데이터 요청을 받아 요청된 작업을 수행하며 결과를 반환합니다.
 
 </p>
 <p>
     데이터를 다른 애플리케이션과 공유할 생각이 없으면 나름의 제공자를 개발하지 않아도 됩니다.
  그러나, 자체 애플리케이션에서 사용자 지정 검색 제안을 제공하려면 나름의 제공자가 꼭 필요합니다.
- 또한, 복잡한 데이터나 파일을 자신의 애플리케이션에서 다른 애플리케이션으로 복사하여 붙여넣고자 하는 경우에도 
+ 또한, 복잡한 데이터나 파일을 자신의 애플리케이션에서 다른 애플리케이션으로 복사하여 붙여넣고자 하는 경우에도
 나름의 제공자가 필요합니다.
 </p>
 <p>
-    Android 자체에 오디오, 동영상, 이미지 및 개인 연락처 정보 등의 데이터를 관리하는 콘텐츠 제공자가 
-포함되어 있습니다. 그중 몇 가지를 목록으로 나열한 것을 
+    Android 자체에 오디오, 동영상, 이미지 및 개인 연락처 정보 등의 데이터를 관리하는 콘텐츠 제공자가
+포함되어 있습니다. 그중 몇 가지를 목록으로 나열한 것을
 
 <code><a href="{@docRoot}reference/android/provider/package-summary.html">android.provider</a>
-    </code> 패키지에 대한 참조 문서에서 확인할 수 있습니다. 이와 같은 제공자는 몇 가지 제약이 있지만, 
+    </code> 패키지에 대한 참조 문서에서 확인할 수 있습니다. 이와 같은 제공자는 몇 가지 제약이 있지만,
 어느 Android 애플리케이션에나 액세스할 수 있습니다.
 </p><p>
     다음 주제에서는 콘텐츠 제공자에 대해 좀 더 자세히 설명합니다.
diff --git a/docs/html-intl/intl/ko/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/ko/guide/topics/providers/document-provider.jd
index e356e22..665a72a 100644
--- a/docs/html-intl/intl/ko/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/ko/guide/topics/providers/document-provider.jd
@@ -75,96 +75,96 @@
 </div>
 
 
-<p>Android 4.4(API 레벨 19)에서는 저장소 액세스 프레임워크(SAF)를 처음 도입하게 되었습니다. SAF는 
-사용자가 선호하는 문서 저장소 제공자 전체를 걸쳐 문서, 이미지 및 각종 다른 파일을 
-탐색하고 여는 작업을 간편하게 만들어줍니다. 표준형의, 사용하기 쉬운 UI로 
+<p>Android 4.4(API 레벨 19)에서는 저장소 액세스 프레임워크(SAF)를 처음 도입하게 되었습니다. SAF는
+사용자가 선호하는 문서 저장소 제공자 전체를 걸쳐 문서, 이미지 및 각종 다른 파일을
+탐색하고 여는 작업을 간편하게 만들어줍니다. 표준형의, 사용하기 쉬운 UI로
 사용자가 각종 앱과 제공자에 걸쳐 일관된 방식으로 파일을 탐색하고 최근 내용에 액세스할 수 있게 해줍니다.</p>
 
-<p>클라우드 또는 로컬 저장소 서비스가 이 에코시스템에 참가하려면 자신의 서비스를 캡슐화하는 
-{@link android.provider.DocumentsProvider}를 구현하면 됩니다. 
-제공자의 문서에 액세스해야 하는 클라이언트 앱의 경우 단 몇 줄의 코드만으로 
+<p>클라우드 또는 로컬 저장소 서비스가 이 에코시스템에 참가하려면 자신의 서비스를 캡슐화하는
+{@link android.provider.DocumentsProvider}를 구현하면 됩니다.
+제공자의 문서에 액세스해야 하는 클라이언트 앱의 경우 단 몇 줄의 코드만으로
 SAF와 통합할 수 있습니다.</p>
 
 <p>SAF에는 다음과 같은 항목이 포함됩니다.</p>
 
 <ul>
 <li><strong>문서 제공자</strong>&mdash;일종의 콘텐츠 제공자로
-저장소 서비스(예: Google Drive 등)로 하여금 자신이 관리하는 파일을 드러내도록 허용합니다. 문서 제공자는 
-{@link android.provider.DocumentsProvider} 클래스의 하위 클래스로 구현됩니다. 
-문서 제공자 스키마는 기존의 파일 계층을 근거로 하지만, 
-문서 제공자가 데이터를 저장하는 물리적인 방법은 개발자가 선택하기 나름입니다. 
-Android 플랫폼에는 내장된 문서 제공자가 여러 개 있습니다. 
+저장소 서비스(예: Google Drive 등)로 하여금 자신이 관리하는 파일을 드러내도록 허용합니다. 문서 제공자는
+{@link android.provider.DocumentsProvider} 클래스의 하위 클래스로 구현됩니다.
+문서 제공자 스키마는 기존의 파일 계층을 근거로 하지만,
+문서 제공자가 데이터를 저장하는 물리적인 방법은 개발자가 선택하기 나름입니다.
+Android 플랫폼에는 내장된 문서 제공자가 여러 개 있습니다.
 예를 들어 다운로드, 이미지 및 비디오 등입니다.</li>
 
 <li><strong>클라이언트 앱</strong>&mdash;일종의 사용자 지정 앱으로
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} 및/또는
-{@link android.content.Intent#ACTION_CREATE_DOCUMENT} 인텐트를 호출하고, 
+{@link android.content.Intent#ACTION_CREATE_DOCUMENT} 인텐트를 호출하고,
 문서 제공자가 반환하는 파일을 수신합니다.</li>
 
-<li><strong>선택기</strong>&mdash;일종의 시스템 UI로 사용자가 클라이언트 앱의 
+<li><strong>선택기</strong>&mdash;일종의 시스템 UI로 사용자가 클라이언트 앱의
 검색 기준을 만족하는 모든 문서 제공자에서 문서에 액세스할 수 있도록 해줍니다.</li>
 </ul>
 
 <p>SAF가 제공하는 기능을 몇 가지 예로 들면 다음과 같습니다.</p>
 <ul>
 <li>사용자들로 하여금 하나의 앱만이 아니라 모든 문서 제공자에서 콘텐츠를 탐색할 수 있게 해줍니다.</li>
-<li>여러분의 앱이 문서 제공자가 소유한 문서에 대한 장기적, 영구적 액세스 권한을 가질 수 있도록 
-해줍니다. 이 액세스 권한을 통해 사용자가 제공자에 있는 파일을 추가, 편집, 
+<li>여러분의 앱이 문서 제공자가 소유한 문서에 대한 장기적, 영구적 액세스 권한을 가질 수 있도록
+해줍니다. 이 액세스 권한을 통해 사용자가 제공자에 있는 파일을 추가, 편집,
 저장 및 삭제할 수 있습니다.</li>
-<li>여러 개의 사용자 계정을 지원하며 USB 저장소 제공자와 같은 임시 루트도 지원합니다. 
+<li>여러 개의 사용자 계정을 지원하며 USB 저장소 제공자와 같은 임시 루트도 지원합니다.
 이는 드라이브가 연결되어 있을 때만 나타납니다. </li>
 </ul>
 
 <h2 id ="overview">개요</h2>
 
-<p>SAF는 {@link android.provider.DocumentsProvider} 클래스의 
-하위 클래스인 콘텐츠 제공자를 중심으로 둘러싸고 있습니다. 데이터는 <em>문서 제공자</em> 내에서 일반적인 파일 계층으로 
+<p>SAF는 {@link android.provider.DocumentsProvider} 클래스의
+하위 클래스인 콘텐츠 제공자를 중심으로 둘러싸고 있습니다. 데이터는 <em>문서 제공자</em> 내에서 일반적인 파일 계층으로
 구조화됩니다.</p>
 <p><img src="{@docRoot}images/providers/storage_datamodel.png" alt="data model" /></p>
-<p class="img-caption"><strong>그림 1.</strong> 문서 제공자 데이터 모델입니다. 루트 하나가 하나의 문서를 가리키며, 
+<p class="img-caption"><strong>그림 1.</strong> 문서 제공자 데이터 모델입니다. 루트 하나가 하나의 문서를 가리키며,
 이는 다시 트리 전체의 팬아웃을 시작합니다.</p>
 
 <p>다음 내용을 참고하십시오.</p>
 <ul>
 
-<li>각 문서 제공자는 하나 이상의 "루트"를 보고합니다. 
+<li>각 문서 제공자는 하나 이상의 "루트"를 보고합니다.
 이는 문서 트리 속을 탐색할 시작 지점입니다.
-각 루트에는 고유한 {@link android.provider.DocumentsContract.Root#COLUMN_ROOT_ID}가 있으며, 
-이는 해당 루트 아래의 콘텐츠를 나타내는 문서(디렉터리)를 
+각 루트에는 고유한 {@link android.provider.DocumentsContract.Root#COLUMN_ROOT_ID}가 있으며,
+이는 해당 루트 아래의 콘텐츠를 나타내는 문서(디렉터리)를
 가리킵니다.
-루트는 설계상 동적으로 만들어져 있어 여러 개의 계정, 임시 USB 저장소 기기 
+루트는 설계상 동적으로 만들어져 있어 여러 개의 계정, 임시 USB 저장소 기기
 또는 사용자 로그인/로그아웃 등과 같은 경우를 지원하도록 되어 있습니다.</li>
 
-<li>각 루트 아래에 문서가 하나씩 있습니다. 해당 문서는 1부터 <em>N</em>까지의 문서를 가리키는데, 
+<li>각 루트 아래에 문서가 하나씩 있습니다. 해당 문서는 1부터 <em>N</em>까지의 문서를 가리키는데,
 이는 각각 1부터 <em>N</em>의 문서를 가리킬 수 있습니다. </li>
 
-<li>각 저장소의 백엔드가 
-개별적인 파일과 디렉터리를 고유한 
-{@link android.provider.DocumentsContract.Document#COLUMN_DOCUMENT_ID}로 
-참조하여 드러냅니다.문서 ID는 고유해야 하며 한 번 발행되고 나면 변경되지 않습니다. 
+<li>각 저장소의 백엔드가
+개별적인 파일과 디렉터리를 고유한
+{@link android.provider.DocumentsContract.Document#COLUMN_DOCUMENT_ID}로
+참조하여 드러냅니다.문서 ID는 고유해야 하며 한 번 발행되고 나면 변경되지 않습니다.
 이들은 기기 재부팅을 통괄하여 영구적인 URI 허가에 사용되기 때문입니다.</li>
 
 
-<li>문서는 열 수 있는 파일이거나(특정 MIME 유형으로), 
+<li>문서는 열 수 있는 파일이거나(특정 MIME 유형으로),
 추가 문서가 들어있는 디렉터리일 수 있습니다(
 {@link android.provider.DocumentsContract.Document#MIME_TYPE_DIR} MIME 유형으로).</li>
 
-<li>각 문서는 서로 다른 기능을 가지고 있을 수 있습니다. 이는 
-{@link android.provider.DocumentsContract.Document#COLUMN_FLAGS COLUMN_FLAGS}에서 설명한 것과 같습니다. 
- 예를 들어 {@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_WRITE}, 
-{@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_DELETE} 및 
-{@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_THUMBNAIL} 등입니다. 
-같은 {@link android.provider.DocumentsContract.Document#COLUMN_DOCUMENT_ID}가 
+<li>각 문서는 서로 다른 기능을 가지고 있을 수 있습니다. 이는
+{@link android.provider.DocumentsContract.Document#COLUMN_FLAGS COLUMN_FLAGS}에서 설명한 것과 같습니다.
+ 예를 들어 {@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_WRITE},
+{@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_DELETE} 및
+{@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_THUMBNAIL} 등입니다.
+같은 {@link android.provider.DocumentsContract.Document#COLUMN_DOCUMENT_ID}가
 여러 디렉터리에 포함되어 있을 수도 있습니다.</li>
 </ul>
 
 <h2 id="flow">제어 흐름</h2>
-<p>위에서 언급한 바와 같이, 문서 제공자 데이터 모델은 일반적인 
-파일 계층을 기반으로 합니다. 그러나, 데이터를 물리적으로 저장하는 방식은 마음대로 선택할 수 있습니다. 다만 
-{@link android.provider.DocumentsProvider} API를 통해 액세스할 수 있기만 하면 됩니다. 
+<p>위에서 언급한 바와 같이, 문서 제공자 데이터 모델은 일반적인
+파일 계층을 기반으로 합니다. 그러나, 데이터를 물리적으로 저장하는 방식은 마음대로 선택할 수 있습니다. 다만
+{@link android.provider.DocumentsProvider} API를 통해 액세스할 수 있기만 하면 됩니다.
 예를 들어, 데이터를 저장하기 위해 태그 기반 클라우드 저장소를 사용해도 됩니다.</p>
 
-<p>그림 2는 사진 앱이 SAF를 사용하여 저장된 데이터에 액세스할 수 있는 방법을 
+<p>그림 2는 사진 앱이 SAF를 사용하여 저장된 데이터에 액세스할 수 있는 방법을
 예시로 나타낸 것입니다.</p>
 <p><img src="{@docRoot}images/providers/storage_dataflow.png" alt="app" /></p>
 
@@ -174,31 +174,31 @@
 <ul>
 
 <li>SAF에서는 제공자와 클라이언트가 직접 상호 작용하지 않습니다.
- 클라이언트가 파일과 상호 작용하기 위한 권한을 요청합니다(다시 말해, 
+ 클라이언트가 파일과 상호 작용하기 위한 권한을 요청합니다(다시 말해,
 파일을 읽고, 편집하고 생성 또는 삭제할 권한을 말합니다).</li>
 
-<li>상호 작용은 애플리케이션(이 예시에서는 주어진 사진 앱)이 인텐트 
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 또는 {@link android.content.Intent#ACTION_CREATE_DOCUMENT}를 실행시키면 시작합니다. 이 인텐트에는 
-기준을 한층 더 정밀하게 하기 위한 필터가 포함될 수 있습니다. 예를 들어, "열 수 있는 파일 중에서 
+<li>상호 작용은 애플리케이션(이 예시에서는 주어진 사진 앱)이 인텐트
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 또는 {@link android.content.Intent#ACTION_CREATE_DOCUMENT}를 실행시키면 시작합니다. 이 인텐트에는
+기준을 한층 더 정밀하게 하기 위한 필터가 포함될 수 있습니다. 예를 들어, "열 수 있는 파일 중에서
 '이미지' MIME 유형을 가진 파일을 모두 주세요"라고 할 수 있습니다.</li>
 
-<li>인텐트가 실행되면 시스템 선택기가 각각의 등록된 제공자로 이동하여 사용자에게 
+<li>인텐트가 실행되면 시스템 선택기가 각각의 등록된 제공자로 이동하여 사용자에게
 일치하는 콘텐츠 루트를 보여줍니다.</li>
 
-<li>선택기는 사용자에게 문서에 액세스하는 데 쓰는 표준 인터페이스를 부여합니다. 이는 
-기본 문서 제공자 사이에 큰 차이가 있더라도 무관합니다. 예를 들어, 그림 2는 
+<li>선택기는 사용자에게 문서에 액세스하는 데 쓰는 표준 인터페이스를 부여합니다. 이는
+기본 문서 제공자 사이에 큰 차이가 있더라도 무관합니다. 예를 들어, 그림 2는
 Google Drive 제공자, USB 제공자와 클라우드 제공자를 나타낸 것입니다.</li>
 </ul>
 
-<p>그림 3은 이미지를 검색 중인 사용자가 Google Drive 계정을 선택한 
+<p>그림 3은 이미지를 검색 중인 사용자가 Google Drive 계정을 선택한
 선택기를 나타낸 것입니다.</p>
 
 <p><img src="{@docRoot}images/providers/storage_picker.png" width="340" alt="picker" style="border:2px solid #ddd" /></p>
 
 <p class="img-caption"><strong>그림 3.</strong> 선택기</p>
 
-<p>사용자가 Google Drive를 선택하면 이미지가 그림 4에 나타난 것처럼 
-표시됩니다. 그때부터 사용자는 제공자와 클라이언트 앱이 지원하는 방식이라면 어떤 식으로든 
+<p>사용자가 Google Drive를 선택하면 이미지가 그림 4에 나타난 것처럼
+표시됩니다. 그때부터 사용자는 제공자와 클라이언트 앱이 지원하는 방식이라면 어떤 식으로든
 이들 이미지와 상호 작용할 수 있게 됩니다.
 
 <p><img src="{@docRoot}images/providers/storage_photos.png" width="340" alt="picker" style="border:2px solid #ddd" /></p>
@@ -207,45 +207,45 @@
 
 <h2 id="client">클라이언트 앱 작성</h2>
 
-<p>Android 4.3 이하에서는 앱이 또 다른 앱에서 파일을 검색할 수 있도록 하려면 
+<p>Android 4.3 이하에서는 앱이 또 다른 앱에서 파일을 검색할 수 있도록 하려면
  {@link android.content.Intent#ACTION_PICK}
- 또는 {@link android.content.Intent#ACTION_GET_CONTENT}와 같은 인텐트를 호출해야만 했습니다. 그런 다음 
-파일을 선택할 앱을 하나 선택하고, 선택한 앱이 사용자 인터페이스를 제공하여야 사용자가 
+ 또는 {@link android.content.Intent#ACTION_GET_CONTENT}와 같은 인텐트를 호출해야만 했습니다. 그런 다음
+파일을 선택할 앱을 하나 선택하고, 선택한 앱이 사용자 인터페이스를 제공하여야 사용자가
 이용 가능한 파일 중에서 탐색하고 선택할 수 있었습니다. </p>
 
-<p>Android 4.4 이상에는 
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트를 사용할 수 있다는 추가 옵션이 있습니다. 
-이는 시스템이 제어하는 선택기를 표시하여 사용자가 다른 앱에서 이용할 수 있게 만든 파일을 
-모두 탐색할 수 있게 해줍니다. 이 하나의 UI로부터 
+<p>Android 4.4 이상에는
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트를 사용할 수 있다는 추가 옵션이 있습니다.
+이는 시스템이 제어하는 선택기를 표시하여 사용자가 다른 앱에서 이용할 수 있게 만든 파일을
+모두 탐색할 수 있게 해줍니다. 이 하나의 UI로부터
 사용자는 지원되는 모든 앱에서 파일을 선택할 수 있는 것입니다.</p>
 
-<p>{@link android.content.Intent#ACTION_OPEN_DOCUMENT}는 
-{@link android.content.Intent#ACTION_GET_CONTENT}를 
+<p>{@link android.content.Intent#ACTION_OPEN_DOCUMENT}는
+{@link android.content.Intent#ACTION_GET_CONTENT}를
 대체할 목적으로 만들어진 것이 아닙니다. 어느 것을 사용해야 할지는 각자의 앱에 필요한 것이 무엇인지에 좌우됩니다.</p>
 
 <ul>
-<li>앱이 단순히 데이터를 읽고/가져오기만을 바란다면 
-{@link android.content.Intent#ACTION_GET_CONTENT}를 사용하십시오. 
+<li>앱이 단순히 데이터를 읽고/가져오기만을 바란다면
+{@link android.content.Intent#ACTION_GET_CONTENT}를 사용하십시오.
 이 방식을 사용하면 앱은 이미지 파일과 같은 데이터 사본을 가져오게 됩니다.</li>
 
-<li>앱이 문서 제공자가 보유한 문서에 장기적, 영구적 액세스 권한을 가지기를 바라는 경우 
+<li>앱이 문서 제공자가 보유한 문서에 장기적, 영구적 액세스 권한을 가지기를 바라는 경우
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT}를 사용하십시오.
- 일례로 사용자들에게 문서 제공자에 저장된 이미지를 편집할 수 있게 해주는 
+ 일례로 사용자들에게 문서 제공자에 저장된 이미지를 편집할 수 있게 해주는
 사진 편집 앱을 들 수 있겠습니다. </li>
 
 </ul>
 
 
-<p>이 섹션에서는 
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 및 
+<p>이 섹션에서는
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 및
 {@link android.content.Intent#ACTION_CREATE_DOCUMENT} 인텐트를 근거로 클라이언트 앱을 작성하는 방법을 설명합니다.</p>
 
 
 <h3 id="search">문서 검색</h3>
 
 <p>
-다음 조각에서는 {@link android.content.Intent#ACTION_OPEN_DOCUMENT}를 
-사용하여 이미지 파일이 들어 있는 문서 제공자를 
+다음 조각에서는 {@link android.content.Intent#ACTION_OPEN_DOCUMENT}를
+사용하여 이미지 파일이 들어 있는 문서 제공자를
 검색합니다.</p>
 
 <pre>private static final int READ_REQUEST_CODE = 42;
@@ -277,7 +277,7 @@
 <li>앱이 {@link android.content.Intent#ACTION_OPEN_DOCUMENT}
  인텐트를 실행시키면 이는 일치하는 문서 제공자를 모두 표시하는 선택기를 시작합니다.</li>
 
-<li>{@link android.content.Intent#CATEGORY_OPENABLE} 카테고리를 
+<li>{@link android.content.Intent#CATEGORY_OPENABLE} 카테고리를
 인텐트에 추가하면 결과를 필터링하여 이미지 파일 등 열 수 있는 문서만 표시합니다.</li>
 
 <li>{@code intent.setType("image/*")} 문으로 한층 더 필터링을 수행하여
@@ -286,10 +286,10 @@
 
 <h3 id="results">결과 처리</h3>
 
-<p>사용자가 선택기에서 문서를 선택하면 
-{@link android.app.Activity#onActivityResult onActivityResult()}가 호출됩니다. 
+<p>사용자가 선택기에서 문서를 선택하면
+{@link android.app.Activity#onActivityResult onActivityResult()}가 호출됩니다.
 선택한 문서를 가리키는 URI는 {@code resultData}
-매개변수 안에 들어있습니다. 이 URI를 {@link android.content.Intent#getData getData()}를 사용하여 추출합니다. 
+매개변수 안에 들어있습니다. 이 URI를 {@link android.content.Intent#getData getData()}를 사용하여 추출합니다.
 일단 이것을 가지게 되면 이를 사용하여 사용자가 원하는 문서를 검색하면 됩니다. 예:
 </p>
 
@@ -318,7 +318,7 @@
 
 <h3 id="metadata">문서 메타데이터 살펴보기</h3>
 
-<p>문서의 URI를 얻은 다음에는 그 문서의 메타데이터에 액세스할 수 있습니다. 이 
+<p>문서의 URI를 얻은 다음에는 그 문서의 메타데이터에 액세스할 수 있습니다. 이
 조각은 해당 URI가 나타내는 문서의 메타데이터를 가져와 다음과 같이 기록합니다.</p>
 
 <pre>public void dumpImageMetaData(Uri uri) {
@@ -365,7 +365,7 @@
 
 <h3 id="open-client">문서 열기</h3>
 
-<p>문서의 URI를 얻은 다음에는 문서를 열 수도 있고 원하는 대로 무엇이든 
+<p>문서의 URI를 얻은 다음에는 문서를 열 수도 있고 원하는 대로 무엇이든
 할 수 있습니다.</p>
 
 <h4>비트맵</h4>
@@ -382,14 +382,14 @@
 }
 </pre>
 
-<p>이 작업을 UI 스레드에서 해서는 안 된다는 점을 유의하십시오. 이것은 배경에서 하되, 
-{@link android.os.AsyncTask}를 사용합니다. 비트맵을 열고 나면 이를 
+<p>이 작업을 UI 스레드에서 해서는 안 된다는 점을 유의하십시오. 이것은 배경에서 하되,
+{@link android.os.AsyncTask}를 사용합니다. 비트맵을 열고 나면 이를
 {@link android.widget.ImageView}로 표시할 수 있습니다.
 </p>
 
 <h4>InputStream 가져오기</h4>
 
-<p>다음은 URI에서 {@link java.io.InputStream}을 가져오는 방법을 예시로 나타낸 것입니다. 이 조각에서 
+<p>다음은 URI에서 {@link java.io.InputStream}을 가져오는 방법을 예시로 나타낸 것입니다. 이 조각에서
 파일의 줄이 문자열로 읽히고 있습니다.</p>
 
 <pre>private String readTextFromUri(Uri uri) throws IOException {
@@ -409,9 +409,9 @@
 
 <h3 id="create">새 문서 생성하기</h3>
 
-<p>개발자의 앱은 문서 제공자에서 새 문서를 생성할 수 있습니다. 이때 
+<p>개발자의 앱은 문서 제공자에서 새 문서를 생성할 수 있습니다. 이때
 {@link android.content.Intent#ACTION_CREATE_DOCUMENT}
- 인텐트를 사용하면 됩니다. 파일을 생성하려면 인텐트에 MIME 유형과 파일 이름을 부여하고, 
+ 인텐트를 사용하면 됩니다. 파일을 생성하려면 인텐트에 MIME 유형과 파일 이름을 부여하고,
 고유한 요청 코드로 이를 시작하면 됩니다. 나머지는 여러분 대신 알아서 해드립니다.</p>
 
 
@@ -440,15 +440,15 @@
 }
 </pre>
 
-<p>새 문서를 생성하고 나면 
-{@link android.app.Activity#onActivityResult onActivityResult()}에서 URI를 가져와 거기에 계속해서 
+<p>새 문서를 생성하고 나면
+{@link android.app.Activity#onActivityResult onActivityResult()}에서 URI를 가져와 거기에 계속해서
 쓸 수 있습니다.</p>
 
 <h3 id="delete">문서 삭제하기</h3>
 
-<p>어느 문서에 대한 URI가 있고 해당 문서의 
+<p>어느 문서에 대한 URI가 있고 해당 문서의
 {@link android.provider.DocumentsContract.Document#COLUMN_FLAGS Document.COLUMN_FLAGS}
-에 
+에
 {@link android.provider.DocumentsContract.Document#FLAG_SUPPORTS_DELETE SUPPORTS_DELETE}가 들어 있는 경우,
 해당 문서를 삭제할 수 있습니다. 예:</p>
 
@@ -459,9 +459,9 @@
 <h3 id="edit">문서 편집하기</h3>
 
 <p>준비된 텍스트 문서를 편집하는 데 SAF를 사용할 수 있습니다.
-이 조각은 
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트를 실행하며 
-{@link android.content.Intent#CATEGORY_OPENABLE} 카테고리를 사용해 
+이 조각은
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트를 실행하며
+{@link android.content.Intent#CATEGORY_OPENABLE} 카테고리를 사용해
 열 수 있는 문서만 표시하도록 합니다. 이것을 한층 더 필터링하여 텍스트 파일만 표시하게 하려면 다음과 같이 합니다.</p>
 
 <pre>
@@ -486,10 +486,10 @@
 </pre>
 
 <p>다음으로, {@link android.app.Activity#onActivityResult onActivityResult()}
-(<a href="#results">결과 처리</a> 참조)에서 코드를 호출하여 편집 작업을 수행하도록 하면 됩니다. 
+(<a href="#results">결과 처리</a> 참조)에서 코드를 호출하여 편집 작업을 수행하도록 하면 됩니다.
 다음 조각은 {@link android.content.ContentResolver}에서 {@link java.io.FileOutputStream}
-을 가져온 것입니다. 이것은 기본적으로 "쓰기" 모드를 사용합니다. 
-필요한 최소 수량의 액세스만을 요청하는 것이 가장 좋으니 쓰기만 필요하다면 
+을 가져온 것입니다. 이것은 기본적으로 "쓰기" 모드를 사용합니다.
+필요한 최소 수량의 액세스만을 요청하는 것이 가장 좋으니 쓰기만 필요하다면
 읽기/쓰기를 요청하지 마십시오.</p>
 
 <pre>private void alterDocument(Uri uri) {
@@ -512,16 +512,16 @@
 
 <h3 id="permissions">권한 유지</h3>
 
-<p>앱이 읽기 또는 쓰기 작업에 대한 파일을 열면 시스템이 앱에 해당 파일에 대한 URI 권한 허가를 
+<p>앱이 읽기 또는 쓰기 작업에 대한 파일을 열면 시스템이 앱에 해당 파일에 대한 URI 권한 허가를
 부여합니다. 이것은 사용자의 장치를 다시 시작할 때까지 유지됩니다.
-하지만 만일 앱이 이미지 편집 앱이고, 사용자가 여러분의 앱에서 바로 편집한 5개의 이미지에 
-액세스할 수 있도록 하고자 한다고 가정해봅시다. 사용자의 기기가 재시작되면 
-여러분이 사용자에게 시스템 선택기를 다시 보내 해당 파일을 검색하도록 해야 할 텐데, 
+하지만 만일 앱이 이미지 편집 앱이고, 사용자가 여러분의 앱에서 바로 편집한 5개의 이미지에
+액세스할 수 있도록 하고자 한다고 가정해봅시다. 사용자의 기기가 재시작되면
+여러분이 사용자에게 시스템 선택기를 다시 보내 해당 파일을 검색하도록 해야 할 텐데,
 이것은 물론 이상적인 것과는 거리가 멉니다.</p>
 
 <p>이런 일이 일어나지 않도록 방지하기 위해 시스템이 앱에 부여한 권한을 유지할 수 있습니다.
-여러분의 앱은 시스템이 제공하는 유지 가능한 URI 권한 허가를 
-효율적으로 "받아들입니다". 이렇게 하면 사용자가 여러분의 앱을 통해 파일에 지속적인 액세스 권한을 가질 수 있으며, 
+여러분의 앱은 시스템이 제공하는 유지 가능한 URI 권한 허가를
+효율적으로 "받아들입니다". 이렇게 하면 사용자가 여러분의 앱을 통해 파일에 지속적인 액세스 권한을 가질 수 있으며,
 이는 기기가 다시 시작되더라도 관계 없습니다.</p>
 
 
@@ -531,65 +531,65 @@
 // Check for the freshest data.
 getContentResolver().takePersistableUriPermission(uri, takeFlags);</pre>
 
-<p>마지막 한 단계가 남았습니다. 여러분의 앱이 액세스한 가장 최근의 URI를 
-저장해두었을 수 있지만, 이는 더 이상 유효하지 않을 수 있습니다. 또 다른 앱이 문서를 
-삭제하거나 수정했을 수 있기 때문입니다. 따라서, 항상 
-{@code getContentResolver().takePersistableUriPermission()}을 
+<p>마지막 한 단계가 남았습니다. 여러분의 앱이 액세스한 가장 최근의 URI를
+저장해두었을 수 있지만, 이는 더 이상 유효하지 않을 수 있습니다. 또 다른 앱이 문서를
+삭제하거나 수정했을 수 있기 때문입니다. 따라서, 항상
+{@code getContentResolver().takePersistableUriPermission()}을
 호출하여 최신 데이터를 확인해야 합니다.</p>
 
 <h2 id="custom">사용자 지정 문서 제공자 작성하기</h2>
 
 <p>
-파일용 저장소 서비스를 제공하는 앱을 개발 중인 경우(예를 들어 
-클라우드 저장 서비스 등), SAF를 통해 파일을 사용할 수 있도록 하려면 사용자 지정 문서 제공자를 
+파일용 저장소 서비스를 제공하는 앱을 개발 중인 경우(예를 들어
+클라우드 저장 서비스 등), SAF를 통해 파일을 사용할 수 있도록 하려면 사용자 지정 문서 제공자를
 작성하면 됩니다.  이 섹션에서는 이렇게 하는 방법을 설명합니다.
 </p>
 
 
 <h3 id="manifest">매니페스트</h3>
 
-<p>사용자 지정 문서 제공자를 구현하려면 애플리케이션의 매니페스트에 다음과 같은 항목을 
+<p>사용자 지정 문서 제공자를 구현하려면 애플리케이션의 매니페스트에 다음과 같은 항목을
 추가하십시오.</p>
 <ul>
 
 <li>API 레벨 19 이상의 대상.</li>
 
-<li>사용자 지정 저장소 제공자를 선언하는 <code>&lt;provider&gt;</code> 
+<li>사용자 지정 저장소 제공자를 선언하는 <code>&lt;provider&gt;</code>
 요소. </li>
 
-<li>제공자의 이름은 그 클래스 이름이며 여기에 패키지 이름도 포함됩니다. 
+<li>제공자의 이름은 그 클래스 이름이며 여기에 패키지 이름도 포함됩니다.
 예: <code>com.example.android.storageprovider.MyCloudProvider</code></li>
 
-<li>권한의 이름, 이는 패키지 이름과 같으며(이 예시에서는 
+<li>권한의 이름, 이는 패키지 이름과 같으며(이 예시에서는
 <code>com.example.android.storageprovider</code>)여기에 콘텐츠 제공자 유형을 더합니다
 (<code>documents</code>). 예: {@code com.example.android.storageprovider.documents}</li>
 
 <li><code>android:exported</code> 속성을 <code>&quot;true&quot;</code>로 설정.
 제공자를 내보내 다른 앱이 볼 수 있도록 해야 합니다.</li>
 
-<li><code>android:grantUriPermissions</code> 속성을 
-<code>&quot;true&quot;</code>로 설정. 이렇게 설정하면 시스템이 여러분의 제공자 안에 있는 콘텐츠에 액세스하도록 다른 앱에 
-권한을 허가할 수 있게 해줍니다. 특정 문서에 대한 권한 부여를 유지하는 방법에 대한 논의는 
+<li><code>android:grantUriPermissions</code> 속성을
+<code>&quot;true&quot;</code>로 설정. 이렇게 설정하면 시스템이 여러분의 제공자 안에 있는 콘텐츠에 액세스하도록 다른 앱에
+권한을 허가할 수 있게 해줍니다. 특정 문서에 대한 권한 부여를 유지하는 방법에 대한 논의는
 <a href="#permissions">권한 유지</a>를 참조하십시오.</li>
 
 <li>{@code MANAGE_DOCUMENTS} 권한. 기본적으로 제공자는 누구나 이용할 수 있습니다.
- 이 권한을 추가하면 여러분의 제공자를 시스템에 제한하게 됩니다. 
+ 이 권한을 추가하면 여러분의 제공자를 시스템에 제한하게 됩니다.
 이 제한은 보안상 매우 중요합니다.</li>
 
-<li>{@code android:enabled} 속성을 리소스 파일에서 정의한 부울 값으로 
-설정합니다. 이 속성의 목적은 Android 4.3 이하에서 실행되는 기기에서 제공자를 비활성화하는 데 있습니다. 
-예를 들어 {@code android:enabled="@bool/atLeastKitKat"} 등입니다. 이 속성을 
+<li>{@code android:enabled} 속성을 리소스 파일에서 정의한 부울 값으로
+설정합니다. 이 속성의 목적은 Android 4.3 이하에서 실행되는 기기에서 제공자를 비활성화하는 데 있습니다.
+예를 들어 {@code android:enabled="@bool/atLeastKitKat"} 등입니다. 이 속성을
 매니페스트에 추가하는 것 이외에도 다음과 같은 작업을 해야 합니다.
 <ul>
-<li>{@code res/values/} 아래의 {@code bool.xml} 리소스 파일에 
+<li>{@code res/values/} 아래의 {@code bool.xml} 리소스 파일에
 이 라인을 추가합니다. <pre>&lt;bool name=&quot;atLeastKitKat&quot;&gt;false&lt;/bool&gt;</pre></li>
 
-<li>{@code res/values-v19/} 아래의 {@code bool.xml} 리소스 파일에 
+<li>{@code res/values-v19/} 아래의 {@code bool.xml} 리소스 파일에
 이 라인을 추가합니다. <pre>&lt;bool name=&quot;atLeastKitKat&quot;&gt;true&lt;/bool&gt;</pre></li>
 </ul></li>
 
 <li>
-{@code android.content.action.DOCUMENTS_PROVIDER} 동작을 포함한 인텐트 필터가 있어야 
+{@code android.content.action.DOCUMENTS_PROVIDER} 동작을 포함한 인텐트 필터가 있어야
 시스템이 제공자를 검색할 때 여러분의 제공자가 선택기에 나타날 수 있습니다.</li>
 
 </ul>
@@ -619,31 +619,31 @@
 <h4 id="43">Android 4.3 이하에서 실행되는 기기 지원</h4>
 
 <p>
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트는 
-Android 4.4 이상에서 실행되는 기기에서만 사용할 수 있습니다. 
-애플리케이션이 {@link android.content.Intent#ACTION_GET_CONTENT}를 지원하도록 하여 
-Android 4.3 이하에서 실행되는 기기에도 적용되도록 하려면 Android 4.4 이상에서 실행되는 기기용 매니페스트에 있는 
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT} 인텐트는
+Android 4.4 이상에서 실행되는 기기에서만 사용할 수 있습니다.
+애플리케이션이 {@link android.content.Intent#ACTION_GET_CONTENT}를 지원하도록 하여
+Android 4.3 이하에서 실행되는 기기에도 적용되도록 하려면 Android 4.4 이상에서 실행되는 기기용 매니페스트에 있는
 {@link android.content.Intent#ACTION_GET_CONTENT}
- 인텐트 필터를 비활성화해야 합니다. 
-문서 제공자와 {@link android.content.Intent#ACTION_GET_CONTENT}는 상호 배타적인 것으로 
-간주해야 합니다. 둘을 모두 동시에 지원하는 경우, 앱이 시스템 선택기 UI에 
+ 인텐트 필터를 비활성화해야 합니다.
+문서 제공자와 {@link android.content.Intent#ACTION_GET_CONTENT}는 상호 배타적인 것으로
+간주해야 합니다. 둘을 모두 동시에 지원하는 경우, 앱이 시스템 선택기 UI에
 두 번 나타나 저장된 데이터에 액세스할 두 가지 서로 다른 방법을 제안하게 됩니다.
  이렇게 되면 사용자에게 혼동을 주게 되겠죠.</p>
 
-<p>다음은 Android 버전 4.4 이상에서 실행되는 기기용 
-{@link android.content.Intent#ACTION_GET_CONTENT} 인텐트 필터를 
+<p>다음은 Android 버전 4.4 이상에서 실행되는 기기용
+{@link android.content.Intent#ACTION_GET_CONTENT} 인텐트 필터를
 비활성화하는 데 권장되는 방법입니다.</p>
 
 <ol>
-<li>{@code res/values/} 아래의 {@code bool.xml} 리소스 파일에 
+<li>{@code res/values/} 아래의 {@code bool.xml} 리소스 파일에
 이 라인을 추가합니다. <pre>&lt;bool name=&quot;atMostJellyBeanMR2&quot;&gt;true&lt;/bool&gt;</pre></li>
 
-<li>{@code res/values-v19/} 아래의 {@code bool.xml} 리소스 파일에 
+<li>{@code res/values-v19/} 아래의 {@code bool.xml} 리소스 파일에
 이 라인을 추가합니다. <pre>&lt;bool name=&quot;atMostJellyBeanMR2&quot;&gt;false&lt;/bool&gt;</pre></li>
 
 <li>
-<a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">액티비티 
-별칭</a>을 추가하여 버전 4.4(API 레벨 19) 이상을 대상으로 한 {@link android.content.Intent#ACTION_GET_CONTENT} 
+<a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">액티비티
+별칭</a>을 추가하여 버전 4.4(API 레벨 19) 이상을 대상으로 한 {@link android.content.Intent#ACTION_GET_CONTENT}
 인텐트 필터를 비활성화합니다. 예:
 
 <pre>
@@ -666,13 +666,13 @@
 </ol>
 <h3 id="contract">계약</h3>
 
-<p>사용자 지정 제공자를 작성할 때면 일반적으로 수반되는 작업 중 하나가 
-계약 클래스를 구현하는 것입니다. 이는 
+<p>사용자 지정 제공자를 작성할 때면 일반적으로 수반되는 작업 중 하나가
+계약 클래스를 구현하는 것입니다. 이는
 <a href="{@docRoot}guide/topics/providers/content-provider-creating.html#ContractClass">
-콘텐츠 제공자</a> 개발자 가이드에서 설명한 것과 같습니다. 계약 클래스는 {@code public final} 클래스로, 
-이 안에 URI에 대한 상수 정의, 열 이름, MIME 유형 및 제공자에 관련된 
-다른 메타 데이터가 들어 있습니다. SAF가 
-이와 같은 계약 클래스를 대신 제공해주므로 직접 쓰지 않아도 
+콘텐츠 제공자</a> 개발자 가이드에서 설명한 것과 같습니다. 계약 클래스는 {@code public final} 클래스로,
+이 안에 URI에 대한 상수 정의, 열 이름, MIME 유형 및 제공자에 관련된
+다른 메타 데이터가 들어 있습니다. SAF가
+이와 같은 계약 클래스를 대신 제공해주므로 직접 쓰지 않아도
 됩니다.</p>
 
 <ul>
@@ -680,7 +680,7 @@
    <li>{@link android.provider.DocumentsContract.Root}</li>
 </ul>
 
-<p>예를 들어 다음은 여러분의 문서 제공자가 문서 또는 루트에 대해 쿼리된 경우 
+<p>예를 들어 다음은 여러분의 문서 제공자가 문서 또는 루트에 대해 쿼리된 경우
 커서로 반환할 수 있는 열을 나타낸 것입니다.</p>
 
 <pre>private static final String[] DEFAULT_ROOT_PROJECTION =
@@ -696,7 +696,7 @@
 
 <h3 id="subclass">하위 클래스 DocumentsProvider</h3>
 
-<p>사용자 지정 문서 제공자를 작성하기 위한 다음 단계는 
+<p>사용자 지정 문서 제공자를 작성하기 위한 다음 단계는
 추상 클래스 {@link android.provider.DocumentsProvider}를 하위 클래스로 만드는 것입니다. 최소한 다음과 같은 메서드를 구현해야 합니다.
 </p>
 
@@ -710,22 +710,22 @@
 <li>{@link android.provider.DocumentsProvider#openDocument openDocument()}</li>
 </ul>
 
-<p>꼭 구현해야만 하는 메서드는 이들뿐이지만, 개발자 여러분이 구현하고자 하는 메서드는 이보다 
-훨씬 많을 수도 있습니다. 자세한 내용은{@link android.provider.DocumentsProvider} 
+<p>꼭 구현해야만 하는 메서드는 이들뿐이지만, 개발자 여러분이 구현하고자 하는 메서드는 이보다
+훨씬 많을 수도 있습니다. 자세한 내용은{@link android.provider.DocumentsProvider}
 를 참조하십시오.</p>
 
 <h4 id="queryRoots">QueryRoots 구현</h4>
 
 <p>{@link android.provider.DocumentsProvider#queryRoots
-queryRoots()} 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며, 
-이는 문서 제공자의 모든 루트 디렉터리를 가리켜야 합니다. 이때 
+queryRoots()} 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며,
+이는 문서 제공자의 모든 루트 디렉터리를 가리켜야 합니다. 이때
 {@link android.provider.DocumentsContract.Root}에서 정의한 열을 사용합니다.</p>
 
-<p>다음 조각에서 {@code projection} 매개변수는 
+<p>다음 조각에서 {@code projection} 매개변수는
 발신자가 돌려받고자 하는 특정 필드를 나타냅니다. 이 조각은 새 커서를 생성하며
-그에 하나의 행을 추가합니다. 하나의 루트, 
-다운로드 또는 이미지와 같은 최상위 레벨 디렉터리가 해당됩니다.  대부분의 제공자에는 루트가 하나뿐입니다. 하나 이상이 있을 수도 있습니다. 
-예를 들어 사용자 계정이 여러 개인 경우가 있습니다. 그런 경우에는 커서에 두 번째 행을 
+그에 하나의 행을 추가합니다. 하나의 루트,
+다운로드 또는 이미지와 같은 최상위 레벨 디렉터리가 해당됩니다.  대부분의 제공자에는 루트가 하나뿐입니다. 하나 이상이 있을 수도 있습니다.
+예를 들어 사용자 계정이 여러 개인 경우가 있습니다. 그런 경우에는 커서에 두 번째 행을
 추가하면 됩니다.</p>
 
 <pre>
@@ -778,13 +778,13 @@
 
 <p>
 {@link android.provider.DocumentsProvider#queryChildDocuments queryChildDocuments()}
- 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며, 
-이는 지정된 디렉터리 내의 모든 파일을 가리켜야 합니다. 이때 
+ 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며,
+이는 지정된 디렉터리 내의 모든 파일을 가리켜야 합니다. 이때
 {@link android.provider.DocumentsContract.Document}에서 정의한 열을 사용합니다.</p>
 
-<p>이 메서드는 선택기 UI에서 애플리케이션 루트를 선택하는 경우 호출됩니다. 
-이는 해당 루트 아래 디렉터리의 하위 문서를 가져옵니다.  이것은 루트에서뿐만 아니라 파일 계층의 어느 레벨에서나 
-호출할 수 있습니다. 이 조각은 요청한 열로 새 커서를 만든 다음, 
+<p>이 메서드는 선택기 UI에서 애플리케이션 루트를 선택하는 경우 호출됩니다.
+이는 해당 루트 아래 디렉터리의 하위 문서를 가져옵니다.  이것은 루트에서뿐만 아니라 파일 계층의 어느 레벨에서나
+호출할 수 있습니다. 이 조각은 요청한 열로 새 커서를 만든 다음,
 상위 디렉터리에 있는 모든 직속 하위에 대한 정보를 커서에 추가합니다.
 하위는 이미지, 또 다른 디렉터리가 될 수도 있고
 어느 파일이라도 될 수 있습니다.</p>
@@ -808,13 +808,13 @@
 
 <p>
 {@link android.provider.DocumentsProvider#queryDocument queryDocument()}
- 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며, 
+ 구현은 반드시 {@link android.database.Cursor}를 반환해야 하며,
 이는 지정된 파일을 가리켜야 합니다. 이때 {@link android.provider.DocumentsContract.Document}에서 정의한 열을 사용합니다.
 </p>
 
 <p>{@link android.provider.DocumentsProvider#queryDocument queryDocument()}
- 메서드는 
-{@link android.provider.DocumentsProvider#queryChildDocuments queryChildDocuments()}에서 
+ 메서드는
+{@link android.provider.DocumentsProvider#queryChildDocuments queryChildDocuments()}에서
 전달된 것과 같은 정보를 반환하지만, 특정한 파일에만 해당됩니다.</p>
 
 
@@ -832,12 +832,12 @@
 
 <h4 id="openDocument">OpenDocument 구현</h4>
 
-<p>지정된 파일을 나타내는 
+<p>지정된 파일을 나타내는
 {@link android.os.ParcelFileDescriptor}를 반환하려면 {@link android.provider.DocumentsProvider#openDocument
 openDocument()}를 구현해야 합니다. 다른 앱들이 반환된 {@link android.os.ParcelFileDescriptor}를
- 사용하여 데이터를 스트리밍할 수 있습니다. 시스템은 사용자가 파일을 선택하고 
-클라이언트 앱이 이에 대한 액세스를 요청하면서 
-{@link android.content.ContentResolver#openFileDescriptor openFileDescriptor()}를 사용할 때 이 메서드를 호출합니다. 
+ 사용하여 데이터를 스트리밍할 수 있습니다. 시스템은 사용자가 파일을 선택하고
+클라이언트 앱이 이에 대한 액세스를 요청하면서
+{@link android.content.ContentResolver#openFileDescriptor openFileDescriptor()}를 사용할 때 이 메서드를 호출합니다.
 예를 들면 다음과 같습니다.</p>
 
 <pre>&#64;Override
@@ -885,8 +885,8 @@
 <h3 id="security">보안</h3>
 
 <p>여러분의 문서 제공자가 암호로 보호된 클라우드 저장소 서비스이고
-여러분은 사용자가 파일을 공유하기 전에 우선 로그인부터 하도록 확실히 해두고 싶다고 가정합니다. 
-사용자가 로그인되지 않은 경우 앱은 어떻게 해야 합니까?  해법은 
+여러분은 사용자가 파일을 공유하기 전에 우선 로그인부터 하도록 확실히 해두고 싶다고 가정합니다.
+사용자가 로그인되지 않은 경우 앱은 어떻게 해야 합니까?  해법은
 {@link android.provider.DocumentsProvider#queryRoots
 queryRoots()} 구현에서 루트를 반환하지 않는 것입니다. 다시 말해, 텅 빈 루트 커서를 반환하는 것입니다.</p>
 
@@ -901,11 +901,11 @@
 </pre>
 
 <p>또 다른 단계는 {@code getContentResolver().notifyChange()}를 호출하는 것입니다.
-{@link android.provider.DocumentsContract}를 기억하십니까?  이것을 사용하는 이유는 
-바로 이 URI를 만들기 위해서입니다. 다음 조각은 사용자의 로그인 상태가 변경될 때마다 
-시스템이 문서 제공자의 루트를 쿼리하도록 지시하고 있습니다. 사용자가 로그인되어 있지 않은 상태에서 
-{@link android.provider.DocumentsProvider#queryRoots queryRoots()}를 호출하면 
-위에서 나타낸 것과 같이 빈 커서를 반환합니다. 이렇게 하면 사용자가 제공자에 로그인되었을 때만 
+{@link android.provider.DocumentsContract}를 기억하십니까?  이것을 사용하는 이유는
+바로 이 URI를 만들기 위해서입니다. 다음 조각은 사용자의 로그인 상태가 변경될 때마다
+시스템이 문서 제공자의 루트를 쿼리하도록 지시하고 있습니다. 사용자가 로그인되어 있지 않은 상태에서
+{@link android.provider.DocumentsProvider#queryRoots queryRoots()}를 호출하면
+위에서 나타낸 것과 같이 빈 커서를 반환합니다. 이렇게 하면 사용자가 제공자에 로그인되었을 때만
 제공자의 문서를 사용할 수 있도록 보장할 수 있습니다.</p>
 
 <pre>private void onLoginButtonClick() {
diff --git a/docs/html-intl/intl/ko/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/ko/guide/topics/resources/accessing-resources.jd
index be9dd6b..f323280 100644
--- a/docs/html-intl/intl/ko/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/ko/guide/topics/resources/accessing-resources.jd
@@ -7,7 +7,7 @@
 <div id="qv">
   <h2>간략히 보기</h2>
   <ul>
-    <li>리소스는 {@code R.java}의 정수를 사용하는 코드, 예를 들어 
+    <li>리소스는 {@code R.java}의 정수를 사용하는 코드, 예를 들어
 {@code R.drawable.myimage}에서 참조할 수 있습니다.</li>
     <li>리소스는 특수 XML 구문을 사용하는 리소스, 예를 들어 {@code
 &#64;drawable/myimage}에서 참조할 수 있습니다.</li>
@@ -42,25 +42,25 @@
 
 
 
-<p>일단 어떤 리소스를 애플리케이션에 제공한 다음에는(<a href="providing-resources.html">리소스 제공</a>에서 논의), 
-해당 리소스의 리소스 ID를 참조함으로써 이를 적용할 수 있습니다. 모든 리소스 ID는 
+<p>일단 어떤 리소스를 애플리케이션에 제공한 다음에는(<a href="providing-resources.html">리소스 제공</a>에서 논의),
+해당 리소스의 리소스 ID를 참조함으로써 이를 적용할 수 있습니다. 모든 리소스 ID는
 {@code aapt} 도구가 자동으로 생성하는 프로젝트의 {@code R} 클래스에서 정의됩니다.</p>
 
 <p>애플리케이션이 컴파일링되면, {@code aapt}가 {@code R} 클래스를 생성하며, 이 클래스 안에 {@code
-res/} 디렉터리에 있는 모든 리소스의 
-리소스 ID가 들어있습니다. 각 리소스 유형에는 {@code R} 하위 클래스가 있고(예: 모든 드로어블 리소스에 대한 
+res/} 디렉터리에 있는 모든 리소스의
+리소스 ID가 들어있습니다. 각 리소스 유형에는 {@code R} 하위 클래스가 있고(예: 모든 드로어블 리소스에 대한
 {@code R.drawable}), 해당 유형의 각 리소스에는 정적
-정수가 있습니다(예: {@code R.drawable.icon}). 이 정수가 
+정수가 있습니다(예: {@code R.drawable.icon}). 이 정수가
 리소스를 검색하는 데 사용할 수 있는 리소스 ID입니다.</p>
 
-<p>{@code R} 클래스가 리소스 ID가 지정되는 곳이기는 하지만, 리소스 ID를 찾기 위해 
+<p>{@code R} 클래스가 리소스 ID가 지정되는 곳이기는 하지만, 리소스 ID를 찾기 위해
 이곳을 볼 필요는 전혀 없습니다. 하나의 리소스 ID는 항상 다음과 같이 구성됩니다.</p>
 <ul>
   <li><em>리소스 유형</em>: 각 리소스는 "유형"으로 그룹화됩니다. 예: {@code
 string}, {@code drawable} 및 {@code layout} 다양한 유형에 관한 자세한 정보는 <a href="available-resources.html">리소스 유형</a>을 참조하십시오.
   </li>
-  <li><em>리소스 이름</em>: 
-리소스가 단순 값(예: 문자열 등)일 경우, 
+  <li><em>리소스 이름</em>:
+리소스가 단순 값(예: 문자열 등)일 경우,
 확장자를 제외한 파일 이름이나 XML {@code android:name} 속성 값 중 하나입니다.</li>
 </ul>
 
@@ -69,14 +69,14 @@
   <li><strong>코드 내부에서:</strong> {@code R}
 클래스의 하위 클래스에서 정적 정수를 사용합니다. 예:
     <pre class="classic no-pretty-print">R.string.hello</pre>
-    <p>{@code string}은 리소스 유형이고 {@code hello}는 리소스 이름입니다. 리소스 ID를 이 형식으로 제공하면 리소스에 액세스할 수 있는 
-Android API가 많습니다. 
+    <p>{@code string}은 리소스 유형이고 {@code hello}는 리소스 이름입니다. 리소스 ID를 이 형식으로 제공하면 리소스에 액세스할 수 있는
+Android API가 많습니다.
 <a href="#ResourcesFromCode">코드 내 리소스 액세스</a>를 참조하십시오.</p>
   </li>
-  <li><strong>XML 내부에서:</strong> {@code R} 클래스에서 정의된 
+  <li><strong>XML 내부에서:</strong> {@code R} 클래스에서 정의된
 리소스 ID에 상응하기도 하는 특수 XML 구문을 사용합니다. 예:
     <pre class="classic no-pretty-print">&#64;string/hello</pre>
-    <p>{@code string}은 리소스 유형이고 {@code hello}는 리소스 이름입니다. 이 
+    <p>{@code string}은 리소스 유형이고 {@code hello}는 리소스 이름입니다. 이
 구문은 리소스로 값을 제공할 것으로 예상되는 어느 곳에서나 XML 리소스 형태로 사용할 수 있습니다. <a href="#ResourcesFromXml">XML에서 리소스 액세스</a>를 참조하십시오.</p>
   </li>
 </ul>
@@ -94,20 +94,20 @@
 </pre>
 
 <p>{@link
-android.content.res.Resources}에서 메서드를 사용하는 개별 리소스를 검색할 수도 있으며, 이는 
+android.content.res.Resources}에서 메서드를 사용하는 개별 리소스를 검색할 수도 있으며, 이는
 {@link android.content.Context#getResources()}로 인스턴스를 가져올 수 있습니다.</p>
 
 <div class="sidebox-wrapper">
 <div class="sidebox">
 <h2>원본 파일에 액세스</h2>
 
-<p>흔한 일은 아니지만, 원본 파일과 디렉터리에 액세스해야 하는 경우가 있습니다. 이 경우에는 
-{@code res/}에 파일을 저장하더라도 소용이 없습니다. 
-{@code res/}에서 리소스를 읽는 방법은 리소스 ID를 사용하는 것뿐이기 때문입니다. 그 대신 리소스를 
+<p>흔한 일은 아니지만, 원본 파일과 디렉터리에 액세스해야 하는 경우가 있습니다. 이 경우에는
+{@code res/}에 파일을 저장하더라도 소용이 없습니다.
+{@code res/}에서 리소스를 읽는 방법은 리소스 ID를 사용하는 것뿐이기 때문입니다. 그 대신 리소스를
 {@code assets/} 디렉터리에 저장하면 됩니다.</p>
 <p>{@code assets/} 디렉터리에 저장된 파일은 리소스
-ID가 부여되지 <em>않으므로</em>, 이와 같은 리소스는 {@code R} 클래스나 XML 리소스에서 참조할 수 없습니다. 그 대신 
-일반 파일 시스템처럼 {@code assets/} 디렉터리에 파일을 쿼리하고 
+ID가 부여되지 <em>않으므로</em>, 이와 같은 리소스는 {@code R} 클래스나 XML 리소스에서 참조할 수 없습니다. 그 대신
+일반 파일 시스템처럼 {@code assets/} 디렉터리에 파일을 쿼리하고
 {@link android.content.res.AssetManager}를 사용하여 원시 데이터를 읽을 수 있습니다.</p>
 <p>하지만 필요한 것이 원시 데이터(동영상 또는 오디오 파일 등)를 읽는 능력뿐인 경우라면,
 파일을 {@code res/raw/} 디렉터리에 저장한 다음 일련의 바이트 스트림을 {@link
@@ -184,10 +184,10 @@
 <h2 id="ResourcesFromXml">XML에서 리소스 액세스</h2>
 
 <p>기존 리소스에 대한 참조를 사용하여
-일부 XML 속성과 요소의 값을 정의할 수 있습니다. 이 작업은 레이아웃 파일을 생성할 때 위젯에 문자열과 이미지를 제공하기 위해 
+일부 XML 속성과 요소의 값을 정의할 수 있습니다. 이 작업은 레이아웃 파일을 생성할 때 위젯에 문자열과 이미지를 제공하기 위해
 자주 하게 됩니다.</p>
 
-<p>예를 들어, 레이아웃에 {@link android.widget.Button}을 추가하면 
+<p>예를 들어, 레이아웃에 {@link android.widget.Button}을 추가하면
 해당 버튼 텍스트에 <a href="string-resource.html">문자열 리소스</a>를 사용해야 합니다.</p>
 
 <pre>
@@ -209,7 +209,7 @@
 <ul>
   <li>{@code &lt;package_name&gt;}은(는) 리소스가 위치한 패키지의 이름입니다(
 같은 패키지의 리소스를 참조할 경우에는 필요하지 않습니다).</li>
-  <li>{@code &lt;resource_type&gt;}은(는) 해당 리소스 유형의 
+  <li>{@code &lt;resource_type&gt;}은(는) 해당 리소스 유형의
 {@code R} 하위 클래스입니다.</li>
   <li>{@code &lt;resource_name&gt;}은(는) 확장자가 없는 리소스 파일 이름이거나
 XML 요소의 {@code android:name} 속성 값입니다(단순
@@ -234,7 +234,7 @@
 &lt;/resources>
 </pre>
 
-<p>텍스트 색상과 
+<p>텍스트 색상과
 텍스트 문자열을 설정하는 데 이와 같은 리소스를 다음의 레이아웃 파일에서 사용할 수 있습니다.</p>
 
 <pre>
@@ -247,7 +247,7 @@
 </pre>
 
 <p>이 경우, 리소스를 자체 패키지에서 가져왔으므로 리소스 참조에 패키지 이름을
-지정하지 않아도 됩니다. 
+지정하지 않아도 됩니다.
 시스템 리소스를 참조하려면 패키지 이름을 포함해야 합니다. 예:</p>
 
 <pre>
@@ -260,13 +260,13 @@
 </pre>
 
 <p class="note"><strong>참고:</strong> 항상 문자열 리소스를 사용해야
-사용자의 애플리케이션이 다른 언어에 맞게 지역화될 수 있습니다. 
+사용자의 애플리케이션이 다른 언어에 맞게 지역화될 수 있습니다.
 대체
 리소스(예: 지역화된 문자열) 생성에 관한 자세한 정보는 <a href="providing-resources.html#AlternativeResources">대체
 리소스 제공</a>을 참조하십시오. 다른 언어로 애플리케이션을 지역화하기 위한 전체 지침은
 <a href="localization.html">지역화</a>를 참조하십시오.</p>
 
-<p>XML의 리소스를 사용하여 별명을 생성할 수도 있습니다. 예를 들어, 드로어블 리소스이면서 
+<p>XML의 리소스를 사용하여 별명을 생성할 수도 있습니다. 예를 들어, 드로어블 리소스이면서
 또 다른 드로어블 리소스의 별명인 것을 생성할 수 있습니다.</p>
 
 <pre>
@@ -275,7 +275,7 @@
     android:src="@drawable/other_drawable" />
 </pre>
 
-<p>이것은 일견 중복되는 것처럼 들리지만, 대체 리소스를 사용할 때 매우 유용하게 쓰일 수 있습니다. 
+<p>이것은 일견 중복되는 것처럼 들리지만, 대체 리소스를 사용할 때 매우 유용하게 쓰일 수 있습니다.
 <a href="providing-resources.html#AliasResources">별명 리소스 생성</a>에 관해 자세히 알아보십시오.</p>
 
 
@@ -283,20 +283,20 @@
 <h3 id="ReferencesToThemeAttributes">스타일 속성 참조</h3>
 
 <p>스타일 속성 리소스는 현재 적용된 테마의 속성 값을
-참조할 수 있게 해줍니다. 스타일 속성을 참조하면 
-하드 코드로 작성된 값을 제공하는 것 대신에 UI 요소의 외관을 사용자 지정하여 
-현재 테마에서 제공한 표준 변형에 맞춰 스타일링할 수 있습니다. 스타일 속성을 참조하는 것은 
+참조할 수 있게 해줍니다. 스타일 속성을 참조하면
+하드 코드로 작성된 값을 제공하는 것 대신에 UI 요소의 외관을 사용자 지정하여
+현재 테마에서 제공한 표준 변형에 맞춰 스타일링할 수 있습니다. 스타일 속성을 참조하는 것은
 기본적으로 "이 속성이 정의한 스타일을 현재 테마로 사용하라"는 말과 같습니다.</p>
 
-<p>스타일 속성을 참조하는 경우, 이름 구문은 보통 
-리소스와 거의 똑같습니다. 다만 앳 기호({@code @})를 사용하는 대신 물음표({@code ?})를 사용하며, 
+<p>스타일 속성을 참조하는 경우, 이름 구문은 보통
+리소스와 거의 똑같습니다. 다만 앳 기호({@code @})를 사용하는 대신 물음표({@code ?})를 사용하며,
 리소스 유형 부분이 선택 사항이라는 점만이 다릅니다. 예:</p>
 
 <pre class="classic">
 ?[<em>&lt;package_name&gt;</em>:][<em>&lt;resource_type&gt;</em>/]<em>&lt;resource_name&gt;</em>
 </pre>
 
-<p>예컨대 다음은 텍스트 색상을 시스템 테마의 "기본" 텍스트 색상에 
+<p>예컨대 다음은 텍스트 색상을 시스템 테마의 "기본" 텍스트 색상에
 일치하도록 설정하기 위해 속성을 참조하는 방법을 나타낸 것입니다.</p>
 
 <pre>
@@ -307,7 +307,7 @@
     android:text=&quot;&#64;string/hello_world&quot; /&gt;
 </pre>
 
-<p>여기서 {@code android:textColor} 속성이 주어진 스타일 속성의 이름을 현재 테마대로 
+<p>여기서 {@code android:textColor} 속성이 주어진 스타일 속성의 이름을 현재 테마대로
 지정합니다. Android는 이제 {@code android:textColorSecondary}
 스타일 속성에 적용된 값을 이 위젯의 {@code android:textColor}에 대한 값으로 사용합니다. 시스템
 리소스 도구는 속성 리소스가 이 컨텍스트에서 예상된다는 것을 알기 때문에
@@ -319,9 +319,9 @@
 
 <h2 id="PlatformResources">플랫폼 리소스 액세스</h2>
 
-<p>Android에는 스타일, 테마 및 레이아웃 등 여러 가지 표준 리소스가 포함되어 있습니다. 
-이와 같은 리소스에 액세스하려면 
-<code>android</code> 패키지 이름으로 리소스 참조를 한정합니다. 예를 들어 Android는 
+<p>Android에는 스타일, 테마 및 레이아웃 등 여러 가지 표준 리소스가 포함되어 있습니다.
+이와 같은 리소스에 액세스하려면
+<code>android</code> 패키지 이름으로 리소스 참조를 한정합니다. 예를 들어 Android는
 {@link android.widget.ListAdapter}의 목록 항목으로 사용할 수 있는 레이아웃 리소스를 제공합니다.</p>
 
 <pre>
@@ -330,8 +330,8 @@
 android.widget.ArrayAdapter}&lt;String&gt;(this, <strong>android.R.layout.simple_list_item_1</strong>, myarray));
 </pre>
 
-<p>이 예시에서 {@link android.R.layout#simple_list_item_1}은 
-{@link android.widget.ListView}의 항목에 대해 플랫폼이 정의한 레이아웃 리소스입니다. 목록 항목에 대해 나름의 레이아웃을 
-만드는 대신 이것을 사용해도 됩니다. 자세한 내용은 
+<p>이 예시에서 {@link android.R.layout#simple_list_item_1}은
+{@link android.widget.ListView}의 항목에 대해 플랫폼이 정의한 레이아웃 리소스입니다. 목록 항목에 대해 나름의 레이아웃을
+만드는 대신 이것을 사용해도 됩니다. 자세한 내용은
 <a href="{@docRoot}guide/topics/ui/layout/listview.html">목록 보기</a> 개발자 가이드를 참조하십시오.</p>
 
diff --git a/docs/html-intl/intl/ko/guide/topics/resources/overview.jd b/docs/html-intl/intl/ko/guide/topics/resources/overview.jd
index e98a677..7faab59 100644
--- a/docs/html-intl/intl/ko/guide/topics/resources/overview.jd
+++ b/docs/html-intl/intl/ko/guide/topics/resources/overview.jd
@@ -19,13 +19,13 @@
 </div>
 
 
-<p>이미지나 문자열 같은 리소스는 항상 애플리케이션 코드에서 
-외부화하여 독립적으로 유지해야 합니다. 리소스를 외부화하면 
+<p>이미지나 문자열 같은 리소스는 항상 애플리케이션 코드에서
+외부화하여 독립적으로 유지해야 합니다. 리소스를 외부화하면
 다양한 언어나 화면 크기와 같은 특정 기기 구성을 지원하는
 대체 리소스를 제공할 수 있습니다. 이러한 기능은 Android 구동 장치를
-다양한 구성에서 이용하게 되면서 점점 더 중요해지고 있습니다. 여러 가지 구성에 
-호환성을 제공하려면 프로젝트의 
-{@code res/} 디렉터리 안에 리소스를 정리해야 합니다. 이때 여러 가지 하위 디렉터리를 사용하여 리소스를 유형과 구성 
+다양한 구성에서 이용하게 되면서 점점 더 중요해지고 있습니다. 여러 가지 구성에
+호환성을 제공하려면 프로젝트의
+{@code res/} 디렉터리 안에 리소스를 정리해야 합니다. 이때 여러 가지 하위 디렉터리를 사용하여 리소스를 유형과 구성
 기준으로 그룹화하면 좋습니다.</p>
 
 <div class="figure" style="width:429px">
@@ -38,7 +38,7 @@
 <div class="figure" style="width:429px">
 <img src="{@docRoot}images/resources/resource_devices_diagram2.png" height="167" alt="" />
 <p class="img-caption">
-<strong>그림 2.</strong> 서로 다른 두 개의 기기로, 각각 다른 화면 크기에 맞게 제공된 서로 다른 
+<strong>그림 2.</strong> 서로 다른 두 개의 기기로, 각각 다른 화면 크기에 맞게 제공된 서로 다른
 레이아웃을 사용하고 있습니다.</p>
 </div>
 
@@ -46,42 +46,42 @@
 <em>대체</em> 리소스를 지정할 수 있습니다.</p>
 <ul>
   <li>기본 리소스는 기기 구성에 관계없이 항상 사용하거나
-기존 구성에 일치하는 대체 리소스가 없을 때 
+기존 구성에 일치하는 대체 리소스가 없을 때
 사용합니다.</li>
-  <li>대체 리소스는 특정 구성에서 사용하기 위해 개발자가 특별히 디자인한 것을 
-말합니다. 리소스 그룹을 특정 구성용으로 지정하려면, 
+  <li>대체 리소스는 특정 구성에서 사용하기 위해 개발자가 특별히 디자인한 것을
+말합니다. 리소스 그룹을 특정 구성용으로 지정하려면,
 디렉터리 이름에 적절한 구성 한정자를 추가하십시오.</li>
 </ul>
 
-<p>예를 들어 기본 UI 레이아웃은 
-{@code res/layout/} 디렉터리에 저장되어 있더라도 화면이 가로 방향일 때 사용할 
+<p>예를 들어 기본 UI 레이아웃은
+{@code res/layout/} 디렉터리에 저장되어 있더라도 화면이 가로 방향일 때 사용할
 다른 레이아웃을 지정할 수도 있습니다. 이를 {@code res/layout-land/}
 디렉터리에 저장하면 됩니다. Android는
 기기의 현재 구성을 리소스 디렉터리 이름과 일치시켜서 적절한 리소스를 적용합니다.</p>
 
-<p>그림 1은 이용 가능한 대체 리소스가 없을 경우 시스템이 서로 다른 두 개의 기기에 
-같은 레이아웃을 적용하는 방법을 보여줍니다. 그림 2는 
+<p>그림 1은 이용 가능한 대체 리소스가 없을 경우 시스템이 서로 다른 두 개의 기기에
+같은 레이아웃을 적용하는 방법을 보여줍니다. 그림 2는
 같은 애플리케이션에 큰 화면용 레이아웃 리소스를 추가한 모습을 나타낸 것입니다.</p>
 
-<p>다음 문서는 대체 리소스를 체계화하고, 
+<p>다음 문서는 대체 리소스를 체계화하고,
 대체 리소스를 지정하고, 애플리케이션에 액세스 하는 등의 방법에 관한 완전한 지침을 제공합니다.</p>
 
 <dl>
   <dt><strong><a href="providing-resources.html">리소스 제공</a></strong></dt>
-  <dd>앱에 포함할 수 있는 여러 가지 종류의 리소스와, 이러한 리소스를 저장하는 장소, 특정 기기 구성에 대한 
+  <dd>앱에 포함할 수 있는 여러 가지 종류의 리소스와, 이러한 리소스를 저장하는 장소, 특정 기기 구성에 대한
 대체 리소스를 생성하는 방법입니다.</dd>
   <dt><strong><a href="accessing-resources.html">리소스 액세스</a></strong></dt>
-  <dd>제공한 리소스를 사용하는 방법입니다. 이를 애플리케이션 코드에서 참조하거나 
+  <dd>제공한 리소스를 사용하는 방법입니다. 이를 애플리케이션 코드에서 참조하거나
 다른 XML 리소스에서 참조하는 방식을 씁니다.</dd>
   <dt><strong><a href="runtime-changes.html">런타임 변경 처리</a></strong></dt>
   <dd>액티비티가 실행 중인 동안 발생한 구성 변경을 관리하는 방법입니다.</dd>
   <dt><strong><a href="localization.html">지역화</a></strong></dt>
-  <dd>대체 리소스를 사용하여 애플리케이션을 지역화하는 방법에 대한 상세한 가이드입니다. 이것은 대체 
-리소스를 사용하는 한 가지 방법에 불과하지만, 더 많은 사용자에게 도달하려면 매우 중요한 
+  <dd>대체 리소스를 사용하여 애플리케이션을 지역화하는 방법에 대한 상세한 가이드입니다. 이것은 대체
+리소스를 사용하는 한 가지 방법에 불과하지만, 더 많은 사용자에게 도달하려면 매우 중요한
 방법입니다.</dd>
   <dt><strong><a href="available-resources.html">리소스 유형</a></strong></dt>
-  <dd>개발자가 제공할 수 있는 다양한 리소스 유형의 참조로, 각각의 XML 요소, 
-속성과 구문을 설명하는 것입니다. 예를 들어, 이 참조는 애플리케이션 메뉴와 드로어블 리소스, 
+  <dd>개발자가 제공할 수 있는 다양한 리소스 유형의 참조로, 각각의 XML 요소,
+속성과 구문을 설명하는 것입니다. 예를 들어, 이 참조는 애플리케이션 메뉴와 드로어블 리소스,
 애니메이션에 대한 리소스를 생성하는 법을 보여줍니다.</dd>
 </dl>
 
diff --git a/docs/html-intl/intl/ko/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/ko/guide/topics/resources/providing-resources.jd
index 681cbb3..bc631f2 100644
--- a/docs/html-intl/intl/ko/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/ko/guide/topics/resources/providing-resources.jd
@@ -9,7 +9,7 @@
   <ul>
     <li>{@code res/}의 여러 가지 하위 디렉터리에 속한 여러 가지 유형의 리소스</li>
     <li>구성별 리소스 파일을 제공하는 대체 리소스</li>
-    <li>항상 기본 리소스를 포함해야 앱이 특정 기기 구성에 
+    <li>항상 기본 리소스를 포함해야 앱이 특정 기기 구성에
 좌우되지 않습니다.</li>
   </ul>
   <h2>이 문서의 내용</h2>
@@ -29,23 +29,23 @@
   <ol>
     <li><a href="accessing-resources.html">리소스 액세스</a></li>
     <li><a href="available-resources.html">리소스 유형</a></li>
-    <li><a href="{@docRoot}guide/practices/screens_support.html">다중 
+    <li><a href="{@docRoot}guide/practices/screens_support.html">다중
 화면 지원</a></li>
   </ol>
 </div>
 </div>
 
-<p>이미지나 문자열과 같은 애플리케이션 리소스는 항상 코드에서 외부화해야 합니다. 
-그래야 이들을 독립적으로 유지관리할 수 있습니다. 특정 기기 구성에 대한 대체 리소스도 
-제공해야 합니다. 이것은 특별하게 명명한 리소스 디렉터리에 그룹화하는 방법을 씁니다. Android는 
-런타임에 현재 구성을 근거로 적절한 리소스를 사용합니다. 예를 들어 
-여러 가지 화면 크기에 따라 여러 가지 UI 레이아웃을 제공하거나 언어 설정에 따라 
+<p>이미지나 문자열과 같은 애플리케이션 리소스는 항상 코드에서 외부화해야 합니다.
+그래야 이들을 독립적으로 유지관리할 수 있습니다. 특정 기기 구성에 대한 대체 리소스도
+제공해야 합니다. 이것은 특별하게 명명한 리소스 디렉터리에 그룹화하는 방법을 씁니다. Android는
+런타임에 현재 구성을 근거로 적절한 리소스를 사용합니다. 예를 들어
+여러 가지 화면 크기에 따라 여러 가지 UI 레이아웃을 제공하거나 언어 설정에 따라
 각기 다른 문자열을 제공하고자 할 수 있습니다.</p>
 
 <p>애플리케이션 리소스를 외부화하면
 프로젝트 {@code R} 클래스에서 발생하는 리소스 ID로 액세스할 수 있습니다. 애플리케이션에서
 리소스를 사용하는 방법은 <a href="accessing-resources.html">리소스
-액세스</a>에서 설명합니다. 이 문서에서는 Android 프로젝트에서 리소스를 그룹화하는 방법과 특정 기기 구성에 대한 
+액세스</a>에서 설명합니다. 이 문서에서는 Android 프로젝트에서 리소스를 그룹화하는 방법과 특정 기기 구성에 대한
 대체 리소스를 제공하는 법을 보여드립니다.</p>
 
 
@@ -75,10 +75,10 @@
 ) 포함하는 것을 볼 수 있습니다. 리소스 디렉터리 이름은
 중요하며 표1에 설명되어 있습니다.</p>
 
-<p class="note"><strong>참고:</strong> Mipmap 폴더를 사용하는 자세한 방법은 
+<p class="note"><strong>참고:</strong> Mipmap 폴더를 사용하는 자세한 방법은
 <a href="{@docRoot}tools/projects/index.html#mipmap">프로젝트 관리 개요</a>를 참조하십시오.</p>
 
-<p class="table-caption" id="table1"><strong>표 1</strong>. 프로젝트 
+<p class="table-caption" id="table1"><strong>표 1</strong>. 프로젝트
 {@code res/} 디렉터리 내부에서 지원하는 리소스 디렉터리입니다.</p>
 
 <table>
@@ -89,13 +89,13 @@
 
   <tr>
     <td><code>animator/</code></td>
-    <td><a href="{@docRoot}guide/topics/graphics/prop-animation.html">속성 
+    <td><a href="{@docRoot}guide/topics/graphics/prop-animation.html">속성
 애니메이션</a>을 정의하는 XML 파일입니다.</td>
   </tr>
 
   <tr>
     <td><code>anim/</code></td>
-    <td><a href="{@docRoot}guide/topics/graphics/view-animation.html#tween-animation">tween 
+    <td><a href="{@docRoot}guide/topics/graphics/view-animation.html#tween-animation">tween
 애니메이션</a>을 정의하는 XML 파일입니다 (속성 애니메이션도 이 디렉터리에 저장할 수 있지만
 두 가지 유형을 구분하기 위해 속성 애니메이션에는 {@code animator/} 디렉터리가 기본 설정됩니다
 ).</td>
@@ -126,8 +126,8 @@
 
   <tr>
     <td><code>mipmap/</code></td>
-    <td>각기 다른 시작 관리자 아이콘 밀도에 대한 드로어블 파일입니다. 
-{@code mipmap/} 폴더로 시작 관리자 아이콘을 관리하는 자세한 방법은 
+    <td>각기 다른 시작 관리자 아이콘 밀도에 대한 드로어블 파일입니다.
+{@code mipmap/} 폴더로 시작 관리자 아이콘을 관리하는 자세한 방법은
 <a href="{@docRoot}tools/project/index.html#mipmap">프로젝트 관리 개요</a>를 참조하십시오.</td>
   </tr>
 
@@ -139,32 +139,32 @@
 
   <tr>
     <td><code>menu/</code></td>
-    <td>옵션 메뉴, 컨텍스트 메뉴 또는 하위 
+    <td>옵션 메뉴, 컨텍스트 메뉴 또는 하위
 메뉴 등과 같은 애플리케이션 메뉴를 정의하는 XML입니다. <a href="menu-resource.html">메뉴 리소스</a>를 참조하십시오.</td>
   </tr>
 
   <tr>
     <td><code>raw/</code></td>
-    <td><p>원시 형태로 저장하기 위한 임의의 파일입니다. 원시 
+    <td><p>원시 형태로 저장하기 위한 임의의 파일입니다. 원시
 {@link java.io.InputStream}으로 이런 리소스를 열려면 리소스 ID, {@code R.raw.<em>filename</em>}으로 {@link android.content.res.Resources#openRawResource(int)
 Resources.openRawResource()}를 호출합니다.</p>
-      <p>그러나 원본 파일 이름과 파일 계층에 액세스해야 하는 경우, 
+      <p>그러나 원본 파일 이름과 파일 계층에 액세스해야 하는 경우,
 ({@code res/raw/}가 아니라) {@code
-assets/} 디렉터리에 몇몇 리소스를 저장해두는 것을 고려해 볼 수 있습니다. {@code assets/}에 있는 파일에는 
+assets/} 디렉터리에 몇몇 리소스를 저장해두는 것을 고려해 볼 수 있습니다. {@code assets/}에 있는 파일에는
 리소스 ID가 주어지지 않으므로, 이들을 읽는 유일한 방법은 {@link android.content.res.AssetManager}를 사용하는 것뿐입니다.</p></td>
   </tr>
 
   <tr>
     <td><code>values/</code></td>
     <td><p>문자열, 정수 및 색과 같은 단순 값이 들어있는 XML 파일입니다.</p>
-      <p>다른 {@code res/} 하위 디렉터리에 있는 XML 리소스 파일은 XML 파일 이름을 근거로 
+      <p>다른 {@code res/} 하위 디렉터리에 있는 XML 리소스 파일은 XML 파일 이름을 근거로
 하나의 리소스를 정의하는 반면, {@code values/} 디렉터리에 있는 파일은 여러 개의 리소스를 설명합니다.
-이 디렉터리 안에 있는 파일의 경우, {@code &lt;resources&gt;} 요소의 각 하위 요소가 리소스를 하나씩 
-정의합니다. 예를 들어 {@code &lt;string&gt;} 요소는 
+이 디렉터리 안에 있는 파일의 경우, {@code &lt;resources&gt;} 요소의 각 하위 요소가 리소스를 하나씩
+정의합니다. 예를 들어 {@code &lt;string&gt;} 요소는
 {@code R.string} 리소스를 생성하고 {@code &lt;color&gt;} 요소는 {@code R.color}
  리소스를 생성합니다.</p>
       <p>각 리소스가 자체 XML 요소로 정의되므로, 원하는 대로 파일을 정의하고 하나의 파일에 여러 가지 리소스 유형을
-배정할 수 있습니다. 하지만 명확히 하려면 여러 가지 파일에 
+배정할 수 있습니다. 하지만 명확히 하려면 여러 가지 파일에
 각기 고유한 리소스를 배치하는 것이 좋을 수도 있습니다. 예를 들어, 다음은 이 디렉터리에서 생성할 수 있는 리소스를 위한
 파일 이름 명명법입니다.</p>
       <ul>
@@ -176,7 +176,7 @@
         <li><a href="style-resource.html">스타일</a>을 위한 styles.xml</li>
       </ul>
       <p><a href="string-resource.html">문자열 리소스</a>,
-<a href="style-resource.html">스타일 리소스</a> 및 
+<a href="style-resource.html">스타일 리소스</a> 및
 <a href="more-resources.html">자세한 리소스 유형</a>을 참조하십시오.</p>
     </td>
   </tr>
@@ -184,21 +184,21 @@
   <tr>
     <td><code>xml/</code></td>
     <td>런타임에 읽을 수 있는 임의의 XML 파일로, 이때 {@link
-android.content.res.Resources#getXml(int) Resources.getXML()}을 호출하는 방법을 씁니다. 다양한 XML 구성 파일을 여기에 저장해야 합니다. 예를 들어 
+android.content.res.Resources#getXml(int) Resources.getXML()}을 호출하는 방법을 씁니다. 다양한 XML 구성 파일을 여기에 저장해야 합니다. 예를 들어
 <a href="{@docRoot}guide/topics/search/searchable-config.html">검색 가능한 구성</a> 등이 이에 해당됩니다.
 <!-- or preferences configuration. --></td>
   </tr>
 </table>
 
-<p class="caution"><strong>주의:</strong> 리소스 파일을 
+<p class="caution"><strong>주의:</strong> 리소스 파일을
 {@code res/} 디렉터리에 직접 저장하면 절대로 안 됩니다. 컴파일러 오류를 초래하게 됩니다.</p>
 
 <p>특정 유형의 리소스에 관한 자세한 정보는 <a href="available-resources.html">리소스 유형</a> 문서를 참조하십시오.</p>
 
 <p>표1에 정의된 하위 디렉터리에 저장하는 리소스는 "기본"
-리소스입니다. 다시 말해, 이러한 리소스가 애플리케이션의 기본 디자인과 콘텐츠를 정의한다는 뜻입니다. 
+리소스입니다. 다시 말해, 이러한 리소스가 애플리케이션의 기본 디자인과 콘텐츠를 정의한다는 뜻입니다.
 그러나, 여러 가지 유형의 Android 구동 기기는 각기 다른 유형의 리소스를 호출할 수도 있습니다.
-예를 들어 어느 기기의 화면이 보통보다 큰 편이라면, 추가적인 화면 공간의 이점을 활용할 수 있는 
+예를 들어 어느 기기의 화면이 보통보다 큰 편이라면, 추가적인 화면 공간의 이점을 활용할 수 있는
 다른 레이아웃 리소스를 제공해야 합니다. 또는, 기기에 다른 언어 설정이 있을 경우
 해당 텍스트를 사용자 인터페이스에 번역하는 다른 문자열 리소스를
 제공해야 합니다. 여러 가지 기기 구성에 여러 가지 리소스를 제공하려면,
@@ -215,10 +215,10 @@
 <strong>그림 1.</strong> 서로 다른 두 개의 기기로, 서로 다른 레이아웃 리소스를 사용합니다.</p>
 </div>
 
-<p>거의 모든 애플리케이션이 특정 기기 구성을 지원하는 
-대체 리소스를 제공해야 합니다. 예를 들어 여러 가지 화면 밀도에 맞는 대체 드로어블 리소스를 
-포함시켜야 하며 여러 가지 언어에 맞게 대체 문자열 리소스도 포함시켜야 합니다. Android는 런타임에 
-현재 기기 구성을 감지하고 애플리케이션에 대해 적절한 리소스를 
+<p>거의 모든 애플리케이션이 특정 기기 구성을 지원하는
+대체 리소스를 제공해야 합니다. 예를 들어 여러 가지 화면 밀도에 맞는 대체 드로어블 리소스를
+포함시켜야 하며 여러 가지 언어에 맞게 대체 문자열 리소스도 포함시켜야 합니다. Android는 런타임에
+현재 기기 구성을 감지하고 애플리케이션에 대해 적절한 리소스를
 로드합니다.</p>
 
 <p>리소스 세트에 대하여 구성별로 적절한 대체를 지정하려면 다음과 같이 합니다.</p>
@@ -231,13 +231,13 @@
       <li><em>{@code &lt;qualifier&gt;}</em>는 리소스를 사용할 개별 구성을 지정하는
 이름입니다(표2에 정의).</li>
     </ul>
-    <p>하나 이상의 <em>{@code &lt;qualifier&gt;}</em>를 추가할 수 있습니다. 각기 대시로 
+    <p>하나 이상의 <em>{@code &lt;qualifier&gt;}</em>를 추가할 수 있습니다. 각기 대시로
 구분합니다.</p>
     <p class="caution"><strong>주의:</strong> 여러 한정자를 추가할 때는
-표2에 나열된 것과 같은 순서로 배치해야 합니다. 한정자의 순서가 잘못 지정되면 
+표2에 나열된 것과 같은 순서로 배치해야 합니다. 한정자의 순서가 잘못 지정되면
 해당 리소스가 무시됩니다.</p>
   </li>
-  <li>해당되는 각 대체 리소스를 이 새 디렉터리에 저장하십시오. 이 리소스 파일은 기본 리소스 파일과 
+  <li>해당되는 각 대체 리소스를 이 새 디렉터리에 저장하십시오. 이 리소스 파일은 기본 리소스 파일과
 똑같은 이름을 지정해야 합니다.</li>
 </ol>
 
@@ -254,21 +254,21 @@
 </pre>
 
 <p>{@code hdpi} 한정자는 해당 디렉터리의 리소스가
-고화질 화면 기기용이라는 것을 나타냅니다. 각 드로어블 디렉터리의 이미지는 특정 화면 화질에 맞추어 
+고화질 화면 기기용이라는 것을 나타냅니다. 각 드로어블 디렉터리의 이미지는 특정 화면 화질에 맞추어
 크기가 지정되었으나 파일 이름은
 똑같습니다. 이렇게 하면 {@code icon.png} 또는 {@code
-background.png} 이미지를 참조하는 데 사용하는 리소스 ID는 항상 같지만 Android가 각 리소스 중에서 현재 기기에 가장 잘 일치하는 
-버전을 선택하게 됩니다. 이때 리소스 디렉터리 이름의 한정자를 기기 구성 정보와 
+background.png} 이미지를 참조하는 데 사용하는 리소스 ID는 항상 같지만 Android가 각 리소스 중에서 현재 기기에 가장 잘 일치하는
+버전을 선택하게 됩니다. 이때 리소스 디렉터리 이름의 한정자를 기기 구성 정보와
 비교하는 방법을 씁니다.</p>
 
-<p>Android는 여러 가지 구성 한정자를 지원하며 한 디렉터리 이름에 
-여러 개의 한정자를 추가할 수 있습니다. 각 한정자를 대시로 구분하면 됩니다. 표 2는 
-유효한 구성 한정자를 우선 순위대로 나열한 것입니다. 리소스 디렉터리에 여러 개의 
-한정자를 사용하는 경우, 해당 한정자를 디렉터리 이름에 추가할 때 이 표에 나열된 것과 같은 
+<p>Android는 여러 가지 구성 한정자를 지원하며 한 디렉터리 이름에
+여러 개의 한정자를 추가할 수 있습니다. 각 한정자를 대시로 구분하면 됩니다. 표 2는
+유효한 구성 한정자를 우선 순위대로 나열한 것입니다. 리소스 디렉터리에 여러 개의
+한정자를 사용하는 경우, 해당 한정자를 디렉터리 이름에 추가할 때 이 표에 나열된 것과 같은
 순서로 추가해야 합니다.</p>
 
 
-<p class="table-caption" id="table2"><strong>표 2.</strong> 구성 한정자 
+<p class="table-caption" id="table2"><strong>표 2.</strong> 구성 한정자
 이름입니다.</p>
 <table>
     <tr>
@@ -285,7 +285,7 @@
         등.
       </td>
       <td>
-        <p>이동통신 국가 코드(MCC)에 선택적으로 이동통신 네트워크 코드(MNC)가 이어지는 형태로, 
+        <p>이동통신 국가 코드(MCC)에 선택적으로 이동통신 네트워크 코드(MNC)가 이어지는 형태로,
 기기의 SIM 카드에서 가져옵니다. 예를 들어, <code>mcc310</code>은 모든 이동통신사를 포함한 미국이고,
 <code>mcc310-mnc004</code>는 Verizon을 사용하는 미국, <code>mcc208-mnc00</code>은 Orange를 사용하는
 프랑스입니다.</p>
@@ -293,11 +293,11 @@
 SIM 카드에서 가져옵니다.</p>
         <p>MCC만 단독으로 사용할 수도 있습니다(예를 들어, 애플리케이션에 국가별 합법적 리소스를
  포함하는 경우). 언어에 기초해서만 지정해야 할 경우,
-<em>언어 및 지역</em> 한정자를 대신 사용합니다(아래에 설명). MCC와 
+<em>언어 및 지역</em> 한정자를 대신 사용합니다(아래에 설명). MCC와
 MNC 한정자를 사용할 경우, 조심해서 사용하고 예상한 대로 작동하는지 테스트해야 합니다.</p>
         <p>또한, 구성 필드 {@link
 android.content.res.Configuration#mcc}와 {@link
-android.content.res.Configuration#mnc}를 참조하십시오. 이 구성 필드는 각각 이동통신 국가 코드와 
+android.content.res.Configuration#mnc}를 참조하십시오. 이 구성 필드는 각각 이동통신 국가 코드와
 이동통신 네트워크 코드를 나타냅니다.</p>
       </td>
     </tr>
@@ -312,19 +312,19 @@
         등.
       </td>
       <td><p>언어는 두 글자의 <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">ISO
-639-1</a> 언어 코드로 정의되고, 
+639-1</a> 언어 코드로 정의되고,
 뒤이어 두 글자의 <a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO
 3166-1-alpha-2</a> 지역 코드가 선택적으로 따라옵니다(소문자 "{@code r}" 뒤에 붙음).
         </p><p>
-        코드는 대소문자를 구별하지 <em>않습니다</em>. {@code r} 접두사는 
+        코드는 대소문자를 구별하지 <em>않습니다</em>. {@code r} 접두사는
 지역 부분을 구별하기 위해 사용합니다.
         지역만 지정할 수는 없습니다.</p>
-        <p>사용자가 시스템 설정에서 언어를 변경할 경우 
+        <p>사용자가 시스템 설정에서 언어를 변경할 경우
 애플리케이션 수명 중에 변경될 수 있습니다. 런타임에서 애플리케이션에 어떤 영향을 미치는지 자세히 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를 참조하십시오.
 </p>
         <p>다른 여러 언어에 맞게 애플리케이션을 지역화하기 위한 전체 지침은
 <a href="localization.html">지역화</a>를 참조하십시오.</p>
-        <p>또한, 현재 로케일을 나타내는 {@link android.content.res.Configuration#locale} 구성 필드도 
+        <p>또한, 현재 로케일을 나타내는 {@link android.content.res.Configuration#locale} 구성 필드도
 참조하십시오.</p>
       </td>
     </tr>
@@ -368,22 +368,22 @@
         등.
       </td>
       <td>
-        <p>화면의 기본 크기로, 사용 가능한 화면 영역의 가장 짧은 치수가 
-나타냅니다. 구체적으로 기기의 smallestWidth는 해당 화면의 이용 가능한 높이와 너비의 
-가장 짧은 치수를 말합니다(이것을 화면에 대한 "가능한 한 가장 좁은 너비"로 생각해도 됩니다). 이 한정자를 사용하면 
-화면의 현재 방향에 관계 없이 
+        <p>화면의 기본 크기로, 사용 가능한 화면 영역의 가장 짧은 치수가
+나타냅니다. 구체적으로 기기의 smallestWidth는 해당 화면의 이용 가능한 높이와 너비의
+가장 짧은 치수를 말합니다(이것을 화면에 대한 "가능한 한 가장 좁은 너비"로 생각해도 됩니다). 이 한정자를 사용하면
+화면의 현재 방향에 관계 없이
 애플리케이션이 해당 UI에서 이용 가능한 너비 중 최소 {@code &lt;N&gt;}dps를 확보하도록 할 수 있습니다.</p>
-        <p>예를 들어, 레이아웃에 언제나 
+        <p>예를 들어, 레이아웃에 언제나
 600dp 이상의 화면 최소 치수가 필요하다면, 이 한정자를 사용하여 레이아웃 리소스, {@code
-res/layout-sw600dp/}를 만들 수 있습니다. 시스템이 이러한 리소스를 사용하는 것은 사용 가능한 화면의 최소 치수가 적어도 600dp가 
-되는 경우뿐이며, 이때 600dp라는 크기가 사용자 쪽에서 보기에 높이이든 너비이든 
+res/layout-sw600dp/}를 만들 수 있습니다. 시스템이 이러한 리소스를 사용하는 것은 사용 가능한 화면의 최소 치수가 적어도 600dp가
+되는 경우뿐이며, 이때 600dp라는 크기가 사용자 쪽에서 보기에 높이이든 너비이든
 관계 없습니다. 이 smallestWidth는 기기의 고정된 화면 크기 특성입니다. <strong>
 기기의 smallestWidth는 화면 방향이 변경되어도 바뀌지 않습니다</strong>.</p>
         <p>기기의 smallestWidth는 화면 장식과 시스템 UI를 감안합니다. 예를 들어,
 화면 상에서 최소 너비의 축 주변 공간을 차지하는 영구 UI 요소가 있다면,
-시스템은 smallestWidth를 실제 화면 크기보다 작게 선언합니다. 
-이것은 개발자의 UI가 사용할 수 없는 화면 픽셀이기 때문입니다. 따라서 개발자가 사용하는 값은 
-<em>레이아웃에서 요구하는</em> 실제 최소 치수여야 합니다(일반적으로 이 값은 화면의 현재 방향과 관계없이 
+시스템은 smallestWidth를 실제 화면 크기보다 작게 선언합니다.
+이것은 개발자의 UI가 사용할 수 없는 화면 픽셀이기 때문입니다. 따라서 개발자가 사용하는 값은
+<em>레이아웃에서 요구하는</em> 실제 최소 치수여야 합니다(일반적으로 이 값은 화면의 현재 방향과 관계없이
 레이아웃이 지원하는 "최소 너비"가 됩니다.).</p>
         <p>다음의 몇몇 값은 보편적인 화면 크기에 대하여 사용할 수 있습니다.</p>
         <ul>
@@ -398,16 +398,16 @@
           <li>600x1024mdpi (7인치 태블릿) 등의 화면에는 600을 사용합니다.</li>
           <li>720x1280mdpi (10인치 태블릿) 등의 화면에는 720을 사용합니다.</li>
         </ul>
-        <p>애플리케이션이 
-smallestWidth 한정자의 여러 값이 포함된 여러 리소스 디렉터리를 제공하면, 시스템은 
+        <p>애플리케이션이
+smallestWidth 한정자의 여러 값이 포함된 여러 리소스 디렉터리를 제공하면, 시스템은
 기기의 smallestWidth에 가장 가까운(그러나 이를 초과하지 않는) 값을 사용합니다. </p>
         <p><em>API 레벨 13에서 추가되었습니다.</em></p>
         <p>이외에도 애플리케이션과 호환되는 최소한의 smallestWidth를 선언하는 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html#requiresSmallest">{@code
-android:requiresSmallestWidthDp}</a> 속성과 
+android:requiresSmallestWidthDp}</a> 속성과
 기기의 smallestWidth 값을 보유한 {@link
-android.content.res.Configuration#smallestScreenWidthDp} 
+android.content.res.Configuration#smallestScreenWidthDp}
 구성 필드도 참조하십시오.</p>
-        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는 
+        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는
 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a> 개발자 가이드를 참조하십시오.</p>
       </td>
@@ -421,21 +421,21 @@
         등.
       </td>
       <td>
-        <p>리소스를 사용해야 하는 {@code dp} 단위에서 최소 이용 가능한 화면 너비를 지정합니다. 
-이는 <code>&lt;N&gt;</code> 값이 정의합니다.  이 구성 
-값은 현재 실제 너비에 맞추기 위해 화면 방향이 가로와 세로 사이를 오가며 바뀔 때 
+        <p>리소스를 사용해야 하는 {@code dp} 단위에서 최소 이용 가능한 화면 너비를 지정합니다.
+이는 <code>&lt;N&gt;</code> 값이 정의합니다.  이 구성
+값은 현재 실제 너비에 맞추기 위해 화면 방향이 가로와 세로 사이를 오가며 바뀔 때
 변경됩니다.</p>
         <p>애플리케이션이 이 구성에 대해 서로 다른 값이 포함된 여러 개의 리소스 디렉터리를 제공하면,
-시스템은 기기의 현재 화면 너비에 가장 가까운(그러나 이를 초과하지 않는) 
-값을 사용합니다.  이 값은 
-화면 장식을 감안한 것이므로, 기기의 왼쪽이나 오른쪽 가장자리에 
-영구 UI 요소가 있을 경우, 기기는 
+시스템은 기기의 현재 화면 너비에 가장 가까운(그러나 이를 초과하지 않는)
+값을 사용합니다.  이 값은
+화면 장식을 감안한 것이므로, 기기의 왼쪽이나 오른쪽 가장자리에
+영구 UI 요소가 있을 경우, 기기는
 이러한 UI 요소를 감안하여 애플리케이션의 이용 가능한 공간을 줄여서
  실제 화면 크기보다 작은 너비 값을 사용합니다.</p>
         <p><em>API 레벨 13에서 추가되었습니다.</em></p>
         <p>현재 화면 너비를 보유한 {@link android.content.res.Configuration#screenWidthDp}
  구성 필드도 참조하십시오.</p>
-        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는 
+        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는
 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a> 개발자 가이드를 참조하십시오.</p>
       </td>
@@ -449,25 +449,25 @@
         등.
       </td>
       <td>
-        <p>리소스가 사용되어야 하는 최소한의 사용 가능한 화면 높이를 "dp" 단위로 나타냅니다. 
-이는 <code>&lt;N&gt;</code> 값이 정의합니다.  이 구성 
-값은 현재 실제 높이에 맞추기 위해 화면 방향이 가로와 세로 사이를 오가며 바뀔 때 
+        <p>리소스가 사용되어야 하는 최소한의 사용 가능한 화면 높이를 "dp" 단위로 나타냅니다.
+이는 <code>&lt;N&gt;</code> 값이 정의합니다.  이 구성
+값은 현재 실제 높이에 맞추기 위해 화면 방향이 가로와 세로 사이를 오가며 바뀔 때
 변경됩니다.</p>
         <p>애플리케이션이 이 구성에 대해 서로 다른 값이 포함된 여러 개의 리소스 디렉터리를 제공하면,
-시스템은 기기의 현재 화면 높이에 가장 가까운(그러나 이를 초과하지 않는) 
-값을 사용합니다.  이 값은 
-화면 장식을 감안한 것이므로, 기기의 상단이나 하단 가장자리에 
-영구 UI 요소가 있을 경우, 기기는 
+시스템은 기기의 현재 화면 높이에 가장 가까운(그러나 이를 초과하지 않는)
+값을 사용합니다.  이 값은
+화면 장식을 감안한 것이므로, 기기의 상단이나 하단 가장자리에
+영구 UI 요소가 있을 경우, 기기는
 이러한 UI 요소를 감안하여 애플리케이션의 이용 가능한 공간을 줄여서
- 실제 화면 크기보다 작은 높이 값을 사용합니다.  
-상태 표시줄에 고정되지 않은 화면 장식(예를 들어 
-전화 상태 표시줄은 전체 화면에서 숨길 수 있음)은 여기에서 감안하지 <em>않았고</em>, 
-제목 표시줄이나 작업 모음 등의 창 장식도 감안되지 않았으므로, 애플리케이션 입장에서는 자신이 지정한 것보다 어느 정도 작은 공간을 
+ 실제 화면 크기보다 작은 높이 값을 사용합니다.
+상태 표시줄에 고정되지 않은 화면 장식(예를 들어
+전화 상태 표시줄은 전체 화면에서 숨길 수 있음)은 여기에서 감안하지 <em>않았고</em>,
+제목 표시줄이나 작업 모음 등의 창 장식도 감안되지 않았으므로, 애플리케이션 입장에서는 자신이 지정한 것보다 어느 정도 작은 공간을
 받아들일 대비를 해야 합니다.
         <p><em>API 레벨 13에서 추가되었습니다.</em></p>
         <p>현재 화면 너비를 보유한 {@link android.content.res.Configuration#screenHeightDp}
  구성 필드도 참조하십시오.</p>
-        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는 
+        <p>여러 가지 화면에 맞는 디자인과 한정자 사용에 관한 자세한 정보는
 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a> 개발자 가이드를 참조하십시오.</p>
       </td>
@@ -482,39 +482,39 @@
       </td>
       <td>
         <ul class="nolist">
-        <li>{@code small}: 저밀도 QVGA 화면과 비슷한 
+        <li>{@code small}: 저밀도 QVGA 화면과 비슷한
 크기의 화면입니다. 작은 화면의 최소 레이아웃 크기는
-약 320x426 dp단위입니다.  이 화면의 예시로는 QVGA 저밀도 및 VGA 고밀도가 
+약 320x426 dp단위입니다.  이 화면의 예시로는 QVGA 저밀도 및 VGA 고밀도가
 있습니다.</li>
-        <li>{@code normal}: 중밀도 HVGA 화면과 
+        <li>{@code normal}: 중밀도 HVGA 화면과
 비슷한 크기의 화면입니다. 정상 화면의
- 최소 레이아웃 크기는 약 320x470 dp 단위입니다.  이 화면의 예로는 
+ 최소 레이아웃 크기는 약 320x470 dp 단위입니다.  이 화면의 예로는
 WQVGA 저밀도, HVGA 중밀도, WVGA 고밀도 등이 있습니다.
 </li>
-        <li>{@code large}: 중밀도 VGA 화면과 
+        <li>{@code large}: 중밀도 VGA 화면과
 비슷한 크기의 화면입니다.
         큰 화면의 최소 레이아웃 크기는 약 480x640 dp 단위입니다.
         이 화면의 예시로는 VGA 및 WVGA 중밀도 화면이 있습니다.</li>
-        <li>{@code xlarge}: 일반적인 중밀도 HVGA 화면보다 상당히 큰 화면을 
+        <li>{@code xlarge}: 일반적인 중밀도 HVGA 화면보다 상당히 큰 화면을
 말합니다. 초대형 화면의
- 최소 레이아웃 크기는 약 720x960 dp 단위입니다.  대부분의 경우, 초대형 화면 기기는 
-주머니에 넣어 다니기에 너무 큽니다. 따라서 태블릿 스타일의 기기일 가능성이 
+ 최소 레이아웃 크기는 약 720x960 dp 단위입니다.  대부분의 경우, 초대형 화면 기기는
+주머니에 넣어 다니기에 너무 큽니다. 따라서 태블릿 스타일의 기기일 가능성이
 높습니다. <em>API 레벨 9에서 추가되었습니다.</em></li>
         </ul>
-        <p class="note"><strong>참고:</strong> 크기 한정자를 사용하더라도 해당 리소스가 그 크기의 화면 
-<em>전용</em>이라는 뜻은 아닙니다. 현재 기기 구성과 더욱 잘 맞는 한정자가 포함된 대체 리소스를 
-제공하지 않으면, 
+        <p class="note"><strong>참고:</strong> 크기 한정자를 사용하더라도 해당 리소스가 그 크기의 화면
+<em>전용</em>이라는 뜻은 아닙니다. 현재 기기 구성과 더욱 잘 맞는 한정자가 포함된 대체 리소스를
+제공하지 않으면,
 시스템이 <a href="#BestMatch">가장 잘 일치하는</a> 리소스를 사용합니다.</p>
         <p class="caution"><strong>주의:</strong> 모든 리소스가 현재 화면보다
 <em>큰</em> 크기 한정자를 사용하는 경우, 시스템은 리소스를 사용하지 <strong>않으며</strong> 애플리케이션은 런타임에 작동이 중단됩니다(예를 들어, 모든 레이아웃 리소스에 {@code
 xlarge} 한정자가 태그되어 있지만 기기는 일반 크기 화면일 경우
 ).</p>
         <p><em>API 레벨 4에서 추가되었습니다.</em></p>
-        
-        <p>자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면 
+
+        <p>자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a>을 참조하십시오.</p>
-        <p>{@link android.content.res.Configuration#screenLayout} 구성 필드도 참조하십시오. 
-이것은 화면이 소형, 일반 크기 또는 
+        <p>{@link android.content.res.Configuration#screenLayout} 구성 필드도 참조하십시오.
+이것은 화면이 소형, 일반 크기 또는
 대형인지를 나타냅니다.</p>
       </td>
     </tr>
@@ -530,9 +530,9 @@
           <li>{@code notlong}: QVGA, HVGA 및 VGA 등의 길지 않은 화면</li>
         </ul>
         <p><em>API 레벨 4에서 추가되었습니다.</em></p>
-        <p>이것은 순전히 화면 비율에만 기초합니다("긴" 화면이 더 넓습니다). 이는 
+        <p>이것은 순전히 화면 비율에만 기초합니다("긴" 화면이 더 넓습니다). 이는
 화면 방향과 관계가 없습니다.</p>
-        <p>{@link android.content.res.Configuration#screenLayout}도 참조하십시오. 
+        <p>{@link android.content.res.Configuration#screenLayout}도 참조하십시오.
 이것은 화면이 긴 화면인지 여부를 나타냅니다.</p>
       </td>
     </tr>
@@ -549,10 +549,10 @@
           <li>{@code land}: 기기가 가로 방향(수평)입니다.</li>
           <!-- Square mode is currently not used. -->
         </ul>
-        <p>이것은 사용자가 화면을 돌리는 경우 애플리케이션 수명 중에 
-변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 
+        <p>이것은 사용자가 화면을 돌리는 경우 애플리케이션 수명 중에
+변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면
 <a href="runtime-changes.html">런타임 변경 처리</a>를 참조하십시오.</p>
-        <p>{@link android.content.res.Configuration#orientation} 구성 필드도 참조하십시오. 
+        <p>{@link android.content.res.Configuration#orientation} 구성 필드도 참조하십시오.
 이는 현재 기기 방향을 나타냅니다.</p>
       </td>
     </tr>
@@ -569,21 +569,21 @@
         <ul class="nolist">
           <li>{@code car}: 기기가 차량용 도크에서 표시되고 있습니다.</li>
           <li>{@code desk}: 기기가 데스크용 도크에서 표시되고 있습니다.</li>
-          <li>{@code television}: 기기가 텔레비전에서 표시되고 있으며, 
-UI가 큰 화면에 있고 사용자가 여기에서 멀리 떨어져 있는 
-"텐 풋(ten foot)" 환경을 제공하고 있습니다. 이는 주로 DPAD 또는 
+          <li>{@code television}: 기기가 텔레비전에서 표시되고 있으며,
+UI가 큰 화면에 있고 사용자가 여기에서 멀리 떨어져 있는
+"텐 풋(ten foot)" 환경을 제공하고 있습니다. 이는 주로 DPAD 또는
 기타 비-포인터 상호 작용 주변을 가리킵니다.</li>
-          <li>{@code appliance}: 기기가 가전 제품 역할을 하고 있으며, 디스플레이 
+          <li>{@code appliance}: 기기가 가전 제품 역할을 하고 있으며, 디스플레이
 화면이 없습니다.</li>
           <li>{@code watch}: 기기에 디스플레이 화면이 있고 손목에 착용됩니다.</li>
         </ul>
         <p><em>API 레벨 8에서 추가되었고, 텔레비전은 API 13에서, 시계는 API 20에서 추가되었습니다.</em></p>
-        <p>기기가 도크에 삽입되거나 제거될 때 앱이 응답하는 방식에 관한 정보는 
-<a href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">도킹 상태 및 유형 
+        <p>기기가 도크에 삽입되거나 제거될 때 앱이 응답하는 방식에 관한 정보는
+<a href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">도킹 상태 및 유형
 판별과 모니터링</a>을 읽어보십시오.</p>
-        <p>이것은 사용자가 기기를 도크에 놓는 경우 애플리케이션 수명 중에 
+        <p>이것은 사용자가 기기를 도크에 놓는 경우 애플리케이션 수명 중에
 변경될 수 있습니다. 이러한 모드 중 몇 가지는 {@link
-android.app.UiModeManager}를 사용하여 활성화 또는 비활성화할 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를 
+android.app.UiModeManager}를 사용하여 활성화 또는 비활성화할 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를
 참조하십시오.</p>
       </td>
     </tr>
@@ -599,9 +599,9 @@
           <li>{@code notnight}: 주간</li>
         </ul>
         <p><em>API 레벨 8에서 추가되었습니다.</em></p>
-        <p>이것은 야간 모드가 자동 모드인 상태(기본)에서 애플리케이션의 수명 중에 
-변경될 수 있습니다. 이 경우 모드는 하루 중 시간대를 기반으로 변경됩니다.  이 모드는 
-{@link android.app.UiModeManager}를 사용하여 활성화 또는 비활성화할 수 있습니다. 이것이 런타임 중 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를 
+        <p>이것은 야간 모드가 자동 모드인 상태(기본)에서 애플리케이션의 수명 중에
+변경될 수 있습니다. 이 경우 모드는 하루 중 시간대를 기반으로 변경됩니다.  이 모드는
+{@link android.app.UiModeManager}를 사용하여 활성화 또는 비활성화할 수 있습니다. 이것이 런타임 중 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를
 참조하십시오.</p>
       </td>
     </tr>
@@ -623,33 +623,33 @@
           <li>{@code mdpi}: 중밀도(일반적인 HVGA에서) 화면, 약
 160dpi.</li>
           <li>{@code hdpi}: 고밀도 화면, 약 240dpi.</li>
-          <li>{@code xhdpi}: 초고밀도 화면, 약 320dpi. <em>API 레벨 8에서 
+          <li>{@code xhdpi}: 초고밀도 화면, 약 320dpi. <em>API 레벨 8에서
 추가되었습니다.</em></li>
-          <li>{@code xxhdpi}: 슈퍼 초고밀도 화면, 약 480dpi. <em>API 레벨 16에서 
+          <li>{@code xxhdpi}: 슈퍼 초고밀도 화면, 약 480dpi. <em>API 레벨 16에서
 추가되었습니다.</em></li>
-          <li>{@code xxxhdpi}: 울트라 슈퍼 초고밀도 화면 사용(시작 관리자 아이콘만 해당, 
-<em>다중 화면 지원</em>의 
-<a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">참고</a>를 참조하십시오), 약 640dpi. <em>API 레벨 18에서 
+          <li>{@code xxxhdpi}: 울트라 슈퍼 초고밀도 화면 사용(시작 관리자 아이콘만 해당,
+<em>다중 화면 지원</em>의
+<a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">참고</a>를 참조하십시오), 약 640dpi. <em>API 레벨 18에서
 추가되었습니다.</em></li>
-          <li>{@code nodpi}: 이것은 기기 밀도에 일치하도록 크기를 조정하고자 하지 않는 비트맵 리소스에 
+          <li>{@code nodpi}: 이것은 기기 밀도에 일치하도록 크기를 조정하고자 하지 않는 비트맵 리소스에
 사용할 수 있습니다.</li>
-          <li>{@code tvdpi}: Mdpi와 hdpi 사이 어딘가에 해당되는 화면, 약 213dpi. 이것은 
-"기본" 밀도 그룹으로 간주되지 않습니다. 이는 대체로 텔레비전용으로 만들어진 것이며 
-대부분의 앱에는 필요하지 않는 것이 정상입니다. mdpi 및 hdpi만 제공하면 대부분의 앱에는 충분하고 
+          <li>{@code tvdpi}: Mdpi와 hdpi 사이 어딘가에 해당되는 화면, 약 213dpi. 이것은
+"기본" 밀도 그룹으로 간주되지 않습니다. 이는 대체로 텔레비전용으로 만들어진 것이며
+대부분의 앱에는 필요하지 않는 것이 정상입니다. mdpi 및 hdpi만 제공하면 대부분의 앱에는 충분하고
 시스템이 필요에 따라 크기를 조정해줍니다. 이 한정자는 API 레벨 13과 함께 도입되었습니다.</li>
         </ul>
-        <p>여섯 가지 기본 밀도간에 3:4:6:8:12:16 비율 척도가 있습니다(tvdpi 밀도는 
+        <p>여섯 가지 기본 밀도간에 3:4:6:8:12:16 비율 척도가 있습니다(tvdpi 밀도는
 무시). 그러므로 ldpi의 9x9 비트맵은 mdpi에서 12x12이고, hdpi에서 18x18, xhdpi에서 24x24 등, 이런 식으로 적용됩니다.
 </p>
-        <p>이미지 리소스가 텔레비전이나 특정 기기에서 제대로 보이지 않는다고 결정하고 
+        <p>이미지 리소스가 텔레비전이나 특정 기기에서 제대로 보이지 않는다고 결정하고
 tvdpi 리소스를 사용하려 할 경우, 배율은 1.33*mdpi입니다. 예를 들어,
 mdpi 화면의 100px x 100px 이미지는 tvdpi에서 133px x 133px가 되어야 합니다.</p>
-        <p class="note"><strong>참고:</strong> 밀도 한정자를 사용하더라도 해당 리소스가 그 밀도의 화면 
-<em>전용</em>이라는 뜻은 아닙니다. 현재 기기 구성과 더욱 잘 맞는 한정자가 포함된 대체 리소스를 
-제공하지 않으면, 
+        <p class="note"><strong>참고:</strong> 밀도 한정자를 사용하더라도 해당 리소스가 그 밀도의 화면
+<em>전용</em>이라는 뜻은 아닙니다. 현재 기기 구성과 더욱 잘 맞는 한정자가 포함된 대체 리소스를
+제공하지 않으면,
 시스템이 <a href="#BestMatch">가장 잘 일치하는</a> 리소스를 사용합니다.</p>
-        <p>다양한 화질을 처리하는 방법과 
-Android가 현재 화질에 맞춰 비트맵을 축소하는 방법에 관한 자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면 
+        <p>다양한 화질을 처리하는 방법과
+Android가 현재 화질에 맞춰 비트맵을 축소하는 방법에 관한 자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a>을 참조하십시오.</p>
        </td>
     </tr>
@@ -662,10 +662,10 @@
       <td>
         <ul class="nolist">
           <li>{@code notouch}: 기기에 터치 스크린이 없습니다.</li>
-          <li>{@code finger}: 기기에 터치 스크린이 있으며 이를 
+          <li>{@code finger}: 기기에 터치 스크린이 있으며 이를
 사용자의 손가락을 사용한 방향 지시 상호 작용을 통해 쓰도록 되어 있습니다.</li>
         </ul>
-        <p>{@link android.content.res.Configuration#touchscreen} 구성 필드도 참조하십시오. 
+        <p>{@link android.content.res.Configuration#touchscreen} 구성 필드도 참조하십시오.
 이는 기기에서 사용되는 터치 스크린의 유형을 나타냅니다.</p>
       </td>
     </tr>
@@ -678,25 +678,25 @@
       </td>
       <td>
         <ul class="nolist">
-          <li>{@code keysexposed}: 기기에서 키보드를 사용할 수 있습니다. 키보드에 
-소프트웨어 키보드가 활성화되어 있으면(이럴 가능성이 큽니다), 하드웨어 키보드가 사용자에게 노출되어 있지 
-<em>않거나</em> 기기에 하드웨어 키보드가 없더라도 이 리소스를 사용할 수 있습니다. 소프트웨어 
-키보드가 제공되어 있지 않거나 비활성화되어 있는 경우 이것은 하드웨어 키보드가 노출되어 있을 때에만 
+          <li>{@code keysexposed}: 기기에서 키보드를 사용할 수 있습니다. 키보드에
+소프트웨어 키보드가 활성화되어 있으면(이럴 가능성이 큽니다), 하드웨어 키보드가 사용자에게 노출되어 있지
+<em>않거나</em> 기기에 하드웨어 키보드가 없더라도 이 리소스를 사용할 수 있습니다. 소프트웨어
+키보드가 제공되어 있지 않거나 비활성화되어 있는 경우 이것은 하드웨어 키보드가 노출되어 있을 때에만
 사용할 수 있습니다.</li>
-          <li>{@code keyshidden}: 기기에서 하드웨어 키보드를 사용할 수 있지만 
+          <li>{@code keyshidden}: 기기에서 하드웨어 키보드를 사용할 수 있지만
 숨겨져 있고 <em>이에 더하여</em> 기기에 소프트웨어 키보드가 활성화되어 있지 <em>않습니다</em>.</li>
-          <li>{@code keyssoft}: 기기에 활성화된 소프트웨어 키보드가 있습니다(표시 여부는 
+          <li>{@code keyssoft}: 기기에 활성화된 소프트웨어 키보드가 있습니다(표시 여부는
 무관).</li>
         </ul>
         <p><code>keysexposed</code> 리소스를 제공하지만 <code>keyssoft</code>
-리소스는 제공하지 않는다면, 시스템은 소프트웨어 키보드가 활성화되어 있는 동안은 키보드가 보이는지 여부와 관계없이 <code>keysexposed</code> 
+리소스는 제공하지 않는다면, 시스템은 소프트웨어 키보드가 활성화되어 있는 동안은 키보드가 보이는지 여부와 관계없이 <code>keysexposed</code>
 리소스를 사용합니다.</p>
-        <p>이것은 사용자가 하드웨어 키보드를 여는 경우 애플리케이션 수명 중에 
-변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를 
+        <p>이것은 사용자가 하드웨어 키보드를 여는 경우 애플리케이션 수명 중에
+변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를
 참조하십시오.</p>
         <p>또한, 구성 필드 {@link
 android.content.res.Configuration#hardKeyboardHidden}과 {@link
-android.content.res.Configuration#keyboardHidden}을 참조하십시오. 이 필드는 각각 하드웨어 키보드의 가시성과 
+android.content.res.Configuration#keyboardHidden}을 참조하십시오. 이 필드는 각각 하드웨어 키보드의 가시성과
 모든 종류의 키보드(소프트웨어 포함)의 가시성을 나타냅니다.</p>
       </td>
     </tr>
@@ -710,13 +710,13 @@
       <td>
         <ul class="nolist">
           <li>{@code nokeys}: 기기에 텍스트 입력을 위한 하드웨어 키가 없습니다.</li>
-          <li>{@code qwerty}: 기기에 하드웨어 쿼티 키보드가 있습니다(이것이 
+          <li>{@code qwerty}: 기기에 하드웨어 쿼티 키보드가 있습니다(이것이
 사용자
 에게 표시되는지 여부는 무관).</li>
-          <li>{@code 12key}: 기기에 하드웨어 12-키 키보드가 있습니다(이것이 사용자에게 표시되는지 여부는 
+          <li>{@code 12key}: 기기에 하드웨어 12-키 키보드가 있습니다(이것이 사용자에게 표시되는지 여부는
 무관).</li>
         </ul>
-        <p>{@link android.content.res.Configuration#keyboard} 구성 필드도 참조하십시오. 
+        <p>{@link android.content.res.Configuration#keyboard} 구성 필드도 참조하십시오.
 이는 기본 텍스트 입력 메서드를 사용할 수 있는지 여부를 나타냅니다.</p>
       </td>
     </tr>
@@ -729,13 +729,13 @@
       <td>
         <ul class="nolist">
           <li>{@code navexposed}: 사용자가 탐색 키를 사용할 수 있습니다.</li>
-          <li>{@code navhidden}: 탐색 키를 사용할 수 없습니다(예: 닫힌 뚜껑 뒤에 있는 
+          <li>{@code navhidden}: 탐색 키를 사용할 수 없습니다(예: 닫힌 뚜껑 뒤에 있는
 경우).</li>
         </ul>
-        <p>이것은 사용자가 탐색 키를 드러내는 경우 애플리케이션 수명 중에 
-변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를 
+        <p>이것은 사용자가 탐색 키를 드러내는 경우 애플리케이션 수명 중에
+변경될 수 있습니다. 이것이 런타임에 애플리케이션에 어떤 영향을 미치는지 알아보려면 <a href="runtime-changes.html">런타임 변경 처리</a>를
 참조하십시오.</p>
-        <p>{@link android.content.res.Configuration#navigationHidden} 구성 
+        <p>{@link android.content.res.Configuration#navigationHidden} 구성
 필드도 참조하십시오. 이는 탐색 키가 숨겨져 있는지 여부를 나타냅니다.</p>
       </td>
     </tr>
@@ -749,13 +749,13 @@
       </td>
       <td>
         <ul class="nolist">
-          <li>{@code nonav}: 기기에 터치 스크린을 제외하고 다른 탐색 기능이 
+          <li>{@code nonav}: 기기에 터치 스크린을 제외하고 다른 탐색 기능이
 없습니다.</li>
           <li>{@code dpad}: 기기에 탐색용 방향 패드(d-pad)가 있습니다.</li>
           <li>{@code trackball}: 기기에 탐색용 트랙볼이 있습니다.</li>
           <li>{@code wheel}: 기기에 탐색용 방향 휠이 있습니다.</li>
         </ul>
-        <p>{@link android.content.res.Configuration#navigation} 구성 필드도 참조하십시오. 
+        <p>{@link android.content.res.Configuration#navigation} 구성 필드도 참조하십시오.
 이는 사용 가능한 탐색 메서드의 유형을 나타냅니다.</p>
       </td>
     </tr>
@@ -792,11 +792,11 @@
 
 
 <p class="note"><strong>참고:</strong> 일부 구성 한정자는 Android
-1.0 이후부터 추가되었으므로 모든 Android 버전이 모든 한정자를 지원하는 것은 아닙니다. 새로운 한정자를 사용하면 암시적으로 
-플랫폼 버전 한정자도 추가하므로 구형 기기가 이를 무시하게 됩니다. 예를 들어 
-<code>w600dp</code> 한정자를 사용하면 자동적으로 <code>v13</code> 한정자를 포함합니다. 
-사용 가능한 너비 한정자가 API 레벨 13부터 새로 도입되었기 때문입니다. 문제를 애초에 피하려면, 항상 
-기본 리소스를 한 세트 포함하세요(<em>한정자 없는</em> 리소스 한 세트). 자세한 정보는 
+1.0 이후부터 추가되었으므로 모든 Android 버전이 모든 한정자를 지원하는 것은 아닙니다. 새로운 한정자를 사용하면 암시적으로
+플랫폼 버전 한정자도 추가하므로 구형 기기가 이를 무시하게 됩니다. 예를 들어
+<code>w600dp</code> 한정자를 사용하면 자동적으로 <code>v13</code> 한정자를 포함합니다.
+사용 가능한 너비 한정자가 API 레벨 13부터 새로 도입되었기 때문입니다. 문제를 애초에 피하려면, 항상
+기본 리소스를 한 세트 포함하세요(<em>한정자 없는</em> 리소스 한 세트). 자세한 정보는
 <a href="#Compatibility">리소스와 연관된 최선의 기기 호환성 제공
 </a>을 참조하십시오.</p>
 
@@ -808,7 +808,7 @@
 
 <ul>
     <li>한 가지 리소스 세트에 여러 개의 한정자를 사용할 수 있으며, 이를 대시로 구분하면 됩니다. 예를 들어,
-<code>drawable-en-rUS-land</code>는 수평 방향의 
+<code>drawable-en-rUS-land</code>는 수평 방향의
 US-English 기기에 적용합니다.</li>
     <li>한정자는 <a href="#table2">표2</a>에 나열된 순서를 따라야 합니다. 예:
 
@@ -817,25 +817,25 @@
         <li>맞는 배열: <code>drawable-port-hdpi/</code></li>
       </ul>
     </li>
-    <li>대체 리소스 디렉터리는 중첩될 수 없습니다. 예를 들어, 
+    <li>대체 리소스 디렉터리는 중첩될 수 없습니다. 예를 들어,
 <code>res/drawable/drawable-en/</code>는 있을 수 없습니다.</li>
-    <li>값은 대소문자를 구분하지 않습니다.  리소스 컴파일러가 처리 전에 디렉터리 이름을 
-소문자로 바꿔 대소문자를 구분하지 않는 
+    <li>값은 대소문자를 구분하지 않습니다.  리소스 컴파일러가 처리 전에 디렉터리 이름을
+소문자로 바꿔 대소문자를 구분하지 않는
 파일 시스템에서 문제를 일으키지 않도록 방지합니다. 이름에 대문자가 있는 것은 오로지 가독성을 향상하기 위해서입니다.</li>
-    <li>각 한정자 유형마다 한 개의 값만 지원됩니다. 예를 들어, 스페인과 프랑스에 
-같은 드로어블 파일을 사용하고자 하는 경우 디렉터리 이름이 
-<code>drawable-rES-rFR/</code>이면 <em>안 됩니다.</em> 대신 
+    <li>각 한정자 유형마다 한 개의 값만 지원됩니다. 예를 들어, 스페인과 프랑스에
+같은 드로어블 파일을 사용하고자 하는 경우 디렉터리 이름이
+<code>drawable-rES-rFR/</code>이면 <em>안 됩니다.</em> 대신
 <code>drawable-rES/</code>와 <code>drawable-rFR/</code> 같이 적절한 파일이 포함된 두 개의 리소스 디렉터리가 필요합니다.
-그러나 두 위치에서 같은 파일을 실제로 복제할 필요는 없습니다. 대신 
+그러나 두 위치에서 같은 파일을 실제로 복제할 필요는 없습니다. 대신
 리소스에 별명을 만들면 됩니다. 아래의 <a href="#AliasResources">별명 리소스
 생성</a>을 참조하십시오.</li>
 </ul>
 
-<p>이런 한정자로 이름을 지은 디렉터리에 대체 리소스를 저장하고 나면 
+<p>이런 한정자로 이름을 지은 디렉터리에 대체 리소스를 저장하고 나면
 Android가 현재 기기 구성에 기초하여 애플리케이션에 자동으로 리소스를 적용합니다.
  리소스가 요청될 때마다 Android가 요청한 리소스 파일이 들어있는
-대체 리소스 디렉터리를 확인하고, 그런 다음 <a href="#BestMatch">가장 잘 일치하는 
-리소스를 찾습니다</a>(아래에서 논함). 특정 기기 구성에 일치하는 대체 리소스가 없는 경우, 
+대체 리소스 디렉터리를 확인하고, 그런 다음 <a href="#BestMatch">가장 잘 일치하는
+리소스를 찾습니다</a>(아래에서 논함). 특정 기기 구성에 일치하는 대체 리소스가 없는 경우,
 Android는 상응하는 기본 리소스(구성 한정자를 포함하지 않는
 특정 리소스 유형에 대한 리소스 세트
 )를 사용합니다.</p>
@@ -844,31 +844,31 @@
 
 <h3 id="AliasResources">별명 리소스 생성</h3>
 
-<p>어떤 리소스를 하나 이상의 기기 구성에서 사용하고자 하는 경우(그렇지만 
-이를 기본 리소스를 제공하는 것은 원치 않는 경우), 같은 리소스를 하나 이상의 대체 리소스 디렉터리에 
-넣지 않아도 됩니다. 대신, 기본 리소스 디렉터리에 저장된 리소스에 대해 별명 역할을 하는 
-대체 
+<p>어떤 리소스를 하나 이상의 기기 구성에서 사용하고자 하는 경우(그렇지만
+이를 기본 리소스를 제공하는 것은 원치 않는 경우), 같은 리소스를 하나 이상의 대체 리소스 디렉터리에
+넣지 않아도 됩니다. 대신, 기본 리소스 디렉터리에 저장된 리소스에 대해 별명 역할을 하는
+대체
 리소스를 만들면 됩니다(경우에 따라).</p>
 
-<p class="note"><strong>참고:</strong> 모든 리소스가 다른 리소스에 대한 
-별명을 생성할 수 있는 메커니즘을 제공하는 것은 아닙니다. 특히, {@code xml/} 디렉터리의 애니메이션, 메뉴, 원시 및 기타 지정되지 않은 
+<p class="note"><strong>참고:</strong> 모든 리소스가 다른 리소스에 대한
+별명을 생성할 수 있는 메커니즘을 제공하는 것은 아닙니다. 특히, {@code xml/} 디렉터리의 애니메이션, 메뉴, 원시 및 기타 지정되지 않은
 리소스는 이 기능을 제공하지 않습니다.</p>
 
-<p>예를 들어, 애플리케이션 아이콘 {@code icon.png}이 있고 서로 다른 로케일에서 이 아이콘의 고유 버전이 
-필요한 경우가 있습니다. 그러나 두 로케일, English-Canadian과 French-Canadian은 같은 버전을 
-사용해야 합니다. 같은 이미지를 English-Canadian과 French-Canadian 양쪽 
-모두에 대한 리소스 디렉터리에 복사해야 한다고 생각할 수 있지만, 실은 
+<p>예를 들어, 애플리케이션 아이콘 {@code icon.png}이 있고 서로 다른 로케일에서 이 아이콘의 고유 버전이
+필요한 경우가 있습니다. 그러나 두 로케일, English-Canadian과 French-Canadian은 같은 버전을
+사용해야 합니다. 같은 이미지를 English-Canadian과 French-Canadian 양쪽
+모두에 대한 리소스 디렉터리에 복사해야 한다고 생각할 수 있지만, 실은
 그렇지 않습니다. 대신, 두 로케일에서 사용하는 이미지를 {@code icon_ca.png}(
-{@code icon.png} 이외에 어떤 이름이든 가능)로 저장하고 이를 
+{@code icon.png} 이외에 어떤 이름이든 가능)로 저장하고 이를
 기본 {@code res/drawable/} 디렉터리에 넣으면 됩니다. 그런 다음 {@code icon.xml} 파일을 {@code icon_ca.png}
 리소스를 참조하는 {@code
-res/drawable-en-rCA/} 및 {@code res/drawable-fr-rCA/}로 생성합니다. 이때, {@code &lt;bitmap&gt;} 요소를 사용하면 됩니다. 이렇게 하면 
+res/drawable-en-rCA/} 및 {@code res/drawable-fr-rCA/}로 생성합니다. 이때, {@code &lt;bitmap&gt;} 요소를 사용하면 됩니다. 이렇게 하면
 PNG 파일 버전 하나와 그것을 가리키는 작은 XML 파일 두 개만 저장할 수 있습니다. (XML 파일 예시는 아래와 같습니다.)</p>
 
 
 <h4>드로어블</h4>
 
-<p>기존 드로어블에 별명을 생성하려면 {@code &lt;bitmap&gt;} 요소를 사용합니다. 
+<p>기존 드로어블에 별명을 생성하려면 {@code &lt;bitmap&gt;} 요소를 사용합니다.
 예를 들면 다음과 같습니다.</p>
 
 <pre>
@@ -896,13 +896,13 @@
 </pre>
 
 <p>파일을 {@code main.xml}로 저장하면, {@code R.layout.main}으로 참조할 수 있지만 실제로는 {@code R.layout.main_ltr}
- 리소스의 별명인 리소스로 
+ 리소스의 별명인 리소스로
 컴파일링됩니다.</p>
 
 
 <h4>문자열 및 기타 단순 값</h4>
 
-<p>기존 문자열에 별명을 생성하려면 원하는 문자열의 리소스 ID를 
+<p>기존 문자열에 별명을 생성하려면 원하는 문자열의 리소스 ID를
 새 문자열의 값으로 사용하면 됩니다. 예:</p>
 
 <pre>
@@ -915,7 +915,7 @@
 
 <p>이제 {@code R.string.hi} 리소스는 {@code R.string.hello}의 별명입니다.</p>
 
-<p> <a href="{@docRoot}guide/topics/resources/more-resources.html">기타 단순 값도</a> 같은 방식으로 
+<p> <a href="{@docRoot}guide/topics/resources/more-resources.html">기타 단순 값도</a> 같은 방식으로
 동작합니다. 예를 들면 색상은 다음과 같습니다.</p>
 
 <pre>
@@ -931,50 +931,50 @@
 
 <h2 id="Compatibility">리소스와 연관된 최선의 기기 호환성 제공</h2>
 
-<p>애플리케이션이 여러 기기 구성을 지원하게 하려면, 
+<p>애플리케이션이 여러 기기 구성을 지원하게 하려면,
 언제나 애플리케이션이 사용하는 각 유형의 리소스에 기본 리소스를 제공하는 것이 매우 중요합니다.</p>
 
 <p>예를 들어 애플리케이션이 여러 언어를 지원할 경우, 항상 <em>언어 및 지역 한정자</em> <a href="#LocaleQualifier">없이</a> {@code
-values/} 디렉터리(여기에 문자열 저장)를 포함시켜야 합니다. 그렇게 하지 않고 언어와 지역 한정자가 있는 디렉터리에 
-모든 문자열을 넣으면, 문자열이 지원하지 않는 언어로 설정된 기기에서 애플리케이션을 
-실행하면 작동이 중단됩니다. 그러나 기본 
-{@code values/} 리소스를 제공하는 한은 애플리케이션이 제대로 실행됩니다(사용자가 이해하지 못하는 
+values/} 디렉터리(여기에 문자열 저장)를 포함시켜야 합니다. 그렇게 하지 않고 언어와 지역 한정자가 있는 디렉터리에
+모든 문자열을 넣으면, 문자열이 지원하지 않는 언어로 설정된 기기에서 애플리케이션을
+실행하면 작동이 중단됩니다. 그러나 기본
+{@code values/} 리소스를 제공하는 한은 애플리케이션이 제대로 실행됩니다(사용자가 이해하지 못하는
 언어로라도 작동합니다. 작동 중단보다 낫습니다.)</p>
 
-<p>마찬가지로 화면 방향에 기초하여 여러 가지 레이아웃 리소스를 제공하는 경우 
+<p>마찬가지로 화면 방향에 기초하여 여러 가지 레이아웃 리소스를 제공하는 경우
 하나의 방향을 기본값으로 선택해야 합니다. 예를 들어 가로 방향에는 {@code
-layout-land/}로, 세로 방향에는 {@code layout-port/}로 레이아웃 리소스를 제공하는 대신 하나를 기본으로 남겨두십시오. 
+layout-land/}로, 세로 방향에는 {@code layout-port/}로 레이아웃 리소스를 제공하는 대신 하나를 기본으로 남겨두십시오.
 가로 방향에 {@code layout/}, 세로 방향에 {@code layout-port/}와 같은 식으로 하면 됩니다.</p>
 
-<p>애플리케이션이 예상치 못한 구성에서 실행될 수 있을 뿐만 아니라 
-Android의 새 버전에서 이전 버전에서는 지원하지 않는 구성 한정자를 추가할 수도 있으므로, 
-기본 리소스를 제공하는 것이 중요합니다. 새 리소스 한정자를 사용하지만, 
+<p>애플리케이션이 예상치 못한 구성에서 실행될 수 있을 뿐만 아니라
+Android의 새 버전에서 이전 버전에서는 지원하지 않는 구성 한정자를 추가할 수도 있으므로,
+기본 리소스를 제공하는 것이 중요합니다. 새 리소스 한정자를 사용하지만,
 Android 이전 버전과 코드 호환성은 유지한 경우, 그 후 Android 이전 버전이
-애플리케이션을 실행하면 새로운 한정자로 이름을 지정한 리소스를 사용할 수 없으므로 기본 리소스를 제공하지 않으면 
+애플리케이션을 실행하면 새로운 한정자로 이름을 지정한 리소스를 사용할 수 없으므로 기본 리소스를 제공하지 않으면
 애플리케이션 작동이 중단됩니다. 예를 들어, <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
-minSdkVersion}</a>이 4로 설정되고 <a href="#NightQualifier">야간 모드</a>(API 레벨 8에서 추가된 {@code night} 또는 {@code notnight})를 사용하는 모든 드로어블 리소스를 한정할 경우, API 레벨 4 기기는 
-드로어블 리소스에 액세스하지 못하고 사용이 중단됩니다. 이 경우, 
-{@code notnight}를 기본 리소스로 제공하는 것이 좋습니다. 그래야 해당 한정자를 배제하고 
+minSdkVersion}</a>이 4로 설정되고 <a href="#NightQualifier">야간 모드</a>(API 레벨 8에서 추가된 {@code night} 또는 {@code notnight})를 사용하는 모든 드로어블 리소스를 한정할 경우, API 레벨 4 기기는
+드로어블 리소스에 액세스하지 못하고 사용이 중단됩니다. 이 경우,
+{@code notnight}를 기본 리소스로 제공하는 것이 좋습니다. 그래야 해당 한정자를 배제하고
 드로어블 리소스가 {@code drawable/} 또는 {@code drawable-night/}이 됩니다.</p>
 
-<p>그러므로 최선의 기기 호환성을 제공하려면 언제나 
-애플리케이션에서 반드시 제대로 수행해야 하는 리소스에 대해 기본 리소스를 제공하십시오. 그런 다음 구성 한정자를 사용하여 
+<p>그러므로 최선의 기기 호환성을 제공하려면 언제나
+애플리케이션에서 반드시 제대로 수행해야 하는 리소스에 대해 기본 리소스를 제공하십시오. 그런 다음 구성 한정자를 사용하여
 특정 기기 구성에 대해 대체 리소스를 생성하면 됩니다.</p>
 
-<p>이 규칙에는 한 가지 예외가 있습니다. 애플리케이션의 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> 이 4 이상이면 
-<a href="#DensityQualifier">화면 밀도</a> 한정자로 대체 드로어블 리소스를 제공할 때 기본 드로어블 
-리소스가 <em>없어도 됩니다</em>. 기본 
-드로어블 리소스가 없더라도 Android가 대체 화면 화질 중에서 가장 잘 맞는 리소스를 찾고 
-필요에 따라 비트맵을 축소합니다. 그러나 모든 유형의 기기에서 최상의 경험을 제공하려면, 
+<p>이 규칙에는 한 가지 예외가 있습니다. 애플리케이션의 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> 이 4 이상이면
+<a href="#DensityQualifier">화면 밀도</a> 한정자로 대체 드로어블 리소스를 제공할 때 기본 드로어블
+리소스가 <em>없어도 됩니다</em>. 기본
+드로어블 리소스가 없더라도 Android가 대체 화면 화질 중에서 가장 잘 맞는 리소스를 찾고
+필요에 따라 비트맵을 축소합니다. 그러나 모든 유형의 기기에서 최상의 경험을 제공하려면,
 모든 세 가지 유형의 밀도에 대해 대체 드로어블을 제공해야 합니다.</p>
 
 
 
 <h2 id="BestMatch">Android가 가장 잘 일치하는 리소스를 찾는 방법</h2>
 
-<p>개발자가 자신이 대체를 제공하는 리소스를 요청하면 Android가 런타임에 어느 대체 리소스를 
-사용할지 현대 기기 구성에 따라 여러 가지로 선택합니다. Android가 
-대체 리소스를 선택하는 방법을 보여주기 위해 다음 드로어블 디렉터리에 각각 같은 이미지의 
+<p>개발자가 자신이 대체를 제공하는 리소스를 요청하면 Android가 런타임에 어느 대체 리소스를
+사용할지 현대 기기 구성에 따라 여러 가지로 선택합니다. Android가
+대체 리소스를 선택하는 방법을 보여주기 위해 다음 드로어블 디렉터리에 각각 같은 이미지의
 서로 다른 버전이 들어있다고 가정하겠습니다.</p>
 
 <pre class="classic no-pretty-print">
@@ -997,16 +997,16 @@
 기본 텍스트 입력 메서드 = <code>12key</code>
 </p>
 
-<p>Android는 기기 구성을 이용 가능한 대체 리소스와 비교하여, 
+<p>Android는 기기 구성을 이용 가능한 대체 리소스와 비교하여,
 {@code drawable-en-port}에서 드로어블을 선택합니다.</p>
 
-<p>시스템은 다음과 같은 논리에 따라 
+<p>시스템은 다음과 같은 논리에 따라
 어느 리소스를 사용할지 결정합니다.</p>
 
 
 <div class="figure" style="width:371px">
 <img src="{@docRoot}images/resources/res-selection-flowchart.png" alt="" height="471" />
-<p class="img-caption"><strong>그림 2.</strong> Android가 가장 잘 일치하는 리소스를 찾는 방법을 나타낸 
+<p class="img-caption"><strong>그림 2.</strong> Android가 가장 잘 일치하는 리소스를 찾는 방법을 나타낸
 흐름도입니다.</p>
 </div>
 
@@ -1024,23 +1024,23 @@
 drawable-port-ldpi/
 drawable-port-notouch-12key/
 </pre>
-<p class="note"><strong>예외:</strong> 화면 픽셀 밀도 한정자 하나만은 충돌을 이유로 제거되지 
-않습니다. 기기의 화면 밀도가 hdpi라도, 
+<p class="note"><strong>예외:</strong> 화면 픽셀 밀도 한정자 하나만은 충돌을 이유로 제거되지
+않습니다. 기기의 화면 밀도가 hdpi라도,
 현 시점에서는 모든 화면 밀도가 일치로 간주되므로 <code>drawable-port-ldpi/</code>를 제거하지 않습니다.
- 자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면 
+ 자세한 정보는 <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a> 문서에서 이용하실 수 있습니다.</p></li>
 
   <li>목록(<a href="#table2">표2</a>)에서 (그 다음으로) 우선 순위가 가장 높은 한정자를 선택합니다
 (MCC부터 시작하여 아래로 내려가십시오). </li>
   <li>리소스 디렉터리 중에 이 한정자를 포함한 것이 있나요?  </li>
     <ul>
-      <li>없는 경우, 2단계로 돌아가 다음 한정자를 살펴보십시오 (이 예시의 경우 
+      <li>없는 경우, 2단계로 돌아가 다음 한정자를 살펴보십시오 (이 예시의 경우
 언어 한정자에 도달할 때까지 답은 "없습니다"입니다).</li>
       <li>있는 경우, 4단계로 계속 진행합니다.</li>
     </ul>
   </li>
 
-  <li>이 한정자를 포함하지 않는 디렉터리를 제거합니다. 이 예시에서는 시스템이 
+  <li>이 한정자를 포함하지 않는 디렉터리를 제거합니다. 이 예시에서는 시스템이
 언어 한정자를 포함하지 않는 디렉터리를 모두 제거합니다.</li>
 <pre class="classic no-pretty-print">
 <strike>drawable/</strike>
@@ -1050,15 +1050,15 @@
 <strike>drawable-port-ldpi/</strike>
 <strike>drawable-port-notouch-12key/</strike>
 </pre>
-<p class="note"><strong>예외:</strong> 문제의 한정자가 화면 픽셀 밀도라면, 
-Android는 기기 화면 밀도와 가장 가깝게 일치하는 옵션을 선택합니다. 
+<p class="note"><strong>예외:</strong> 문제의 한정자가 화면 픽셀 밀도라면,
+Android는 기기 화면 밀도와 가장 가깝게 일치하는 옵션을 선택합니다.
 일반적으로, Android는 작은 원본 이미지를 확대하는 것보다
-큰 원본 이미지를 축소하는 것을 선호합니다. <a href="{@docRoot}guide/practices/screens_support.html">다중 화면 
+큰 원본 이미지를 축소하는 것을 선호합니다. <a href="{@docRoot}guide/practices/screens_support.html">다중 화면
 지원</a>을 참조하십시오.</p>
   </li>
 
-  <li>뒤로 돌아가 디렉터리가 한 개만 남을 때까지 2, 3 및 4단계를 반복합니다. 이 예시에서, 일치하는 것이 있는 다음 한정자는 
-화면 방향입니다. 
+  <li>뒤로 돌아가 디렉터리가 한 개만 남을 때까지 2, 3 및 4단계를 반복합니다. 이 예시에서, 일치하는 것이 있는 다음 한정자는
+화면 방향입니다.
 그러므로 화면 방향을 지정하지 않는 리소스가 제거됩니다.
 <pre class="classic no-pretty-print">
 <strike>drawable-en/</strike>
@@ -1069,26 +1069,26 @@
   </li>
 </ol>
 
-<p>이 절차는 요청된 각 리소스에 대해 실행하지만, 시스템이 몇 가지 측면을 추가로 
-최적화합니다. 그러한 최적화 가운데에는 일단 기기 구성을 알게 되고 나면 절대 일치할 가능성이 없는 
-대체 리소스를 시스템이 제거할 수 있다는 점도 있습니다. 예를 들어, 구성 언어가 
-영어("en")이고 영어 이외의 다른 언어 한정자로 설정된 리소스 디렉터리는 
+<p>이 절차는 요청된 각 리소스에 대해 실행하지만, 시스템이 몇 가지 측면을 추가로
+최적화합니다. 그러한 최적화 가운데에는 일단 기기 구성을 알게 되고 나면 절대 일치할 가능성이 없는
+대체 리소스를 시스템이 제거할 수 있다는 점도 있습니다. 예를 들어, 구성 언어가
+영어("en")이고 영어 이외의 다른 언어 한정자로 설정된 리소스 디렉터리는
 절대 확인된 리소스 풀에 포함되지 않습니다(
 언어 한정자가 포함되지 <em>않는</em> 리소스 디렉터리는 여전히 포함됩니다).</p>
 
 <p>화면 크기 한정자에 기초하여 리소스를 선택할 때 시스템은 가장 잘 일치하는 리소스가 없다면
 현재 화면보다 작은 화면에 지정된 리소스를 사용합니다
-(예를 들어, 큰 화면은 필요에 따라 일반 크기 화면 리소스를 사용합니다). 그러나 
+(예를 들어, 큰 화면은 필요에 따라 일반 크기 화면 리소스를 사용합니다). 그러나
 이용 가능한 리소스가 현재 화면보다 <em>큰</em> 리소스뿐이라면, 시스템은
 이를 사용하지 <strong>않고</strong>, 기기 구성에 일치하는 리소스가 없으면 애플리케이션 사용이 중단됩니다
 (예를 들어 모든 레이아웃 리소스가 {@code xlarge} 한정자에 태그되어 있지만,
 기기가 보통 크기 화면일 경우).</p>
 
-<p class="note"><strong>참고:</strong> 한정자의 <em>우선 순위</em>(<a href="#table2">표 2</a> 참조)가 기기와 정확하게 일치하는 
-한정자 수보다 더 중요합니다. 예를 들어 위의 4단계에서 
+<p class="note"><strong>참고:</strong> 한정자의 <em>우선 순위</em>(<a href="#table2">표 2</a> 참조)가 기기와 정확하게 일치하는
+한정자 수보다 더 중요합니다. 예를 들어 위의 4단계에서
 목록의 마지막 선택에 기기와 정확히 일치하는 한정자가 세 개 포함되어 있지만(방향, 터치 스크린
-유형 및 입력 메서드), <code>drawable-en</code>에는 일치하는 매개변수가 
-하나뿐입니다(언어). 다만, 언어가 이러한 다른 한정자보다 우선 순위가 높기 때문에 
+유형 및 입력 메서드), <code>drawable-en</code>에는 일치하는 매개변수가
+하나뿐입니다(언어). 다만, 언어가 이러한 다른 한정자보다 우선 순위가 높기 때문에
 <code>drawable-port-notouch-12key</code>는 탈락합니다.</p>
 
 <p>애플리케이션에서 리소스를 사용하는 것에 대한 자세한 정보는 <a href="accessing-resources.html">리소스 액세스</a>로 계속 진행하여 알아보십시오.</p>
diff --git a/docs/html-intl/intl/ko/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/ko/guide/topics/resources/runtime-changes.jd
index a5e7f5b..720601fb 100644
--- a/docs/html-intl/intl/ko/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/ko/guide/topics/resources/runtime-changes.jd
@@ -22,41 +22,41 @@
 </div>
 
 <p>몇몇 기기 구성은 런타임 중에 변경될 수 있습니다
-(예: 화면 방향, 키보드 가용성 및 언어 등). 그러한 변경이 일어나는 경우, 
-Android는 실행 중인 
+(예: 화면 방향, 키보드 가용성 및 언어 등). 그러한 변경이 일어나는 경우,
+Android는 실행 중인
 {@link android.app.Activity}를 다시 시작합니다({@link android.app.Activity#onDestroy()} 호출, 뒤이어 {@link
-android.app.Activity#onCreate(Bundle) onCreate()} 호출). 이런 동작은 여러분이 제공한 
+android.app.Activity#onCreate(Bundle) onCreate()} 호출). 이런 동작은 여러분이 제공한
 대체 리소스로 애플리케이션을 자동으로 다시 로딩함으로써 새로운 기기 구성에 애플리케이션이 적응하는 것을 돕도록
 설계되었습니다(예: 다양한 화면 방향과 크기에 대한 다양한 레이아웃).</p>
 
-<p>다시 시작을 적절히 처리하려면 액티비티가 정상적인 
+<p>다시 시작을 적절히 처리하려면 액티비티가 정상적인
 <a href="{@docRoot}guide/components/activities.html#Lifecycle">액티비티
-수명 주기</a>를 통해 이전 상태를 복원하는 것이 중요합니다. 여기에서 Android는 
-{@link android.app.Activity#onSaveInstanceState(Bundle) onSaveInstanceState()}를 호출한 다음에 액티비티를 소멸시켜 
-애플리케이션 상태에 대한 데이터를 저장할 수 있습니다. 그러면 
+수명 주기</a>를 통해 이전 상태를 복원하는 것이 중요합니다. 여기에서 Android는
+{@link android.app.Activity#onSaveInstanceState(Bundle) onSaveInstanceState()}를 호출한 다음에 액티비티를 소멸시켜
+애플리케이션 상태에 대한 데이터를 저장할 수 있습니다. 그러면
 {@link android.app.Activity#onCreate(Bundle) onCreate()} 또는 {@link
 android.app.Activity#onRestoreInstanceState(Bundle) onRestoreInstanceState()} 중에 상태를 복원할 수 있습니다.</p>
 
-<p>애플리케이션이 애플리케이션 상태를 그대로 유지한 채 스스로 다시 시작할 수 있는지 시험해 보려면, 
-구성 변경을 일으켜보아야 합니다(예를 들어 화면 방향 변경 등). 이는 애플리케이션에서 여러 가지 작업을 수행하는 
-동안 해봅니다. 애플리케이션이 언제든 사용자 데이터나 상태를 손실하지 않고 
-다시 시작할 수 있어야 합니다. 그래야 구성 변경과 같은 이벤트를 처리할 수 있기 때문입니다. 그렇지 않으면 
-사용자가 걸려오는 전화를 받은 다음 한참 후에 애플리케이션으로 돌아오면 애플리케이션 프로세스가 이미 
+<p>애플리케이션이 애플리케이션 상태를 그대로 유지한 채 스스로 다시 시작할 수 있는지 시험해 보려면,
+구성 변경을 일으켜보아야 합니다(예를 들어 화면 방향 변경 등). 이는 애플리케이션에서 여러 가지 작업을 수행하는
+동안 해봅니다. 애플리케이션이 언제든 사용자 데이터나 상태를 손실하지 않고
+다시 시작할 수 있어야 합니다. 그래야 구성 변경과 같은 이벤트를 처리할 수 있기 때문입니다. 그렇지 않으면
+사용자가 걸려오는 전화를 받은 다음 한참 후에 애플리케이션으로 돌아오면 애플리케이션 프로세스가 이미
 소멸되어 있을 수 있습니다. 액티비티 상태를 복원하는 방법을 배우려면, <a href="{@docRoot}guide/components/activities.html#Lifecycle">액티비티 수명 주기</a>에 관해 읽어보십시오.</p>
 
-<p>하지만, 애플리케이션을 다시 시작하고 상당량의 데이터를 복원하면 비용도 많이 들고 
-불량한 사용자 환경이 만들어지는 상황에 직면할 수도 있습니다. 그러한 상황이라면, 
+<p>하지만, 애플리케이션을 다시 시작하고 상당량의 데이터를 복원하면 비용도 많이 들고
+불량한 사용자 환경이 만들어지는 상황에 직면할 수도 있습니다. 그러한 상황이라면,
 두 가지 다른 옵션이 있습니다.</p>
 
 <ol type="a">
   <li><a href="#RetainingAnObject">구성 변경 중에 객체 보존하기</a>
-  <p>구성이 변경되는 중에 액티비티가 다시 시작될 수 있게 허용하되, 액티비티의 새 인스턴스에 상태 
+  <p>구성이 변경되는 중에 액티비티가 다시 시작될 수 있게 허용하되, 액티비티의 새 인스턴스에 상태
 저장 객체를 넣습니다.</p>
 
   </li>
   <li><a href="#HandlingTheChange">구성 변경 직접 처리하기</a>
-  <p>특정 구성 변경 중에 시스템이 액티비티를 다시 시작하도록 하지 못하게 방지하되, 
-구성이 실제로 변경되면 콜백을 수신하도록 하여 필요에 따라 액티비티를 수동으로 업데이트할 수 
+  <p>특정 구성 변경 중에 시스템이 액티비티를 다시 시작하도록 하지 못하게 방지하되,
+구성이 실제로 변경되면 콜백을 수신하도록 하여 필요에 따라 액티비티를 수동으로 업데이트할 수
 있도록 합니다.</p>
   </li>
 </ol>
@@ -64,30 +64,30 @@
 
 <h2 id="RetainingAnObject">구성 변경 중에 객체 보존하기</h2>
 
-<p>액티비티를 다시 시작하려면 많은 수의 데이터 세트를 복구해야 하는 경우, 네트워크 연결을 
-다시 설정하거나 다른 집약적 작업을 수행한 다음 완전히 다시 시작하십시오. 
-구성 변경 때문에 사용자 환경이 느려질 수 있습니다. 또한, 액티비티 상태를 완전히 복원하려면 
+<p>액티비티를 다시 시작하려면 많은 수의 데이터 세트를 복구해야 하는 경우, 네트워크 연결을
+다시 설정하거나 다른 집약적 작업을 수행한 다음 완전히 다시 시작하십시오.
+구성 변경 때문에 사용자 환경이 느려질 수 있습니다. 또한, 액티비티 상태를 완전히 복원하려면
 {@link android.os.Bundle}을 사용할 수도 있습니다. 이것은 시스템이 개발자 대신 {@link
-android.app.Activity#onSaveInstanceState(Bundle) onSaveInstanceState()} 콜백으로 저장해두는 것입니다. 이것은 대형 객체(예: 비트맵)를 담도록 
-디자인된 것이 아니며 이 안의 데이터는 반드시 직렬화했다가 다시 역직렬화해야 합니다. 이렇게 하면 
-메모리를 아주 많이 소모할 수 있으며 구성 변경이 느려질 수 있습니다. 이와 같은 상황에서는 
+android.app.Activity#onSaveInstanceState(Bundle) onSaveInstanceState()} 콜백으로 저장해두는 것입니다. 이것은 대형 객체(예: 비트맵)를 담도록
+디자인된 것이 아니며 이 안의 데이터는 반드시 직렬화했다가 다시 역직렬화해야 합니다. 이렇게 하면
+메모리를 아주 많이 소모할 수 있으며 구성 변경이 느려질 수 있습니다. 이와 같은 상황에서는
 액티비티를 다시 초기화해야 한다는 부담을 해결하기 위해 액티비티가 구성 변경으로 인해 다시 시작되었을 때 {@link
-android.app.Fragment}를 보존하면 됩니다. 이 프래그먼트에는 
+android.app.Fragment}를 보존하면 됩니다. 이 프래그먼트에는
 보존하고자 하는 상태 저장 객체에 대한 참조를 담을 수 있습니다.</p>
 
-<p>Android 시스템이 구성 변경으로 인하여 액티비티를 종료시킬 때, 액티비티에서 보존하기로 표시해둔 
-프래그먼트는 소멸되지 않습니다. 그러한 프래그먼트를 액티비티에 추가하면 
+<p>Android 시스템이 구성 변경으로 인하여 액티비티를 종료시킬 때, 액티비티에서 보존하기로 표시해둔
+프래그먼트는 소멸되지 않습니다. 그러한 프래그먼트를 액티비티에 추가하면
 상태 저장 객체를 보존할 수 있습니다.</p>
 
 <p>런타임 구성 변경 중에 상태 저장 객체를 프래그먼트에 보존해두는 방법은 다음과 같습니다.</p>
 
 <ol>
-  <li>{@link android.app.Fragment} 클래스를 확장하고 상태 저장 
+  <li>{@link android.app.Fragment} 클래스를 확장하고 상태 저장
 객체에 참조를 선언합니다.</li>
   <li>프래그먼트가 생성되면 {@link android.app.Fragment#setRetainInstance(boolean)}를 호출합니다.
       </li>
   <li>해당 프래그먼트를 액티비티에 추가합니다.</li>
-  <li>{@link android.app.FragmentManager}를 사용하여 액티비티가 다시 시작될 때 프래그먼트를 
+  <li>{@link android.app.FragmentManager}를 사용하여 액티비티가 다시 시작될 때 프래그먼트를
 검색합니다.</li>
 </ol>
 
@@ -117,16 +117,16 @@
 }
 </pre>
 
-<p class="caution"><strong>주의:</strong> 어느 객체든 저장할 수 있지만, 
+<p class="caution"><strong>주의:</strong> 어느 객체든 저장할 수 있지만,
 {@link android.app.Activity}에 묶여 있는 객체는 절대로 전달하면 안 됩니다. 예를 들어 {@link
 android.graphics.drawable.Drawable}, {@link android.widget.Adapter}, {@link android.view.View}
- 또는 {@link android.content.Context}와 연관된 기타 모든 객체가 이에 해당됩니다. 이런 것을 전달하면, 
-원래 액티비티 인스턴스의 모든 보기와 리소스를 몽땅 누출시킵니다. (리소스 누출이란 
-애플리케이션이 리소스에 대한 보유권을 유지하고 있어 가비지 수집의 대상이 될 수 없고, 따라서 엄청난 양의 메모리가 
+ 또는 {@link android.content.Context}와 연관된 기타 모든 객체가 이에 해당됩니다. 이런 것을 전달하면,
+원래 액티비티 인스턴스의 모든 보기와 리소스를 몽땅 누출시킵니다. (리소스 누출이란
+애플리케이션이 리소스에 대한 보유권을 유지하고 있어 가비지 수집의 대상이 될 수 없고, 따라서 엄청난 양의 메모리가
 손실된다는 뜻입니다.)</p>
 
-<p>그런 다음 {@link android.app.FragmentManager}를 사용하여 프래그먼트를 액티비티에 추가합니다. 
-프래그먼트에서 데이터 객체를 가져오려면 런타임 구성 변경 중에 액티비티가 다시 시작될 때 
+<p>그런 다음 {@link android.app.FragmentManager}를 사용하여 프래그먼트를 액티비티에 추가합니다.
+프래그먼트에서 데이터 객체를 가져오려면 런타임 구성 변경 중에 액티비티가 다시 시작될 때
 가져오면 됩니다. 예를 들어, 액티비티를 다음과 같이 정의합니다.</p>
 
 <pre>
@@ -165,10 +165,10 @@
 }
 </pre>
 
-<p>이 예시에서 {@link android.app.Activity#onCreate(Bundle) onCreate()}는 프래그먼트를 추가하거나 
-이에 대한 참조를 복원합니다. {@link android.app.Activity#onCreate(Bundle) onCreate()} 또한 
-프래그먼트 인스턴스 안에 상태 저장 객체를 저장합니다. 
-{@link android.app.Activity#onDestroy() onDestroy()}는 보존된 
+<p>이 예시에서 {@link android.app.Activity#onCreate(Bundle) onCreate()}는 프래그먼트를 추가하거나
+이에 대한 참조를 복원합니다. {@link android.app.Activity#onCreate(Bundle) onCreate()} 또한
+프래그먼트 인스턴스 안에 상태 저장 객체를 저장합니다.
+{@link android.app.Activity#onDestroy() onDestroy()}는 보존된
 프래그먼트 인스턴스 내부의 상태 저장 객체를 업데이트합니다.</p>
 
 
@@ -177,26 +177,26 @@
 
 <h2 id="HandlingTheChange">구성 변경 직접 처리하기</h2>
 
-<p>애플리케이션이 특정 구성 변경 중에 리소스를 업데이트하지 않아도 되고 
-그와 <em>동시에</em> 성능 한계가 있어 액티비티 다시 시작을 피해야 하는 경우, 
-액티비티가 구성 변경을 알아서 처리한다고 선언하면 됩니다. 
+<p>애플리케이션이 특정 구성 변경 중에 리소스를 업데이트하지 않아도 되고
+그와 <em>동시에</em> 성능 한계가 있어 액티비티 다시 시작을 피해야 하는 경우,
+액티비티가 구성 변경을 알아서 처리한다고 선언하면 됩니다.
 이렇게 하면 시스템이 액티비티를 다시 시작하지 않도록 방지할 수 있습니다.</p>
 
-<p class="note"><strong>참고:</strong> 구성 변경을 직접 처리하면 대체 리소스를 사용하는 것이 
-훨씬 더 까다로워질 수 있습니다. 시스템이 개발자 대신 자동으로 이를 적용해주지 않기 
-때문입니다. 이 기법은 구성 변경으로 인한 재시작을 반드시 피해야만 하는 경우 최후의 수단으로서만 
+<p class="note"><strong>참고:</strong> 구성 변경을 직접 처리하면 대체 리소스를 사용하는 것이
+훨씬 더 까다로워질 수 있습니다. 시스템이 개발자 대신 자동으로 이를 적용해주지 않기
+때문입니다. 이 기법은 구성 변경으로 인한 재시작을 반드시 피해야만 하는 경우 최후의 수단으로서만
 고려해야 하며 대부분의 애플리케이션에는 권장하지 않습니다.</p>
 
-<p>액티비티가 구성 변경을 직접 처리한다고 선언하려면, 매니페스트 파일의 적절한 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 요소를 편집하여 
+<p>액티비티가 구성 변경을 직접 처리한다고 선언하려면, 매니페스트 파일의 적절한 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 요소를 편집하여
 처리하고자 하는 구성을 나타내는 값이 있는 <a href="{@docRoot}guide/topics/manifest/activity-element.html#config">{@code
-android:configChanges}</a> 속성을 포함하도록 
+android:configChanges}</a> 속성을 포함하도록
 합니다. 가능한 값은 <a href="{@docRoot}guide/topics/manifest/activity-element.html#config">{@code
-android:configChanges}</a> 속성에 대한 관련 문서에 목록으로 나열되어 있습니다(가장 보편적으로 사용되는 값은 화면 방향이 변경될 때 다시 시작을 방지하는 {@code "orientation"}과 
+android:configChanges}</a> 속성에 대한 관련 문서에 목록으로 나열되어 있습니다(가장 보편적으로 사용되는 값은 화면 방향이 변경될 때 다시 시작을 방지하는 {@code "orientation"}과
 키보드 가용성이 변경될 때 다시 시작을 방지하는 {@code "keyboardHidden"}
-입니다).  이 속성에는 여러 개의 구성 값을 선언할 수 있습니다. 각각을 
+입니다).  이 속성에는 여러 개의 구성 값을 선언할 수 있습니다. 각각을
 파이프 {@code |} 문자로 구분하면 됩니다.</p>
 
-<p>예를 들어 다음 매니페스트 코드는 화면 방향 변경과 키보드 가용성 변경을 둘 다 
+<p>예를 들어 다음 매니페스트 코드는 화면 방향 변경과 키보드 가용성 변경을 둘 다
 처리하는 액티비티를 선언하는 것입니다.</p>
 
 <pre>
@@ -205,29 +205,29 @@
           android:label="@string/app_name">
 </pre>
 
-<p>이제 이러한 구성 중 하나가 변경되어도 {@code MyActivity}는 다시 시작하지 않습니다. 
+<p>이제 이러한 구성 중 하나가 변경되어도 {@code MyActivity}는 다시 시작하지 않습니다.
 그 대신, {@code MyActivity}가 {@link
-android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()}로의 호출을 받습니다. 이 메서드는 
-{@link android.content.res.Configuration} 객체로 전달되며, 이는 새 기기 구성을 
-나타냅니다. {@link android.content.res.Configuration}의 필드를 읽어보면 
-새 구성을 판별할 수 있고 적절한 변경을 할 수 있습니다. 그러려면 인터페이스에 사용된 리소스를 
-업데이트하면 됩니다. 이 메서드가 
-호출되면, 액티비티의 {@link android.content.res.Resources} 객체가 
-업데이트되어 새 구성에 기반한 리소스를 반환하며, 따라서 시스템이 액티비티를 다시 시작하지 않아도 
+android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()}로의 호출을 받습니다. 이 메서드는
+{@link android.content.res.Configuration} 객체로 전달되며, 이는 새 기기 구성을
+나타냅니다. {@link android.content.res.Configuration}의 필드를 읽어보면
+새 구성을 판별할 수 있고 적절한 변경을 할 수 있습니다. 그러려면 인터페이스에 사용된 리소스를
+업데이트하면 됩니다. 이 메서드가
+호출되면, 액티비티의 {@link android.content.res.Resources} 객체가
+업데이트되어 새 구성에 기반한 리소스를 반환하며, 따라서 시스템이 액티비티를 다시 시작하지 않아도
 UI의 요소를 손쉽게 재설정할 수 있게 됩니다.</p>
 
-<p class="caution"><strong>주의:</strong> Android 3.2(API 레벨 13)부터 기기가 
-세로 방향 및 가로 방향 사이를 전환할 때 <strong>"화면 크기"도 
-같이 변경됩니다</strong>. 따라서, 
+<p class="caution"><strong>주의:</strong> Android 3.2(API 레벨 13)부터 기기가
+세로 방향 및 가로 방향 사이를 전환할 때 <strong>"화면 크기"도
+같이 변경됩니다</strong>. 따라서,
 API 레벨 13 이상(<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> 및 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
  속성에서 선언한 내용에 따름)을 대상으로 개발하는 경우 방향 변경으로 인한 런타임 다시 시작을 방지하고자 하면, {@code
 "orientation"} 값 외에 {@code "screenSize"} 값도 포함시켜야 합니다. 다시 말해, {@code
-android:configChanges="orientation|screenSize"}를 선언해야 합니다. 하지만, 애플리케이션이 API 레벨 12 이하를 
-대상으로 하는 경우라면 애플리케이션이 언제든 이 구성 변경을 알아서 처리합니다(이 구성 변경은 
+android:configChanges="orientation|screenSize"}를 선언해야 합니다. 하지만, 애플리케이션이 API 레벨 12 이하를
+대상으로 하는 경우라면 애플리케이션이 언제든 이 구성 변경을 알아서 처리합니다(이 구성 변경은
 액티비티를 다시 시작하지 않습니다. 이는 Android 3.2 이상 기기에서 실행되는 경우에도 마찬가지입니다).</p>
 
 <p>예를 들어, 다음 {@link
-android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()} 구현은 
+android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()} 구현은
 현재 기기의 방향을 확인합니다.</p>
 
 <pre>
@@ -244,36 +244,36 @@
 }
 </pre>
 
-<p>{@link android.content.res.Configuration} 객체는 변경된 것만이 아니라 현재 
-구성 전체를 나타냅니다. 대부분의 경우에는 구성이 정확히 어떻게 
-변경되었는지에는 관심이 없고 처리 중인 구성에 대체 리소스를 제공하는 모든 리소스를 그저 
+<p>{@link android.content.res.Configuration} 객체는 변경된 것만이 아니라 현재
+구성 전체를 나타냅니다. 대부분의 경우에는 구성이 정확히 어떻게
+변경되었는지에는 관심이 없고 처리 중인 구성에 대체 리소스를 제공하는 모든 리소스를 그저
 재할당하기만 하면 됩니다. 예를 들어 이제 {@link
 android.content.res.Resources} 객체가 업데이트되었으니 {@link android.widget.ImageView#setImageResource(int)
-setImageResource()}가 있는 모든 
-{@link android.widget.ImageView}와 
+setImageResource()}가 있는 모든
+{@link android.widget.ImageView}와
 새 구성에 대한 적절한 리소스를 재설정할 수 있습니다(<a href="providing-resources.html#AlternateResources">리소스 제공</a>에 설명된 바와 같음).</p>
 
 <p>{@link
-android.content.res.Configuration} 필드에서 가져온 값이 
-{@link android.content.res.Configuration} 클래스에서 가져온 특정 상수와 일치하는 정수라는 점을 눈여겨 보십시오. 각 필드에 
+android.content.res.Configuration} 필드에서 가져온 값이
+{@link android.content.res.Configuration} 클래스에서 가져온 특정 상수와 일치하는 정수라는 점을 눈여겨 보십시오. 각 필드에
 어느 상수를 써야 하는지에 대한 관련 문서는 {@link
 android.content.res.Configuration} 참조에 있는 적절한 필드를 참조하십시오.</p>
 
-<p class="note"><strong>명심할 점:</strong> 액티비티가 직접 구성 변경을 처리한다고 선언하는 경우, 
-대체를 제공하는 모든 요소에 대해 본인이 직접 책임을 지게 됩니다. 액티비티가 직접 
-방향 변경을 처리하고 가로 및 세로 방향 사이에서 바뀌어야 하는 이미지가 있는 경우, 
+<p class="note"><strong>명심할 점:</strong> 액티비티가 직접 구성 변경을 처리한다고 선언하는 경우,
+대체를 제공하는 모든 요소에 대해 본인이 직접 책임을 지게 됩니다. 액티비티가 직접
+방향 변경을 처리하고 가로 및 세로 방향 사이에서 바뀌어야 하는 이미지가 있는 경우,
 각 리소스를 각 요소에 재할당해야 하며 이를 {@link
 android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()} 중에 수행해야 합니다.</p>
 
-<p>이러한 구성 변경을 기반으로 애플리케이션을 업데이트하지 않아도 되는 경우, 
+<p>이러한 구성 변경을 기반으로 애플리케이션을 업데이트하지 않아도 되는 경우,
 대신 {@link
-android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()}를 구현하지 <em>않으면</em> 됩니다. 이런 
-경우, 구성 변경 전에 쓰였던 리소스가 모두 그대로 사용되고 액티비티의 다시 시작만 
-피한 것이 됩니다. 그러나, 애플리케이션은 
-언제든 종료되고 이전 상태를 그대로 유지한 채 다시 시작될 수 있어야 합니다 정상적인 액티비티 
-수명 주기 중에 상태 유지에서의 탈출 방안으로 이 기법을 고려해서는 안 됩니다. 이는 애플리케이션이 
-다시 시작되지 않도록 방지할 수 없는, 다른 구성 변경도 여럿 있어서일뿐만 아니라, 사용자가 
-애플리케이션을 떠났을 경우 해당 사용자가 다시 돌아오기 전에 소멸되는 것과 같은 이벤트를 처리해야 하기 때문이라는 
+android.app.Activity#onConfigurationChanged(Configuration) onConfigurationChanged()}를 구현하지 <em>않으면</em> 됩니다. 이런
+경우, 구성 변경 전에 쓰였던 리소스가 모두 그대로 사용되고 액티비티의 다시 시작만
+피한 것이 됩니다. 그러나, 애플리케이션은
+언제든 종료되고 이전 상태를 그대로 유지한 채 다시 시작될 수 있어야 합니다 정상적인 액티비티
+수명 주기 중에 상태 유지에서의 탈출 방안으로 이 기법을 고려해서는 안 됩니다. 이는 애플리케이션이
+다시 시작되지 않도록 방지할 수 없는, 다른 구성 변경도 여럿 있어서일뿐만 아니라, 사용자가
+애플리케이션을 떠났을 경우 해당 사용자가 다시 돌아오기 전에 소멸되는 것과 같은 이벤트를 처리해야 하기 때문이라는
 이유도 있습니다.</p>
 
 <p>액티비티 내에서 처리할 수 있는 구성 변경이 무엇인지에 대한 자세한 내용은 <a href="{@docRoot}guide/topics/manifest/activity-element.html#config">{@code
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/controls.jd b/docs/html-intl/intl/ko/guide/topics/ui/controls.jd
index bf87398..9561ba05 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/controls.jd
@@ -7,11 +7,11 @@
   <img src="{@docRoot}images/ui/ui-controls.png" alt="" style="margin:0" />
 </div>
 
-<p>입력 제어는 앱의 사용자 인터페이스에 있는 대화형 구성 요소입니다. 
+<p>입력 제어는 앱의 사용자 인터페이스에 있는 대화형 구성 요소입니다.
 Android는 버튼, 텍스트 필드, 찾기 막대, 확인란, 확대 버튼, 전환 버튼 등과 같이
 UI에서 사용할 수 있도록 매우 다양한 제어를 제공합니다.</p>
 
-<p>UI에 입력 제어를 추가하려면 단순히 <a href="{@docRoot}guide/topics/ui/declaring-layout.html">XML 레이아웃</a>에 XML 요소를 하나 추가하기만 하면 됩니다. 
+<p>UI에 입력 제어를 추가하려면 단순히 <a href="{@docRoot}guide/topics/ui/declaring-layout.html">XML 레이아웃</a>에 XML 요소를 하나 추가하기만 하면 됩니다.
 다음은 텍스트 필드와 버튼이 있는 레이아웃을 예시로 나타낸 것입니다.</p>
 
 <pre style="clear:right">
@@ -33,16 +33,16 @@
 &lt;/LinearLayout>
 </pre>
 
-<p>각 입력 제어는 특정한 입력 이벤트를 지원하므로, 사용자가 텍스트를 입력할 때 또는 버튼을 터치할 때 
+<p>각 입력 제어는 특정한 입력 이벤트를 지원하므로, 사용자가 텍스트를 입력할 때 또는 버튼을 터치할 때
 이벤트를 처리할 수 있게 해줍니다.</p>
 
 
 <h2 id="CommonControls">보편적인 제어</h2>
-<p>다음은 앱에서 사용할 수 있는 몇 가지 보편적인 제어를 목록으로 나열한 것입니다. 링크를 따라가면 각 제어에 대해 
+<p>다음은 앱에서 사용할 수 있는 몇 가지 보편적인 제어를 목록으로 나열한 것입니다. 링크를 따라가면 각 제어에 대해
 좀 더 자세히 알아볼 수 있습니다.</p>
 
 <p class="note"><strong>참고:</strong> Android는 여기에 나열된 것보다 몇 가지 더 많은 제어를 제공합니다.
- 더 많은 내용을 알아보려면 {@link android.widget} 패키지를 탐색해보십시오. 
+ 더 많은 내용을 알아보려면 {@link android.widget} 패키지를 탐색해보십시오.
 앱에 특정한 종류의 입력 제어가 필요한 경우, 나름의 <a href="{@docRoot}guide/topics/ui/custom-components.html">사용자 지정 구성 요소</a>를 직접 구축해도 됩니다.</p>
 
 <table>
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">무선 버튼</a></td>
         <td>확인란과 비슷하지만, 예외가 있다면 그룹 내에서 하나만 선택할 수 있다는 점입니다.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/ko/guide/topics/ui/declaring-layout.jd
index 7883236..97f9083 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/declaring-layout.jd
@@ -34,14 +34,14 @@
 
   <h2>참고 항목</h2>
   <ol>
-    <li><a href="{@docRoot}training/basics/firstapp/building-ui.html">간단한 사용자 
+    <li><a href="{@docRoot}training/basics/firstapp/building-ui.html">간단한 사용자
 인터페이스 구축</a></li> </div>
 </div>
 
 <p>레이아웃은 사용자 인터페이스에 대한 시각적 구조를 정의합니다. 예컨대 <a href="{@docRoot}guide/components/activities.html">액티비티</a> 또는 <a href="{@docRoot}guide/topics/appwidgets/index.html">앱 위젯</a>에 대한 UI가 이에 해당됩니다.
 레이아웃을 선언하는 데에는 다음과 같은 두 가지 방법이 있습니다.</p>
 <ul>
-<li><strong>UI 요소를 XML로 선언</strong>. Android가 위젯과 레이아웃 등과 같이 
+<li><strong>UI 요소를 XML로 선언</strong>. Android가 위젯과 레이아웃 등과 같이
 보기 클래스와 하위 클래스에 상응하는 간단한 XML 어휘를 제공합니다.</li>
 <li><strong>런타임에 레이아웃 요소를 인스턴트화</strong>. 애플리케이션이
  프로그래밍 방법으로 보기 및 ViewGroup객체를 만들 수 있습니다(그리고 그 속성을 조작하기도 합니다). </li>
@@ -55,26 +55,26 @@
   <li><a href="{@docRoot}tools/sdk/eclipse-adt.html">Eclipse용 ADT
  플러그인</a>이 XML의 레이아웃 미리보기를 제공합니다. &mdash;
 XML 파일이 열린 상태에서 <strong>레이아웃</strong> 탭을 선택하십시오.</li>
-  <li>또한, 
-<a href="{@docRoot}tools/debugging/debugging-ui.html#hierarchyViewer">계층 뷰어</a> 도구로 
-레이아웃 디버깅도 시도해 보아야 합니다.&mdash;이것은 레이아웃 속성 값을 드러내고, 
-내부 여백/여백 표시기가 있는 와이어프레임을 그리며 개발자가 에뮬레이터 또는 기기에서 디버깅하는 동안 
+  <li>또한,
+<a href="{@docRoot}tools/debugging/debugging-ui.html#hierarchyViewer">계층 뷰어</a> 도구로
+레이아웃 디버깅도 시도해 보아야 합니다.&mdash;이것은 레이아웃 속성 값을 드러내고,
+내부 여백/여백 표시기가 있는 와이어프레임을 그리며 개발자가 에뮬레이터 또는 기기에서 디버깅하는 동안
 완전히 렌더링된 보기를 제공합니다.</li>
   <li><a href="{@docRoot}tools/debugging/debugging-ui.html#layoutopt">layoutopt</a> 도구를
  사용하면 레이아웃과 계층을 비효율성 또는 다른 문제에 대하여 재빨리 분석할 수 있게 해줍니다.</li>
 </div>
 </div>
 
-<p>UI를 XML로 선언하는 것의 이점은 이렇게 하면 애플리케이션을 그 행동을 제어하는 코드로부터 따로 표시하기가 더 좋다는 것입니다. UI 설명은 애플리케이션 코드의 외부에 있습니다. 이는 다시 말해 소스 코드를 수정하고 다시 컴파일링하지 않아도 이를 수정 또는 변경할 수 있다는 뜻입니다. 예를 들어, 서로 다른 화면 방향, 사로 다른 기기 화면 크기 및 서로 다른 언어에 대해 XML 레이아웃을 생성할 수 있습니다. 이외에도 레이아웃을 XML로 선언하면 UI의 구조를 시각화하기가 더 쉬우므로 문제를 디버깅하기도 더 쉽습니다. 따라서, 이 문서는 레이아웃을 XML로 선언하는 방법을 가르치는 데 주안점을 두고 있습니다. 런타임에 보기 객체를 인스턴트화하는 것에 흥미가 있는 경우, 
-{@link android.view.ViewGroup} 및 
+<p>UI를 XML로 선언하는 것의 이점은 이렇게 하면 애플리케이션을 그 행동을 제어하는 코드로부터 따로 표시하기가 더 좋다는 것입니다. UI 설명은 애플리케이션 코드의 외부에 있습니다. 이는 다시 말해 소스 코드를 수정하고 다시 컴파일링하지 않아도 이를 수정 또는 변경할 수 있다는 뜻입니다. 예를 들어, 서로 다른 화면 방향, 사로 다른 기기 화면 크기 및 서로 다른 언어에 대해 XML 레이아웃을 생성할 수 있습니다. 이외에도 레이아웃을 XML로 선언하면 UI의 구조를 시각화하기가 더 쉬우므로 문제를 디버깅하기도 더 쉽습니다. 따라서, 이 문서는 레이아웃을 XML로 선언하는 방법을 가르치는 데 주안점을 두고 있습니다. 런타임에 보기 객체를 인스턴트화하는 것에 흥미가 있는 경우,
+{@link android.view.ViewGroup} 및
 {@link android.view.View} 클래스 참조를 참조하십시오.</p>
 
-<p>일반적으로 UI 요소를 선언하는 데 쓰이는 XML 어휘는 클래스와 메서드 명명을 충실히 따릅니다. 여기에서 요소 이름은 클래스 이름에 상응하며 속성 이름은 메서드에 상응합니다. 사실 이러한 일치성은 아주 직접적인 경우가 잦아 어느 XML 속성이 클래스 메서드에 상응하는지를 추측할 수 있고, 어느 클래스가 주어진 XML 요소에 상응하는지도 추측할 수 있습니다. 다만 모든 어휘가 다 같지는 않다는 점을 유의하십시오. 몇몇 경우에는 명명에 약간의 차이점이 있습니다. 예를 들어, 
-EditText 요소에는 <code>text</code> 속성이 있으며 이는 
+<p>일반적으로 UI 요소를 선언하는 데 쓰이는 XML 어휘는 클래스와 메서드 명명을 충실히 따릅니다. 여기에서 요소 이름은 클래스 이름에 상응하며 속성 이름은 메서드에 상응합니다. 사실 이러한 일치성은 아주 직접적인 경우가 잦아 어느 XML 속성이 클래스 메서드에 상응하는지를 추측할 수 있고, 어느 클래스가 주어진 XML 요소에 상응하는지도 추측할 수 있습니다. 다만 모든 어휘가 다 같지는 않다는 점을 유의하십시오. 몇몇 경우에는 명명에 약간의 차이점이 있습니다. 예를 들어,
+EditText 요소에는 <code>text</code> 속성이 있으며 이는
 <code>EditText.setText()</code>에 상응합니다. </p>
 
 <p class="note"><strong>팁:</strong> 여러 가지 레이아웃 유형에 대해서는 <a href="{@docRoot}guide/topics/ui/layout-objects.html">보편적인
-레이아웃 객체</a>를 참조하십시오. 여러 가지 레이아웃을 구축하는 데 대한 튜토리얼 모음도 있습니다. 
+레이아웃 객체</a>를 참조하십시오. 여러 가지 레이아웃을 구축하는 데 대한 튜토리얼 모음도 있습니다.
 <a href="{@docRoot}resources/tutorials/views/index.html">Hello 보기</a> 튜토리얼 가이드를 참조하십시오.</p>
 
 <h2 id="write">XML 쓰기</h2>
@@ -100,20 +100,20 @@
 &lt;/LinearLayout>
 </pre>
 
-<p>레이아웃을 XML로 선언하고 나면 그 파일을 Android 프로젝트의 <code>res/layout/</code> 디렉터리 내에 
+<p>레이아웃을 XML로 선언하고 나면 그 파일을 Android 프로젝트의 <code>res/layout/</code> 디렉터리 내에
 <code>.xml</code> 확장자로 저장하여 적절하게 컴파일링되도록 합니다. </p>
 
 <p>레이아웃 XML 파일의 구문에 대한 자세한 정보는 <a href="{@docRoot}guide/topics/resources/layout-resource.html">레이아웃 리소스</a> 문서에서 확인할 수 있습니다.</p>
 
 <h2 id="load">XML 리소스 로딩</h2>
 
-<p>애플리케이션을 컴파일링하는 경우, 각 XML 레이아웃 파일이 
-{@link android.view.View} 리소스 안에 컴파일링됩니다. 애플리케이션 코드로부터 가져온 레이아웃 리소스는 
-{@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()} 콜백 
+<p>애플리케이션을 컴파일링하는 경우, 각 XML 레이아웃 파일이
+{@link android.view.View} 리소스 안에 컴파일링됩니다. 애플리케이션 코드로부터 가져온 레이아웃 리소스는
+{@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()} 콜백
 구현에 로딩해야 합니다.
-이렇게 하려면 <code>{@link android.app.Activity#setContentView(int) setContentView()}</code>를 호출한 다음, 이를 
+이렇게 하려면 <code>{@link android.app.Activity#setContentView(int) setContentView()}</code>를 호출한 다음, 이를
 <code>R.layout.<em>layout_file_name</em></code> 형태로 레이아웃 리소스의 참조에 전달합니다.
- 예를 들어, XML 레이아웃이 <code>main_layout.xml</code>로 저장된 경우, 이것을 액티비티에 대해 로딩하려면 
+ 예를 들어, XML 레이아웃이 <code>main_layout.xml</code>로 저장된 경우, 이것을 액티비티에 대해 로딩하려면
 다음과 같이 하면 됩니다.</p>
 <pre>
 public void onCreate(Bundle savedInstanceState) {
@@ -122,8 +122,8 @@
 }
 </pre>
 
-<p>액티비티 내의 <code>onCreate()</code> 콜백 메서드는 액티비티가 시작될 때 
-Android 프레임워크가 호출합니다(수명 주기에 대한 논의는 
+<p>액티비티 내의 <code>onCreate()</code> 콜백 메서드는 액티비티가 시작될 때
+Android 프레임워크가 호출합니다(수명 주기에 대한 논의는
 <a href="{@docRoot}guide/components/activities.html#Lifecycle">액티비티</a>
  문서에서 확인하십시오).</p>
 
@@ -134,24 +134,24 @@
 몇몇 속성은 보기 객체에만 특화되어 있지만(예를 들어, TextView는 <code>textSize</code>
 속성을 지원), 이와 같은 속성은 이 클래스를 확장할 수 있는 모든 보기 객체가 상속하기도 합니다.
 모든 보기 객체에 공통으로 쓰이는 것도 몇 가지 있습니다. 왜냐하면 이들은 루트 보기 클래스에서 상속된 것이기 때문입니다(예:
-<code>id</code> 속성). 그리고 나머지 속성은 "레이아웃 매개변수"로 간주됩니다. 
-이들은 보기 객체의 특정한 레이아웃 방향을 설명하는 것으로, 이는 해당 객체의 상위 VeiwGroup 객체에서 
+<code>id</code> 속성). 그리고 나머지 속성은 "레이아웃 매개변수"로 간주됩니다.
+이들은 보기 객체의 특정한 레이아웃 방향을 설명하는 것으로, 이는 해당 객체의 상위 VeiwGroup 객체에서
 정의된 바에 따릅니다.</p>
 
 <h3 id="id">ID</h3>
 
 <p>모든 보기 객체에는 연관된 정수 ID가 있을 수 있습니다. 이는 트리 내에서 해당 보기를 고유하게 식별하기 위한 것입니다.
-애플리케이션이 컴파일링되면 이 ID가 정수로 참조되지만, ID는 
-일반적으로 레이아웃 XML 파일에 문자열로 할당되며, <code>id</code> 속성으로 쓰입니다. 
+애플리케이션이 컴파일링되면 이 ID가 정수로 참조되지만, ID는
+일반적으로 레이아웃 XML 파일에 문자열로 할당되며, <code>id</code> 속성으로 쓰입니다.
 이것은 모든 보기 객체에 공통적인 XML 속성으로
 ({@link android.view.View} 클래스가 정의) 이것을 매우 자주 사용하게 됩니다.
 ID에 대한, XML 태그 내에 있는 구문은 다음과 같습니다.</p>
 <pre>android:id="&#64;+id/my_button"</pre>
 
-<p>문자열 시작 부분에 있는 앳 기호(@)는 XML 파서가 ID 문자열의 나머지를 구문 분석하고 확장하여 
-ID 리소스로 식별해야 한다는 것을 나타냅니다. 더하기 기호(+)는 이것이 새 리소스 이름이며, 
-이것을 반드시 생성하여 우리 리소스에 추가해야 한다는 것을 뜻합니다(<code>R.java</code> 파일에서). Android 프레임워크는 다른 ID 리소스도 아주 많이 
-제공합니다. Android 리소스 ID를 참조할 때에는 더하기 기호는 필요하지 않지만 
+<p>문자열 시작 부분에 있는 앳 기호(@)는 XML 파서가 ID 문자열의 나머지를 구문 분석하고 확장하여
+ID 리소스로 식별해야 한다는 것을 나타냅니다. 더하기 기호(+)는 이것이 새 리소스 이름이며,
+이것을 반드시 생성하여 우리 리소스에 추가해야 한다는 것을 뜻합니다(<code>R.java</code> 파일에서). Android 프레임워크는 다른 ID 리소스도 아주 많이
+제공합니다. Android 리소스 ID를 참조할 때에는 더하기 기호는 필요하지 않지만
 <code>android</code> 패키지 네임스페이스를 다음과 같이 반드시 추가해야 합니다.</p>
 <pre>android:id="&#64;android:id/empty"</pre>
 <p><code>android</code> 패키지 네임스페이스를 제자리에 넣으면 이제 ID를 로컬 리소스 클래스에서가 아니라 <code>android.R</code>
@@ -174,54 +174,54 @@
 </pre>
   </li>
 </ol>
-<p>{@link android.widget.RelativeLayout}을 생성할 때에는 보기 객체의 ID를 정의하는 것이 중요합니다. 
-관계 레이아웃에서는 형제 보기가 또 다른 형제 보기와 관련된 자신의 레이아웃을 정의할 수 있으며, 
+<p>{@link android.widget.RelativeLayout}을 생성할 때에는 보기 객체의 ID를 정의하는 것이 중요합니다.
+관계 레이아웃에서는 형제 보기가 또 다른 형제 보기와 관련된 자신의 레이아웃을 정의할 수 있으며,
 이를 고유한 ID로 참조하게 됩니다.</p>
-<p>ID는 트리 전체를 통틀어 고유할 필요는 없지만, 트리에서 검색하고 있는 부분 내에서는 
-고유해야 합니다(이것이 트리 전체인 경우가 잦으므로, 가급적이면 완전히 
+<p>ID는 트리 전체를 통틀어 고유할 필요는 없지만, 트리에서 검색하고 있는 부분 내에서는
+고유해야 합니다(이것이 트리 전체인 경우가 잦으므로, 가급적이면 완전히
 고유한 것을 쓰는 것이 가장 좋습니다).</p>
 
 
 <h3 id="layout-params">레이아웃 매개변수</h3>
 
-<p><code>layout_<em>something</em></code>이라는 XML 레이아웃 속성이 
+<p><code>layout_<em>something</em></code>이라는 XML 레이아웃 속성이
 보기가 상주하는 ViewGroup에 대해 적절한 보기의 레이아웃 매개변수를 정의합니다.</p>
 
 <p>모든 ViewGroup 클래스가 중첩된 클래스를 하나씩 구현하며 이것이 {@link
-android.view.ViewGroup.LayoutParams}를 확장합니다. 이 하위 클래스에는 
-각 하위 보기의 크기와 위치를 보기 그룹에 적절한 방식으로 정의하는 
-속성 유형이 들어 있습니다. 그림 1에서 볼 수 있듯이, 상위 보기 그룹이 
+android.view.ViewGroup.LayoutParams}를 확장합니다. 이 하위 클래스에는
+각 하위 보기의 크기와 위치를 보기 그룹에 적절한 방식으로 정의하는
+속성 유형이 들어 있습니다. 그림 1에서 볼 수 있듯이, 상위 보기 그룹이
 각 하위 보기의 레이아웃 매개변수를 정의합니다(하위 보기 그룹 포함).</p>
 
 <img src="{@docRoot}images/layoutparams.png" alt="" />
-<p class="img-caption"><strong>그림 1.</strong> 각 보기와 연관된 레이아웃 매개변수가 
+<p class="img-caption"><strong>그림 1.</strong> 각 보기와 연관된 레이아웃 매개변수가
 있는 보기 계층을 시각화한 것입니다.</p>
 
-<p>모든 LayoutParams 하위 클래스에는 설정 값에 대한 각기 자신만의 구문이 있다는 점을 
-눈여겨 보십시오. 각 하위 요소는 자신의 상위에 적합한 LayoutParams를 정의해야 합니다. 
+<p>모든 LayoutParams 하위 클래스에는 설정 값에 대한 각기 자신만의 구문이 있다는 점을
+눈여겨 보십시오. 각 하위 요소는 자신의 상위에 적합한 LayoutParams를 정의해야 합니다.
 다만 이것은 자신의 하위에 대해 각기 다른 LayoutParams도 정의할 수 있습니다. </p>
 
-<p>모든 보기 그룹에는 너비와 높이가 포함되며(<code>layout_width</code> 및 
-<code>layout_height</code>), 각 보기는 이들을 반드시 정의해야 합니다. 선택 사항으로 
+<p>모든 보기 그룹에는 너비와 높이가 포함되며(<code>layout_width</code> 및
+<code>layout_height</code>), 각 보기는 이들을 반드시 정의해야 합니다. 선택 사항으로
 여백과 테두리도 포함하는 LayoutParams도 많습니다. <p>
 
-<p>너비와 높이는 정확한 치수로 지정할 수 있습니다. 다만 이것은 자주 하지 
-않는 것이 좋습니다. 그보다는 다음과 같은 상수 중 하나를 사용하여 너비 또는 높이를 설정하는 경우가 
+<p>너비와 높이는 정확한 치수로 지정할 수 있습니다. 다만 이것은 자주 하지
+않는 것이 좋습니다. 그보다는 다음과 같은 상수 중 하나를 사용하여 너비 또는 높이를 설정하는 경우가
 더 많습니다. </p>
 
 <ul>
-  <li><var>wrap_content</var> 보기에 콘텐츠에 필요한 치수대로 알아서 
+  <li><var>wrap_content</var> 보기에 콘텐츠에 필요한 치수대로 알아서
 크기를 조정하라고 합니다.</li>
   <li><var>match_parent</var> (다른 이름은 <var>fill_parent</var> 로, API 레벨 8 이전에 해당)
 보기에 상위 보기 그룹이 허용하는 한 최대한으로 커지라고 합니다.</li>
 </ul>
 
-<p>일반적으로 픽셀과 같이 절대적인 단위를 사용하여 레이아웃 너비와 높이를 지정하는 것은 
-권장하지 않습니다. 그 대신, 밀도 독립적인 픽셀 단위와 같이 상대적인 측정치를 
+<p>일반적으로 픽셀과 같이 절대적인 단위를 사용하여 레이아웃 너비와 높이를 지정하는 것은
+권장하지 않습니다. 그 대신, 밀도 독립적인 픽셀 단위와 같이 상대적인 측정치를
 사용하는 것(<var>dp</var>), <var>wrap_content</var>, 또는
-<var>match_parent</var>등이 더 낫습니다. 이렇게 하면 
+<var>match_parent</var>등이 더 낫습니다. 이렇게 하면
 애플리케이션이 다양한 기기 화면 크기에 걸쳐서도 적절하게 표시되도록 보장하는 데 도움이 되기 때문입니다.
-허용된 측정 유형은 
+허용된 측정 유형은
 <a href="{@docRoot}guide/topics/resources/available-resources.html#dimension">
 사용 가능한 리소스</a>에 정의되어 있습니다.</p>
 
@@ -229,23 +229,23 @@
 <h2 id="Position">레이아웃 위치</h2>
    <p>
    보기의 모양은 직사각형입니다. 보기에는 위치가 있으며, 이는
- 한 쌍의 <em>왼쪽</em> 및 <em>상단</em> 좌표, 그리고 두 개의 치수가 너비와 높이를 나타내는 
+ 한 쌍의 <em>왼쪽</em> 및 <em>상단</em> 좌표, 그리고 두 개의 치수가 너비와 높이를 나타내는
 형식으로 표현됩니다. 위치와 치수의 단위는 픽셀입니다.
 
    </p>
 
    <p>
-   보기의 위치를 검색할 수 있습니다. 
-{@link android.view.View#getLeft()} 및 {@link android.view.View#getTop()} 메서드를 호출하면 됩니다. 전자는 보기를 
-나타내는 직사각형의 왼쪽, 즉 X 좌표를 반환합니다. 후자는 보기를 
-나타내는 직사각형의 상단, 즉 Y 좌표를 반환합니다. 이들 메서드는 둘 다 
-보기의 위치를 해당 보기의 상위와 관련지어 반환합니다. 예를 들어, 
-<code>getLeft()</code>가 20을 반환하는 경우 이는 해당 보기가 그 보기의 바로 상위의 왼쪽 가장자리에서 
+   보기의 위치를 검색할 수 있습니다.
+{@link android.view.View#getLeft()} 및 {@link android.view.View#getTop()} 메서드를 호출하면 됩니다. 전자는 보기를
+나타내는 직사각형의 왼쪽, 즉 X 좌표를 반환합니다. 후자는 보기를
+나타내는 직사각형의 상단, 즉 Y 좌표를 반환합니다. 이들 메서드는 둘 다
+보기의 위치를 해당 보기의 상위와 관련지어 반환합니다. 예를 들어,
+<code>getLeft()</code>가 20을 반환하는 경우 이는 해당 보기가 그 보기의 바로 상위의 왼쪽 가장자리에서
 오른쪽으로 20픽셀 떨어진 곳에 있다는 뜻입니다.
    </p>
 
    <p>
-   이외에도 불필요한 계산을 피하기 위해 여러 가지 편의 메서드가 제공됩니다. 
+   이외에도 불필요한 계산을 피하기 위해 여러 가지 편의 메서드가 제공됩니다.
 구체적으로 {@link android.view.View#getRight()} 및 {@link android.view.View#getBottom()}을 들 수 있습니다.
    이들 메서드는 해당 보기를 나타내는 직사각형의 오른쪽과 하단 가장자리의 좌표를 반환합니다.
  예를 들어 {@link android.view.View#getRight()}를
@@ -255,46 +255,46 @@
 
 <h2 id="SizePaddingMargins">크기, 안쪽 여백 및 여백</h2>
    <p>
-   보기의 크기는 너비와 높이로 표현됩니다. 사실 하나의 보기는 
+   보기의 크기는 너비와 높이로 표현됩니다. 사실 하나의 보기는
 두 쌍의 너비 및 높이 값을 소유합니다.
    </p>
 
    <p>
-   첫 번째 쌍을 <em>측정된 너비</em> 및 
-<em>측정된 높이</em>라고 합니다. 이들 치수는 보기가 
-상위 내에서 얼마나 커지고자 하는지를 정의합니다. 측정된 
+   첫 번째 쌍을 <em>측정된 너비</em> 및
+<em>측정된 높이</em>라고 합니다. 이들 치수는 보기가
+상위 내에서 얼마나 커지고자 하는지를 정의합니다. 측정된
 치수를 가져오려면 {@link android.view.View#getMeasuredWidth()}
  및 {@link android.view.View#getMeasuredHeight()}를 호출하면 됩니다.
    </p>
 
    <p>
-   두 번째 쌍은 단순히 <em>너비</em> 및 <em>높이</em>라고 일컬으며, 
-때로는 <em>그리기 너비</em> 및 <em>그리기 높이</em>로 부를 때도 있습니다. 이러한 
-치수는 그리기 시간 및 레이아웃 후에 보기가 화면에 표시되는 실제 크기를 
-정의합니다. 이들 값은 측정된 너비 및 높이와 달라도 되지만 
-꼭 달라야 하는 것은 아닙니다. 너비와 높이를 가져오려면 
+   두 번째 쌍은 단순히 <em>너비</em> 및 <em>높이</em>라고 일컬으며,
+때로는 <em>그리기 너비</em> 및 <em>그리기 높이</em>로 부를 때도 있습니다. 이러한
+치수는 그리기 시간 및 레이아웃 후에 보기가 화면에 표시되는 실제 크기를
+정의합니다. 이들 값은 측정된 너비 및 높이와 달라도 되지만
+꼭 달라야 하는 것은 아닙니다. 너비와 높이를 가져오려면
 {@link android.view.View#getWidth()} 및 {@link android.view.View#getHeight()}를 호출하면 됩니다.
    </p>
 
    <p>
-   보기의 치수를 측정하려면 보기는 자신의 안쪽 여백을 감안합니다. 안쪽 여백은 
+   보기의 치수를 측정하려면 보기는 자신의 안쪽 여백을 감안합니다. 안쪽 여백은
 보기의 왼쪽, 상단, 오른쪽 및 하단 부분에 대해 픽셀로 표시됩니다.
-   안쪽 여백은 정해진 픽셀 수를 사용하여 보기의 콘텐츠를 오프셋하는 데 쓰일 수도 
-있습니다. 예를 들어 왼쪽 안쪽 여백을 2로 설정하면 해당 보기의 콘텐츠를 왼쪽 가장자리에서 
-오른쪽으로 2픽셀 밀어냅니다. 안쪽 여백을 설정할 때에는 
-{@link android.view.View#setPadding(int, int, int, int)} 메서드를 사용하면 되고, 이를 쿼리하려면 
-{@link android.view.View#getPaddingLeft()}, {@link android.view.View#getPaddingTop()}, 
+   안쪽 여백은 정해진 픽셀 수를 사용하여 보기의 콘텐츠를 오프셋하는 데 쓰일 수도
+있습니다. 예를 들어 왼쪽 안쪽 여백을 2로 설정하면 해당 보기의 콘텐츠를 왼쪽 가장자리에서
+오른쪽으로 2픽셀 밀어냅니다. 안쪽 여백을 설정할 때에는
+{@link android.view.View#setPadding(int, int, int, int)} 메서드를 사용하면 되고, 이를 쿼리하려면
+{@link android.view.View#getPaddingLeft()}, {@link android.view.View#getPaddingTop()},
 {@link android.view.View#getPaddingRight()} 및 {@link android.view.View#getPaddingBottom()}을 사용하면 됩니다.
    </p>
 
    <p>
-   보기가 안쪽 여백을 정의할 수는 있지만, 여백에 대한 지원은 전혀 제공하지 
-않습니다. 다만 보기 그룹이 그와 같은 지원을 제공합니다. 자세한 정보는 
-{@link android.view.ViewGroup} 및 
+   보기가 안쪽 여백을 정의할 수는 있지만, 여백에 대한 지원은 전혀 제공하지
+않습니다. 다만 보기 그룹이 그와 같은 지원을 제공합니다. 자세한 정보는
+{@link android.view.ViewGroup} 및
 {@link android.view.ViewGroup.MarginLayoutParams}를 참조하십시오.
    </p>
 
-   <p>치수에 대한 자세한 정보는 
+   <p>치수에 대한 자세한 정보는
 <a href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">치수 값</a>을 참조하십시오.
    </p>
 
@@ -320,13 +320,13 @@
 
 <h2 id="CommonLayouts">보편적인 레이아웃</h2>
 
-<p>{@link android.view.ViewGroup} 클래스의 각 하위 클래스는 각기 고유한 방식으로 자신 안에 
-중첩한 보기를 표시합니다. 아래는 Android 플랫폼에서 기본 제공되는, 보다 보편적인 레이아웃 유형을 
+<p>{@link android.view.ViewGroup} 클래스의 각 하위 클래스는 각기 고유한 방식으로 자신 안에
+중첩한 보기를 표시합니다. 아래는 Android 플랫폼에서 기본 제공되는, 보다 보편적인 레이아웃 유형을
 몇 가지 나타낸 것입니다.</p>
 
-<p class="note"><strong>참고:</strong> 하나 이상의 레이아웃을 또 다른 레이아웃에 중첩하여 
-UI 디자인을 이룰 수도 있지만, 레이아웃 계층을 가능한 한 얕게 유지하도록 
-애써야 합니다. 중첩된 레이아웃이 적을수록 레이아웃이 더욱 빠르게 그려집니다(가로로 넓은 보기 계층이 
+<p class="note"><strong>참고:</strong> 하나 이상의 레이아웃을 또 다른 레이아웃에 중첩하여
+UI 디자인을 이룰 수도 있지만, 레이아웃 계층을 가능한 한 얕게 유지하도록
+애써야 합니다. 중첩된 레이아웃이 적을수록 레이아웃이 더욱 빠르게 그려집니다(가로로 넓은 보기 계층이
 깊은 보기 계층보다 낫습니다).</p>
 
 <!--
@@ -345,14 +345,14 @@
 <div class="layout first">
   <h4><a href="layout/linear.html">선형 레이아웃</a></h4>
   <a href="layout/linear.html"><img src="{@docRoot}images/ui/linearlayout-small.png" alt="" /></a>
-  <p>여러 하위를 하나의 가로 방향 또는 세로 방향 행으로 정리하는 레이아웃. 이것은 
+  <p>여러 하위를 하나의 가로 방향 또는 세로 방향 행으로 정리하는 레이아웃. 이것은
 창의 길이가 화면 길이를 웃도는 경우 스크롤 막대를 만듭니다.</p>
 </div>
 
 <div class="layout">
   <h4><a href="layout/relative.html">관계 레이아웃</a></h4>
   <a href="layout/relative.html"><img src="{@docRoot}images/ui/relativelayout-small.png" alt="" /></a>
-  <p>여러 하위 객체의 위치를 서로 관련지어 나타내거나(하위 A가 
+  <p>여러 하위 객체의 위치를 서로 관련지어 나타내거나(하위 A가
 하위 B의 왼쪽), 상위와 관련지어 나타낼 수 있도록 해줍니다(상위의 맨 위에 맞춰 정렬).</p>
 </div>
 
@@ -367,12 +367,12 @@
 
 <h2 id="AdapterViews" style="clear:left">어댑터로 레이아웃 구축하기</h2>
 
-<p>레이아웃의 콘텐츠가 동적이거나 미리 정의되지 않은 경우, 
-{@link android.widget.AdapterView}의 하위 클래스가 되는 레이아웃을 사용하여 런타임에 보기로 레이아웃을 채울 수 있습니다. 
-{@link android.widget.AdapterView} 클래스의 하위 클래스는 {@link android.widget.Adapter}를 
+<p>레이아웃의 콘텐츠가 동적이거나 미리 정의되지 않은 경우,
+{@link android.widget.AdapterView}의 하위 클래스가 되는 레이아웃을 사용하여 런타임에 보기로 레이아웃을 채울 수 있습니다.
+{@link android.widget.AdapterView} 클래스의 하위 클래스는 {@link android.widget.Adapter}를
 사용하여 자신의 레이아웃에 데이터를 바인딩합니다. {@link android.widget.Adapter}가 데이터 소스와 {@link android.widget.AdapterView}
  레이아웃 사이의 중개자 역할을 합니다. &mdash;{@link android.widget.Adapter}가
- 데이터를 검색하여(배열 또는 데이터베이스 쿼리와 같은 소스로부터) 
+ 데이터를 검색하여(배열 또는 데이터베이스 쿼리와 같은 소스로부터)
 각 항목을 보기로 변환해서 {@link android.widget.AdapterView} 레이아웃에 추가될 수 있도록 합니다.</p>
 
 <p>어댑터로 지원되는 보편적인 레이아웃의 몇 가지 예는 다음과 같습니다.</p>
@@ -393,13 +393,13 @@
 
 <h3 id="FillingTheLayout" style="clear:left">데이터로 어댑터 보기 채우기</h3>
 
-<p>{@link android.widget.ListView} 또는 
-{@link android.widget.GridView}와 같은 {@link android.widget.AdapterView}를 채우려면 {@link android.widget.AdapterView} 인스턴스를 
+<p>{@link android.widget.ListView} 또는
+{@link android.widget.GridView}와 같은 {@link android.widget.AdapterView}를 채우려면 {@link android.widget.AdapterView} 인스턴스를
 {@link android.widget.Adapter}에 바인딩하면 됩니다. 이는 외부 소스로부터 데이터를 검색하여 각 데이터 항목을 나타내는 {@link
 android.view.View}를 생성합니다.</p>
 
-<p>Android는 {@link android.widget.Adapter}의 하위 클래스를 여러 개 제공합니다. 
-이는 여러 가지 종류의 데이터를 검색하고 {@link android.widget.AdapterView}에 대한 보기를 구축하는 데 유용합니다. 
+<p>Android는 {@link android.widget.Adapter}의 하위 클래스를 여러 개 제공합니다.
+이는 여러 가지 종류의 데이터를 검색하고 {@link android.widget.AdapterView}에 대한 보기를 구축하는 데 유용합니다.
 가장 보편적인 어댑터 두 가지를 예로 들면 다음과 같습니다.</p>
 
 <dl>
@@ -409,7 +409,7 @@
 java.lang.Object#toString()}를 호출하고 그 콘텐츠를 {@link
 android.widget.TextView}에 배치함으로써 각 배열 항목에 대한 보기를 생성합니다.
       <p>예를 들어, {@link
-android.widget.ListView}로 문자열 배열을 표시하고자 하는 경우, 생성자를 사용하여 
+android.widget.ListView}로 문자열 배열을 표시하고자 하는 경우, 생성자를 사용하여
 새로운 {@link android.widget.ArrayAdapter}를 초기화해서 각 문자열과 문자열 배열에 대한 레이아웃을 지정하면 됩니다.</p>
 <pre>
 ArrayAdapter&lt;String> adapter = new ArrayAdapter&lt;String>(this,
@@ -421,7 +421,7 @@
   <li>배열에 있는 각 문자열에 대한 {@link android.widget.TextView}가 들어있는 레이아웃</li>
   <li>문자열 배열</li>
 </ul>
-<p>그런 다음 {@link android.widget.ListView}에서 
+<p>그런 다음 {@link android.widget.ListView}에서
 {@link android.widget.ListView#setAdapter setAdapter()}를 호출하기만 하면 됩니다.</p>
 <pre>
 ListView listView = (ListView) findViewById(R.id.listview);
@@ -430,7 +430,7 @@
 
       <p>각 항목의 외관을 사용자 지정하려면 배열의 객체에 대한 {@link
 java.lang.Object#toString()} 메서드를 재정의하면 됩니다. 아니면, 각 항목에 대하여
-{@link android.widget.TextView}가 아닌 다른 보기를 생성하고자 하는 경우(예를 들어 각 배열 항목에 
+{@link android.widget.TextView}가 아닌 다른 보기를 생성하고자 하는 경우(예를 들어 각 배열 항목에
 {@link android.widget.ImageView}를 원하는 경우), {@link
 android.widget.ArrayAdapter} 클래스를 확장하고 {@link android.widget.ArrayAdapter#getView
 getView()}를 재정의하여 각 항목에 대해 원하는 유형의 보기를 반환하도록 할 수 있습니다.</p>
@@ -438,21 +438,21 @@
 </dd>
 
   <dt>{@link android.widget.SimpleCursorAdapter}</dt>
-    <dd>이 어댑터는 데이터 출처가 {@link android.database.Cursor}일 때 사용하십시오. 
-{@link android.widget.SimpleCursorAdapter}를 사용하는 경우, 
+    <dd>이 어댑터는 데이터 출처가 {@link android.database.Cursor}일 때 사용하십시오.
+{@link android.widget.SimpleCursorAdapter}를 사용하는 경우,
 {@link android.database.Cursor}에 있는 각 행에 대하여 사용할 레이아웃을 지정해야 합니다. 또한 {@link android.database.Cursor}
-의 어느 열이 레이아웃의 어느 보기에 삽입되어야 할지도 지정해야 합니다. 예를 들어 사람 이름과 
+의 어느 열이 레이아웃의 어느 보기에 삽입되어야 할지도 지정해야 합니다. 예를 들어 사람 이름과
 전화번호로 이루어진 목록을 생성하고자 하는 경우, 각 사람에 대해 행이 하나씩 있고 이름과 번호에 대해 열이 들어있는 {@link
 android.database.Cursor}를 반환하는 쿼리를 수행하면 됩니다.
  그런 다음 레이아웃에서 각 결과에 대하여 {@link
-android.database.Cursor}의 어느 열을 원하는지 지정하는 문자열 배열을 만들 수 있고, 각 열이 배치되어야 하는 
+android.database.Cursor}의 어느 열을 원하는지 지정하는 문자열 배열을 만들 수 있고, 각 열이 배치되어야 하는
 상응하는 보기를 지정하는 정수 배열을 만들면 됩니다.</p>
 <pre>
 String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME,
                         ContactsContract.CommonDataKinds.Phone.NUMBER};
 int[] toViews = {R.id.display_name, R.id.phone_number};
 </pre>
-<p>{@link android.widget.SimpleCursorAdapter}를 인스턴트화하는 경우, 각 결과에 대해 사용할 레이아웃과 
+<p>{@link android.widget.SimpleCursorAdapter}를 인스턴트화하는 경우, 각 결과에 대해 사용할 레이아웃과
 결과가 들어있는 {@link android.database.Cursor}, 그리고 다음의 두 배열을 전달합니다.</p>
 <pre>
 SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
@@ -460,21 +460,21 @@
 ListView listView = getListView();
 listView.setAdapter(adapter);
 </pre>
-<p>그러면 {@link android.widget.SimpleCursorAdapter}가 
+<p>그러면 {@link android.widget.SimpleCursorAdapter}가
 {@link android.database.Cursor}에 있는 각 행에 대한 보기를 하나씩 생성합니다. 이때 상응하는 {@code toViews} 보기 안에 각 {@code
 fromColumns} 항목을 삽입함으로써 제공된 레이아웃을 사용합니다.</p>.</dd>
 </dl>
 
 
-<p>애플리케이션의 수명이 진행되는 동안에 어댑터가 읽는 기본 데이터를 변경하는 경우, 
-{@link android.widget.ArrayAdapter#notifyDataSetChanged()}를 호출해야 합니다. 
+<p>애플리케이션의 수명이 진행되는 동안에 어댑터가 읽는 기본 데이터를 변경하는 경우,
+{@link android.widget.ArrayAdapter#notifyDataSetChanged()}를 호출해야 합니다.
 이렇게 하면 첨부된 보기에 데이터가 변경되었으며 스스로 새로 고쳐야 한다는 사실을 알려줍니다.</p>
 
 
 
 <h3 id="HandlingUserSelections">클릭 이벤트 처리</h3>
 
-<p>{@link android.widget.AdapterView}에 있는 각 항목에서의 클릭 이벤트에 응답하려면 
+<p>{@link android.widget.AdapterView}에 있는 각 항목에서의 클릭 이벤트에 응답하려면
 {@link android.widget.AdapterView.OnItemClickListener} 인터페이스를 구현하면 됩니다. 예:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/ko/guide/topics/ui/dialogs.jd
index 23e92c9..7fad584 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>참고 항목</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">대화 디자인 가이드</a></li>
@@ -41,24 +41,24 @@
   </div>
 </div>
 
-<p>대화는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 
-프롬프트를 보내는 작은 창입니다. 대화는 화면을 가득 채우지 않으며 보통 사용자가 
+<p>대화는 사용자에게 결정을 내리거나 추가 정보를 입력하라는
+프롬프트를 보내는 작은 창입니다. 대화는 화면을 가득 채우지 않으며 보통 사용자가
 다음으로 계속 진행하기 전에 조치를 취해야 하는 모달 이벤트에 쓰입니다.</p>
 
 <div class="note design">
 <p><strong>대화 디자인</strong></p>
-  <p>언어 권장 사항을 비롯한 여러 가지 대화 디자인 방법에 관련된 정보는 
+  <p>언어 권장 사항을 비롯한 여러 가지 대화 디자인 방법에 관련된 정보는
 <a href="{@docRoot}design/building-blocks/dialogs.html">대화</a> 디자인 가이드를 읽어보십시오.</p>
 </div>
 
 <img src="{@docRoot}images/ui/dialogs.png" />
 
-<p>{@link android.app.Dialog} 클래스가 대화의 기본 클래스이지만, 
+<p>{@link android.app.Dialog} 클래스가 대화의 기본 클래스이지만,
 {@link android.app.Dialog}를 직접 인스턴트화하는 것은 삼가야 합니다.
 대신 다음 하위 클래스 중 하나를 사용하십시오.</p>
 <dl>
   <dt>{@link android.app.AlertDialog}</dt>
-  <dd>제목 하나, 최대 세 개의 버튼, 선택 가능한 품목 목록 또는 
+  <dd>제목 하나, 최대 세 개의 버튼, 선택 가능한 품목 목록 또는
 사용자 지정 레이아웃을 표시할 수 있는 대화입니다.</dd>
   <dt>{@link android.app.DatePickerDialog} 또는 {@link android.app.TimePickerDialog}</dt>
   <dd>미리 정의된 UI가 있는 대화로 사용자로 하여금 날짜 또는 시간을 선택할 수 있게 해줍니다.</dd>
@@ -66,55 +66,55 @@
 
 <div class="sidebox">
 <h2>ProgressDialog 피하기</h2>
-<p>Android에는 
-{@link android.app.ProgressDialog}라고 하는 또 다른 대화 클래스가 있습니다. 이것은 진행률 표시줄이 있는 대화를 표시하는 것입니다. 그러나, 
-로딩이나 확정되지 않은 진행률을 나타내야 하는 경우 이 대신 <a href="{@docRoot}design/building-blocks/progress.html">진행률 및 
-액티비티</a>에 대한 디자인 지침을 따르고, 
+<p>Android에는
+{@link android.app.ProgressDialog}라고 하는 또 다른 대화 클래스가 있습니다. 이것은 진행률 표시줄이 있는 대화를 표시하는 것입니다. 그러나,
+로딩이나 확정되지 않은 진행률을 나타내야 하는 경우 이 대신 <a href="{@docRoot}design/building-blocks/progress.html">진행률 및
+액티비티</a>에 대한 디자인 지침을 따르고,
 레이아웃의 {@link android.widget.ProgressBar}를 사용해야 합니다.</p>
 </div>
 
-<p>이러한 클래스가 대화의 스타일과 구조를 정의하지만, 대화의 컨테이너로는 
+<p>이러한 클래스가 대화의 스타일과 구조를 정의하지만, 대화의 컨테이너로는
 {@link android.support.v4.app.DialogFragment}를 사용해야 합니다.
 {@link android.support.v4.app.DialogFragment}
- 클래스는 대화를 만들고 그 외관을 관리하는 데 필요한 모든 제어를 제공합니다. 
+ 클래스는 대화를 만들고 그 외관을 관리하는 데 필요한 모든 제어를 제공합니다.
 {@link android.app.Dialog} 객체에서 메서드를 호출하는 것 대신입니다.</p>
 
-<p>대화를 관리하기 위해 {@link android.support.v4.app.DialogFragment}를 사용하면 
-사용자가 <em>뒤로</em> 버튼을 누르거나 화면을 돌릴 때 등 
+<p>대화를 관리하기 위해 {@link android.support.v4.app.DialogFragment}를 사용하면
+사용자가 <em>뒤로</em> 버튼을 누르거나 화면을 돌릴 때 등
 수명 주기 이벤트를 올바르게 처리하도록 보장할 수 있습니다. {@link
-android.support.v4.app.DialogFragment} 클래스를 사용하면 대화의 UI를 더 큰 UI에 
+android.support.v4.app.DialogFragment} 클래스를 사용하면 대화의 UI를 더 큰 UI에
 포함시킬 수 있는 구성 요소로 다시 사용할 수 있게 해주기도 합니다. 이것은 기존의 {@link
-android.support.v4.app.Fragment}와 똑같습니다(대화 UI를 크고 작은 화면에서 서로 다르게 
+android.support.v4.app.Fragment}와 똑같습니다(대화 UI를 크고 작은 화면에서 서로 다르게
 나타나도록 하고자 하는 경우 등).</p>
 
 <p>이 가이드의 다음 섹션에서는 {@link
 android.support.v4.app.DialogFragment}를 {@link android.app.AlertDialog}
- 객체와 함께 조합하여 사용하는 방법을 설명합니다. 날짜 또는 시간 선택기를 생성하고자 하는 경우, 대신 
+ 객체와 함께 조합하여 사용하는 방법을 설명합니다. 날짜 또는 시간 선택기를 생성하고자 하는 경우, 대신
 <a href="{@docRoot}guide/topics/ui/controls/pickers.html">선택기</a> 가이드를 읽으십시오.</p>
 
 <p class="note"><strong>참고:</strong>
-{@link android.app.DialogFragment} 클래스는 원래 
+{@link android.app.DialogFragment} 클래스는 원래
 Android 3.0(API 레벨 11)에 추가되었기 때문에 이 문서에서는 <a href="{@docRoot}tools/support-library/index.html">지원 라이브러리</a>와 함께 제공된 {@link
-android.support.v4.app.DialogFragment} 클래스를 사용하는 법을 설명합니다. 이 라이브러리를 앱에 추가하면 Android 1.6 이상을 실행하는 기기에서 
-{@link android.support.v4.app.DialogFragment}를 비롯하여 
-다른 API도 다양하게 사용할 수 있습니다. 앱의 최소 버전이 
+android.support.v4.app.DialogFragment} 클래스를 사용하는 법을 설명합니다. 이 라이브러리를 앱에 추가하면 Android 1.6 이상을 실행하는 기기에서
+{@link android.support.v4.app.DialogFragment}를 비롯하여
+다른 API도 다양하게 사용할 수 있습니다. 앱의 최소 버전이
 API 레벨 11 이상인 경우, {@link
-android.app.DialogFragment}의 프레임워크 버전을 사용해도 되지만, 이 문서에 있는 링크는 
-지원 라이브러리 API를 대상으로 한 것이라는 점을 유의하십시오. 지원 라이브러리를 사용할 때에는 
+android.app.DialogFragment}의 프레임워크 버전을 사용해도 되지만, 이 문서에 있는 링크는
+지원 라이브러리 API를 대상으로 한 것이라는 점을 유의하십시오. 지원 라이브러리를 사용할 때에는
 <code>android.support.v4.app.DialogFragment</code>
  클래스를 가져와야 합니다. <code>android.app.DialogFragment</code>가 <em>아닙니다</em>.</p>
 
 
 <h2 id="DialogFragment">대화 프래그먼트 생성</h2>
 
-<p>대단히 다양한 대화 디자인을 만들 수 있습니다. 사용자 지정 레이아웃은 물론 
+<p>대단히 다양한 대화 디자인을 만들 수 있습니다. 사용자 지정 레이아웃은 물론
 <a href="{@docRoot}design/building-blocks/dialogs.html">대화</a>
-디자인 가이드에서 설명한 것도 포함합니다. 
+디자인 가이드에서 설명한 것도 포함합니다.
 {@link android.support.v4.app.DialogFragment}를 확장하고 {@link android.support.v4.app.DialogFragment#onCreateDialog
 onCreateDialog()} 콜백 메서드에 {@link android.app.AlertDialog}를
  생성하면 됩니다.</p>
 
-<p>예를 들어 다음은 {@link android.app.AlertDialog}로, 이는 
+<p>예를 들어 다음은 {@link android.app.AlertDialog}로, 이는
 {@link android.support.v4.app.DialogFragment} 내에서 관리되는 것입니다.</p>
 
 <pre>
@@ -147,14 +147,14 @@
 </div>
 
 <p>이 클래스의 인스턴스를 생성하고 해당 객체에서 {@link
-android.support.v4.app.DialogFragment#show show()}를 호출하면 대화는 
+android.support.v4.app.DialogFragment#show show()}를 호출하면 대화는
 그림 1에 표시된 것처럼 나타납니다.</p>
 
 <p>다음 섹션에서는 {@link android.app.AlertDialog.Builder}
 API를 사용하여 대화를 생성하는 것에 대해 좀 더 자세히 설명합니다.</p>
 
-<p>대화가 얼마나 복잡한지에 따라 
-{@link android.support.v4.app.DialogFragment}에서 여러 가지 다른 콜백 메서드를 구현할 수 있습니다. 그중에는 기본적인 
+<p>대화가 얼마나 복잡한지에 따라
+{@link android.support.v4.app.DialogFragment}에서 여러 가지 다른 콜백 메서드를 구현할 수 있습니다. 그중에는 기본적인
 <a href="{@docRoot}guide/components/fragments.html#Lifecycle">조각 수명 주기 메서드</a>도 포함됩니다.
 
 
@@ -164,8 +164,8 @@
 <h2 id="AlertDialog">경고 대화 구축</h2>
 
 
-<p>{@link android.app.AlertDialog} 클래스를 사용하면 
-여러 가지 대화 디자인을 구축할 수 있으며, 필요한 대화 클래스는 이것뿐인 경우도 많습니다. 
+<p>{@link android.app.AlertDialog} 클래스를 사용하면
+여러 가지 대화 디자인을 구축할 수 있으며, 필요한 대화 클래스는 이것뿐인 경우도 많습니다.
 그림 2에 표시된 것과 같이 경고 대화에는 세 가지 영역이 있습니다.</p>
 
 <div class="figure" style="width:311px;margin-top:0">
@@ -175,8 +175,8 @@
 
 <ol>
 <li><b>제목</b>
-  <p>이것은 선택 항목이며 콘텐츠 영역에 상세한 메시지, 목록 또는 
-사용자 지정 레이아웃이 채워져 있는 경우에만 사용해야 합니다. 단순한 메시지 또는 
+  <p>이것은 선택 항목이며 콘텐츠 영역에 상세한 메시지, 목록 또는
+사용자 지정 레이아웃이 채워져 있는 경우에만 사용해야 합니다. 단순한 메시지 또는
 질문(그림 1의 대화처럼)을 진술해야 하는 경우, 제목은 없어도 됩니다.</li>
 <li><b>콘텐츠 영역</b>
   <p>이것은 메시지, 목록 또는 다른 사용자 지정 레이아웃을 표시할 수 있습니다.</p></li>
@@ -202,7 +202,7 @@
 AlertDialog dialog = builder.create();
 </pre>
 
-<p>다음 주제는 
+<p>다음 주제는
 {@link android.app.AlertDialog.Builder} 클래스를 사용하여 다양한 대화 속성을 정의하는 방법을 나타낸 것입니다.</p>
 
 
@@ -210,8 +210,8 @@
 
 <h3 id="AddingButtons">버튼 추가</h3>
 
-<p>그림 2에 표시된 것과 같은 작업 버튼을 추가하려면 
-{@link android.app.AlertDialog.Builder#setPositiveButton setPositiveButton()} 및 
+<p>그림 2에 표시된 것과 같은 작업 버튼을 추가하려면
+{@link android.app.AlertDialog.Builder#setPositiveButton setPositiveButton()} 및
 {@link android.app.AlertDialog.Builder#setNegativeButton setNegativeButton()} 메서드를 호출하면 됩니다.</p>
 
 <pre style="clear:right">
@@ -235,8 +235,8 @@
 </pre>
 
 <p><code>set...Button()</code> 메서드에는 버튼의 제목이 필요하고(
-<a href="{@docRoot}guide/topics/resources/string-resource.html">문자열 리소스</a>가 제공), 사용자가 버튼을 눌렀을 때 수행할 작업을 정의하는 
-{@link android.content.DialogInterface.OnClickListener}가 
+<a href="{@docRoot}guide/topics/resources/string-resource.html">문자열 리소스</a>가 제공), 사용자가 버튼을 눌렀을 때 수행할 작업을 정의하는
+{@link android.content.DialogInterface.OnClickListener}가
 필요합니다.</p>
 
 <p>추가할 수 있는 작업 버튼은 다음과 같은 세 가지가 있습니다.</p>
@@ -246,9 +246,9 @@
   <dt>부정적</dt>
   <dd>이것은 작업을 취소하는 데 사용해야 합니다.</dd>
   <dt>중립적</dt>
-  <dd>이것은 사용자가 작업을 계속하고 싶지 않을 수 있지만 
+  <dd>이것은 사용자가 작업을 계속하고 싶지 않을 수 있지만
 취소하고자 한다고 볼 수 없을 때 사용해야 합니다. 이것은 긍정적 버튼과 부정적 버튼 사이에 나타납니다.
- 이런 작업을 예로 들면 "나중에 알림" 등이 있습니다.</dd> 
+ 이런 작업을 예로 들면 "나중에 알림" 등이 있습니다.</dd>
 </dl>
 
 <p>{@link
@@ -271,7 +271,7 @@
 <li>영구적인 다중 선택 목록(확인란)</li>
 </ul>
 
-<p>그림 3에 표시된 것과 같은 단일 선택 목록을 생성하려면 
+<p>그림 3에 표시된 것과 같은 단일 선택 목록을 생성하려면
 {@link android.app.AlertDialog.Builder#setItems setItems()} 메서드를 사용하면 됩니다.</p>
 
 <pre style="clear:right">
@@ -289,23 +289,23 @@
 }
 </pre>
 
-<p>목록은 대화의 콘텐츠 영역에 나타나므로, 
-대화는 메시지와 목록을 둘 다 표시할 수 없습니다. 대화에는 
-{@link android.app.AlertDialog.Builder#setTitle setTitle()}로 제목을 설정해야 합니다. 
+<p>목록은 대화의 콘텐츠 영역에 나타나므로,
+대화는 메시지와 목록을 둘 다 표시할 수 없습니다. 대화에는
+{@link android.app.AlertDialog.Builder#setTitle setTitle()}로 제목을 설정해야 합니다.
 목록에 대한 항목을 지정하려면 {@link
 android.app.AlertDialog.Builder#setItems setItems()}를 호출하여 배열을 하나 전달합니다.
 아니면 {@link
-android.app.AlertDialog.Builder#setAdapter setAdapter()}를 사용하여 목록을 지정해도 됩니다. 이렇게 하면 동적인 데이터가 있는 목록(예: 데이터베이스에서 가져온 것)을 
+android.app.AlertDialog.Builder#setAdapter setAdapter()}를 사용하여 목록을 지정해도 됩니다. 이렇게 하면 동적인 데이터가 있는 목록(예: 데이터베이스에서 가져온 것)을
 {@link android.widget.ListAdapter}로 지원할 수 있게 해줍니다.</p>
 
-<p>{@link android.widget.ListAdapter}로 목록을 지원하기로 선택하는 경우, 
-항상 {@link android.support.v4.content.Loader}를 사용해야 콘텐츠가 비동기식으로 
-로딩됩니다. 
-이것은 <a href="{@docRoot}guide/topics/ui/declaring-layout.html#AdapterViews">어댑터로 레이아웃 
+<p>{@link android.widget.ListAdapter}로 목록을 지원하기로 선택하는 경우,
+항상 {@link android.support.v4.content.Loader}를 사용해야 콘텐츠가 비동기식으로
+로딩됩니다.
+이것은 <a href="{@docRoot}guide/topics/ui/declaring-layout.html#AdapterViews">어댑터로 레이아웃
 구축하기</a> 및 <a href="{@docRoot}guide/components/loaders.html">로더</a>
  가이드에 더 자세히 설명되어 있습니다.</p>
 
-<p class="note"><strong>참고:</strong> 기본적으로 목록 항목을 터치하면 대화를 무시하게 됩니다. 
+<p class="note"><strong>참고:</strong> 기본적으로 목록 항목을 터치하면 대화를 무시하게 됩니다.
 다만 다음과 같은 영구적인 선택 목록 중 하나를 사용하는 경우는 예외입니다.</p>
 
 <div class="figure" style="width:290px;margin:-30px 0 0 40px">
@@ -317,15 +317,15 @@
 
 <h4 id="Checkboxes">영구적 다중 선택 또는 단일 선택 목록 추가</h4>
 
-<p>다중 선택 항목 목록을 추가하거나(확인란) 
-단일 선택 목록을 추가하려면(무선 버튼), 각각 
+<p>다중 선택 항목 목록을 추가하거나(확인란)
+단일 선택 목록을 추가하려면(무선 버튼), 각각
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} 또는 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} 또는
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} 메서드를 사용합니다.</p>
 
-<p>예를 들어 다음은 그림 4에 표시된 것과 같이 다중 선택 목록을 생성하는 방법입니다. 
-이것은 선택한 항목을 
+<p>예를 들어 다음은 그림 4에 표시된 것과 같이 다중 선택 목록을 생성하는 방법입니다.
+이것은 선택한 항목을
 {@link java.util.ArrayList}에 저장합니다.</p>
 
 <pre style="clear:right">
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -371,11 +371,11 @@
 }
 </pre>
 
-<p>일반적인 목록과 무선 버튼이 있는 목록 양쪽 모두 "단일 선택" 작업을 
+<p>일반적인 목록과 무선 버튼이 있는 목록 양쪽 모두 "단일 선택" 작업을
 제공하지만, 사용자의 선택을 유지하고자 하는 경우 {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
-setSingleChoiceItems()}를 사용해야 합니다. 
-다시 말해, 대화를 나중에 다시 여는 경우 사용자의 현재 선택이 무엇인지 나타내야 하며, 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
+setSingleChoiceItems()}를 사용해야 합니다.
+다시 말해, 대화를 나중에 다시 여는 경우 사용자의 현재 선택이 무엇인지 나타내야 하며,
 그러면 무선 버튼으로 목록을 생성할 수 있습니다.</p>
 
 
@@ -389,12 +389,12 @@
 <p class="img-caption"><strong>그림 5.</strong> 사용자 지정 대화 레이아웃입니다.</p>
 </div>
 
-<p>대화에서 사용자 지정 레이아웃을 원하는 경우, 레이아웃을 생성한 다음 이를 
+<p>대화에서 사용자 지정 레이아웃을 원하는 경우, 레이아웃을 생성한 다음 이를
 {@link android.app.AlertDialog}에 추가하면 됩니다. 이때 {@link
 android.app.AlertDialog.Builder#setView setView()} on your {@link
 android.app.AlertDialog.Builder} 객체를 호출하는 방법을 씁니다.</p>
 
-<p>기본적으로 사용자 지정 레이아웃이 대화창을 가득 채우지만, 여전히 
+<p>기본적으로 사용자 지정 레이아웃이 대화창을 가득 채우지만, 여전히
 {@link android.app.AlertDialog.Builder} 메서드를 사용하여 버튼과 제목을 추가할 수 있습니다.</p>
 
 <p>예를 들어 다음은 그림 5에 표시된 대화에 대한 레이아웃 파일입니다.</p>
@@ -437,14 +437,14 @@
 </pre>
 
 <p class="note"><strong>팁:</strong> 기본적으로 {@link android.widget.EditText}
- 요소를 설정하여 {@code "textPassword"} 입력 유형을 사용하고자 하는 경우, 글꼴 패밀리가 고정 폭으로 설정되어 있으므로 
-글꼴 패밀리를 {@code "sans-serif"}로 변경해야 합니다. 그래야 양쪽 텍스트 필드가 모두 일치하는 글꼴 스타일을 
+ 요소를 설정하여 {@code "textPassword"} 입력 유형을 사용하고자 하는 경우, 글꼴 패밀리가 고정 폭으로 설정되어 있으므로
+글꼴 패밀리를 {@code "sans-serif"}로 변경해야 합니다. 그래야 양쪽 텍스트 필드가 모두 일치하는 글꼴 스타일을
 사용할 수 있습니다.</p>
 
-<p>{@link android.support.v4.app.DialogFragment} 안의 레이아웃을 팽창시키려면, 
-{@link android.view.LayoutInflater}를 
-{@link android.app.Activity#getLayoutInflater()}로 가져와 
-{@link android.view.LayoutInflater#inflate inflate()}를 호출합니다. 
+<p>{@link android.support.v4.app.DialogFragment} 안의 레이아웃을 팽창시키려면,
+{@link android.view.LayoutInflater}를
+{@link android.app.Activity#getLayoutInflater()}로 가져와
+{@link android.view.LayoutInflater#inflate inflate()}를 호출합니다.
 여기서 첫 번째 매개변수가 레이아웃 리소스 ID이고 두 번째 매개변수가 레이아웃의 상위 보기입니다.
 그러므로 그런 다음 {@link android.app.AlertDialog#setView setView()}를
  호출하여 레이아웃을 대화에 배치할 수 있습니다.</p>
@@ -470,16 +470,16 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
 
 <div class="note">
-<p><strong>팁:</strong> 사용자 지정 대화를 원하는 경우, 
-{@link android.app.Activity}를 대신 표시해도 됩니다. 이는 
+<p><strong>팁:</strong> 사용자 지정 대화를 원하는 경우,
+{@link android.app.Activity}를 대신 표시해도 됩니다. 이는
 {@link android.app.Dialog} API 대신 대화로 표시하는 것입니다. 단순히 액티비티를 하나 생성한 다음 그 테마를 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code
-&lt;activity&gt;}</a> 매니페스트 요소에 있는 
+&lt;activity&gt;}</a> 매니페스트 요소에 있는
 {@link android.R.style#Theme_Holo_Dialog Theme.Holo.Dialog}로
  설정하면 됩니다.</p>
 
@@ -493,19 +493,19 @@
 
 <h2 id="PassingEvents">이벤트를 대화의 호스트에 다시 전달</h2>
 
-<p>사용자가 대화의 작업 버튼 중 하나를 터치하거나 목록에서 항목을 하나 선택하면, 
-{@link android.support.v4.app.DialogFragment}가 
+<p>사용자가 대화의 작업 버튼 중 하나를 터치하거나 목록에서 항목을 하나 선택하면,
+{@link android.support.v4.app.DialogFragment}가
 필요한 작업을 알아서 수행할 수도 있지만 대부분의 경우 이벤트를 대화를 연 액티비티 또는 프래그먼트에 직접 전달하고자 할 수 있습니다.
- 이렇게 하려면 각 클릭 이벤트의 유형별로 메서드가 있는 인터페이스를 정의합니다. 
- 그런 다음 해당 인터페이스를 대화로부터 작업 이벤트를 수신할 
+ 이렇게 하려면 각 클릭 이벤트의 유형별로 메서드가 있는 인터페이스를 정의합니다.
+ 그런 다음 해당 인터페이스를 대화로부터 작업 이벤트를 수신할
 호스트 구성 요소에 구현하면 됩니다.</p>
 
-<p>예를 들어 다음은 인터페이스를 정의하는 {@link android.support.v4.app.DialogFragment}입니다. 
+<p>예를 들어 다음은 인터페이스를 정의하는 {@link android.support.v4.app.DialogFragment}입니다.
 이 인터페이스를 통해 이벤트를 호스트 액티비티에 도로 전달하게 됩니다.</p>
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -535,15 +535,15 @@
 }
 </pre>
 
-<p>대화를 호스팅하는 액티비티는 대화의 인스턴스를 만듭니다. 
-이때 대화 프래그먼트의 생성자를 사용하며, 
+<p>대화를 호스팅하는 액티비티는 대화의 인스턴스를 만듭니다.
+이때 대화 프래그먼트의 생성자를 사용하며,
 {@code NoticeDialogListener} 인터페이스 구현을 통해 대화의 이벤트를 수신하게 됩니다.</p>
 
 <pre>
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -568,8 +568,8 @@
 </pre>
 
 <p>액티비티가 {@code NoticeDialogListener}를 구현하기 때문에&mdash;위에 표시된 {@link android.support.v4.app.Fragment#onAttach onAttach()}
- 콜백 메서드가 강제 적용&mdash;해당 대화 프래그먼트는 
-인터페이스 콜백 메서드를 사용하여 액티비티에 대한 클릭 이벤트를 
+ 콜백 메서드가 강제 적용&mdash;해당 대화 프래그먼트는
+인터페이스 콜백 메서드를 사용하여 액티비티에 대한 클릭 이벤트를
 전달할 수 있습니다.</p>
 
 <pre>
@@ -604,11 +604,11 @@
 
 <p>대화를 표시하고자 하는 경우, {@link
 android.support.v4.app.DialogFragment}의 인스턴스를 생성한 다음 {@link android.support.v4.app.DialogFragment#show
-show()}를 호출하여 {@link android.support.v4.app.FragmentManager}와 대화 프래그먼트에 대한 
+show()}를 호출하여 {@link android.support.v4.app.FragmentManager}와 대화 프래그먼트에 대한
 태그 이름을 전달합니다.</p>
 
-<p>{@link android.support.v4.app.FragmentManager}를 가져오려면 
-{@link android.support.v4.app.FragmentActivity}에서 
+<p>{@link android.support.v4.app.FragmentManager}를 가져오려면
+{@link android.support.v4.app.FragmentActivity}에서
 {@link android.support.v4.app.FragmentActivity#getSupportFragmentManager()}를 호출하거나 {@link
 android.support.v4.app.Fragment}로부터 {@link
 android.support.v4.app.Fragment#getFragmentManager()}를 호출합니다. 예:</p>
@@ -620,7 +620,7 @@
 }
 </pre>
 
-<p>두 번째 인수 {@code "missiles"}는 시스템이 
+<p>두 번째 인수 {@code "missiles"}는 시스템이
 필요에 따라 프래그먼트의 상태를 저장하고 복원하는 데 사용하는 고유한 태그 이름입니다. 이 태그를 사용하면 {@link android.support.v4.app.FragmentManager#findFragmentByTag
 findFragmentByTag()}를 호출하여 해당 프래그먼트를 파악할 수도 있습니다.
 </p>
@@ -630,20 +630,20 @@
 
 <h2 id="FullscreenDialog">대화를 전체 화면으로 또는 포함된 프래그먼트로 표시</h2>
 
-<p>UI 디자인에서, 몇몇 상황 하에서는 UI의 한 조각을 대화로 나타내지만 
-다른 상황에서는 전체 화면이나 포함된 프래그먼트로 나타내고자 하는 경우가 있을 수 
+<p>UI 디자인에서, 몇몇 상황 하에서는 UI의 한 조각을 대화로 나타내지만
+다른 상황에서는 전체 화면이나 포함된 프래그먼트로 나타내고자 하는 경우가 있을 수
 있습니다(이는 어쩌면 기기 화면이 대형인지 소형인지에 따라 달라질 수도 있습니다). {@link android.support.v4.app.DialogFragment}
 클래스에서 이런 유연성을 제공하는 것은 이것이 여전히 포함 가능한 {@link
 android.support.v4.app.Fragment} 역할을 할 수 있기 때문입니다.</p>
 
 <p>그러나 이 경우에는 대화를 구축하는 데 {@link android.app.AlertDialog.Builder AlertDialog.Builder}
-또는 다른 {@link android.app.Dialog} 객체를 사용하면 안 됩니다. 
-{@link android.support.v4.app.DialogFragment}를 포함 가능한 상태로 만들려면, 
-레이아웃 안에 있는 대화의 UI를 정의해야 합니다. 그런 다음 레이아웃을 
+또는 다른 {@link android.app.Dialog} 객체를 사용하면 안 됩니다.
+{@link android.support.v4.app.DialogFragment}를 포함 가능한 상태로 만들려면,
+레이아웃 안에 있는 대화의 UI를 정의해야 합니다. 그런 다음 레이아웃을
 {@link android.support.v4.app.DialogFragment#onCreateView
 onCreateView()} 콜백에 로딩합니다.</p>
 
-<p>다음은 대화 또는 포함 가능한 프래그먼트 중 어느 쪽으로든 표시될 수 있는 
+<p>다음은 대화 또는 포함 가능한 프래그먼트 중 어느 쪽으로든 표시될 수 있는
 {@link android.support.v4.app.DialogFragment} 예시입니다(<code>purchase_items.xml</code>이라는 레이아웃 사용).</p>
 
 <pre>
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -695,14 +695,14 @@
 }
 </pre>
 
-<p>프래그먼트 트랜잭션을 수행하는 것에 대한 자세한 내용은 
+<p>프래그먼트 트랜잭션을 수행하는 것에 대한 자세한 내용은
 <a href="{@docRoot}guide/components/fragments.html">프래그먼트</a> 가이드를 참조하십시오.</p>
 
 <p>이 예시에서는 <code>mIsLargeLayout</code> 부울이 현재 기기가 앱의 큰 레이아웃 디자인을 써야 할지를
  나타냅니다(따라서 이 프래그먼트를 전체 화면보다는 대화로 표시).
- 이런 종류의 부울을 설정하는 가장 좋은 방법은 
+ 이런 종류의 부울을 설정하는 가장 좋은 방법은
 <a href="{@docRoot}guide/topics/resources/more-resources.html#Bool">부울 리소스 값</a>을
-여러 가지 화면 크기에 대한 <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">대체 리소스</a> 값으로 선언하는 것입니다. 
+여러 가지 화면 크기에 대한 <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">대체 리소스</a> 값으로 선언하는 것입니다.
 예를 들어 다음은 여러 가지 화면 크기에 대한 두 가지 버전의 부울 리소스입니다.</p>
 
 <p class="code-caption">res/values/bools.xml</p>
@@ -721,7 +721,7 @@
 &lt;/resources>
 </pre>
 
-<p>그러면 액티비티의 
+<p>그러면 액티비티의
 {@link android.app.Activity#onCreate onCreate()} 메서드 중에 {@code mIsLargeLayout} 값을 초기화할 수 있습니다.</p>
 
 <pre>
@@ -740,14 +740,14 @@
 
 <h3 id="ActivityAsDialog">액티비티를 큰 화면에 대화로 표시</h3>
 
-<p>작은 화면의 경우 대화를 전체 화면 UI로 표시하는 대신, 큰 화면에 있을 때에는 
+<p>작은 화면의 경우 대화를 전체 화면 UI로 표시하는 대신, 큰 화면에 있을 때에는
 {@link android.app.Activity}를 대화로 표시함으로써 같은 결과를 얻을 수 있습니다.
- 어느 방식을 사용할 것인지는 앱 디자인에 따라 달라지지만, 
-액티비티를 대화로 표시하면 앱이 이미 작은 화면용으로 디자인된 상태에서 
-태블릿에서의 환경을 개선하기 위해 일시적인 액티비티를 대화로 표시하는 경우 
+ 어느 방식을 사용할 것인지는 앱 디자인에 따라 달라지지만,
+액티비티를 대화로 표시하면 앱이 이미 작은 화면용으로 디자인된 상태에서
+태블릿에서의 환경을 개선하기 위해 일시적인 액티비티를 대화로 표시하는 경우
 유용할 때가 많습니다.</p>
 
-<p>큰 화면의 경우 액티비티를 대화로만 표시하려면, 
+<p>큰 화면의 경우 액티비티를 대화로만 표시하려면,
 {@link android.R.style#Theme_Holo_DialogWhenLarge Theme.Holo.DialogWhenLarge}
  테마를 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code
 &lt;activity&gt;}</a> 매니페스트 요소에 적용하면 됩니다.</p>
@@ -762,11 +762,11 @@
 
 <h2 id="DismissingADialog">대화 무시</h2>
 
-<p>사용자가 
+<p>사용자가
 {@link android.app.AlertDialog.Builder}로 생성한 작업 버튼 중 하나라도 터치하면 시스템이 대화를 대신 무시합니다.</p>
 
-<p>시스템은 사용자가 대화 목록에서 항목을 터치하는 경우에도 대화를 무시합니다. 
-다만 목록이 무선 버튼이나 확인란을 사용하는 경우에는 예외입니다. 
+<p>시스템은 사용자가 대화 목록에서 항목을 터치하는 경우에도 대화를 무시합니다.
+다만 목록이 무선 버튼이나 확인란을 사용하는 경우에는 예외입니다.
 그렇지 않으면 대화를 수동으로 무시할 수도 있습니다. {@link
 android.support.v4.app.DialogFragment}에서 {@link android.support.v4.app.DialogFragment#dismiss()}를 호출하면 됩니다.</p>
 
@@ -775,24 +775,24 @@
 android.support.v4.app.DialogFragment}에서 @link
 android.support.v4.app.DialogFragment#onDismiss onDismiss()}를 구현하면 됩니다.</p>
 
-<p>또한 대화를 <em>취소</em>할 수도 있습니다. 이것은 사용자가 작업을 완료하지 않고 대화를 
-분명히 떠났다는 것을 나타내는 특수 이벤트입니다. 이것은 사용자가 
-<em>뒤로</em> 버튼을 누르거나 대화 영역 바깥의 화면을 터치하거나, 
+<p>또한 대화를 <em>취소</em>할 수도 있습니다. 이것은 사용자가 작업을 완료하지 않고 대화를
+분명히 떠났다는 것을 나타내는 특수 이벤트입니다. 이것은 사용자가
+<em>뒤로</em> 버튼을 누르거나 대화 영역 바깥의 화면을 터치하거나,
 개발자가 {@link
 android.app.Dialog}에서 명시적으로 {@link android.app.Dialog#cancel()}을 호출한 경우 발생합니다(예: 대화의 "취소" 버튼에 대한 응답으로).</p>
 
 <p>위의 예시에 나타난 바와 같이 취소 이벤트에 응답하려면 {@link
-android.support.v4.app.DialogFragment} 클래스에서 
+android.support.v4.app.DialogFragment} 클래스에서
 {@link android.support.v4.app.DialogFragment#onCancel onCancel()}을 구현하면 됩니다.</p>
 
-<p class="note"><strong>참고:</strong> 시스템은 
-{@link android.support.v4.app.DialogFragment#onCancel onCancel()} 콜백을 불러오는 이벤트가 발생할 때마다 
-{@link android.support.v4.app.DialogFragment#onDismiss onDismiss()}를 호출합니다. 
+<p class="note"><strong>참고:</strong> 시스템은
+{@link android.support.v4.app.DialogFragment#onCancel onCancel()} 콜백을 불러오는 이벤트가 발생할 때마다
+{@link android.support.v4.app.DialogFragment#onDismiss onDismiss()}를 호출합니다.
 그러나 {@link android.app.Dialog#dismiss Dialog.dismiss()} 또는 {@link
-android.support.v4.app.DialogFragment#dismiss DialogFragment.dismiss()}를 호출하면 
-시스템은 {@link android.support.v4.app.DialogFragment#onDismiss onDismiss()}는 호출하지만 {@link android.support.v4.app.DialogFragment#onCancel onCancel()}은 
-호출하지 <em>않습니다</em>. 따라서 사용자가 대화를 보기에서 제거하기 위해 대화에 있는 
-<em>긍정적인</em> 버튼을 누르는 경우, 일반적으로 {@link android.support.v4.app.DialogFragment#dismiss dismiss()}를 
+android.support.v4.app.DialogFragment#dismiss DialogFragment.dismiss()}를 호출하면
+시스템은 {@link android.support.v4.app.DialogFragment#onDismiss onDismiss()}는 호출하지만 {@link android.support.v4.app.DialogFragment#onCancel onCancel()}은
+호출하지 <em>않습니다</em>. 따라서 사용자가 대화를 보기에서 제거하기 위해 대화에 있는
+<em>긍정적인</em> 버튼을 누르는 경우, 일반적으로 {@link android.support.v4.app.DialogFragment#dismiss dismiss()}를
 사용해야 합니다.</p>
 
 
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/menus.jd b/docs/html-intl/intl/ko/guide/topics/ui/menus.jd
index c115c2a..924445d 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/menus.jd
@@ -72,7 +72,7 @@
 <dl>
   <dt><strong>옵션 메뉴 및 작업 모음</strong></dt>
     <dd><a href="#options-menu">옵션 메뉴</a>는 액티비티에 대한 기본 메뉴 항목 컬렉션
-입니다. 
+입니다.
 이곳에 "검색", "이메일 작성" 및 "설정"과 같이 앱에 전체적인 영향을 미치는 작업을 배치해야 합니다.
   <p>Android 2.3 이하를 대상으로 개발하는 경우 사용자는
 <em>메뉴</em> 버튼을 눌러서 옵션 메뉴 패널을 표시할 수 있습니다.</p>
@@ -83,9 +83,9 @@
 사용하기 시작해야 합니다.</p>
   <p><a href="#options-menu">옵션 메뉴 만들기</a> 섹션을 참조하십시오.</p>
     </dd>
-    
+
   <dt><strong>컨텍스트 메뉴 및 상황별 작업 모드</strong></dt>
-  
+
    <dd>컨텍스트 메뉴는 사용자가 요소를 길게 클릭하면 나타나는 <a href="#FloatingContextMenu">부동 메뉴</a>
 입니다. 이것은 선택한 콘텐츠나 컨텍스트 프레임에
 영향을 주는 작업을 제공합니다.
@@ -94,7 +94,7 @@
 여러 항목을 선택할 수 있습니다.</p>
   <p><a href="#context-menu">상황별 메뉴 만들기</a>에 관한 섹션을 참조하십시오.</p>
 </dd>
-    
+
   <dt><strong>팝업 메뉴</strong></dt>
     <dd>팝업 메뉴는 메뉴를 호출하는 보기에 고정된 수직 목록에서 항목 목록을
 표시합니다. 이것은 정 콘텐츠와 관련이 되는 작업의 오버플로를 제공하거나
@@ -112,7 +112,7 @@
 
 <p>모든 메뉴 유형에 대하여, Android는 표준 XML 형식으로 메뉴 항목을 정의합니다.
 액티비티 코드에서 메뉴를 구축하는 대신
-XML <a href="{@docRoot}guide/topics/resources/menu-resource.html">메뉴 리소스</a>에서 메뉴와 모든 항목을 정의해야 합니다. 그러면 
+XML <a href="{@docRoot}guide/topics/resources/menu-resource.html">메뉴 리소스</a>에서 메뉴와 모든 항목을 정의해야 합니다. 그러면
 액티비티나 프래그먼트에서 메뉴 리소스를 팽창시킬 수 있습니다({@link android.view.Menu} 개체로 로딩하면 됩니다).
 </p>
 
@@ -128,17 +128,17 @@
 디렉터리에서 XML 파일을 생성하고 다음 요소로 메뉴를 구축합니다.</p>
 <dl>
   <dt><code>&lt;menu></code></dt>
-    <dd>메뉴 항목의 컨테이너인 {@link android.view.Menu}를 정의합니다. 
+    <dd>메뉴 항목의 컨테이너인 {@link android.view.Menu}를 정의합니다.
 <code>&lt;menu></code> 요소는 파일의 루트 노드여야 하고 하나 이상의
 <code>&lt;item></code>와 <code>&lt;group></code> 요소를 보유할 수 있습니다.</dd>
 
   <dt><code>&lt;item></code></dt>
-    <dd>메뉴 안의 항목 하나를 나타내는 {@link android.view.MenuItem}을 생성합니다. 
+    <dd>메뉴 안의 항목 하나를 나타내는 {@link android.view.MenuItem}을 생성합니다.
 이 요소 안에는 하위 메뉴를 생성하기 위한 중첩 <code>&lt;menu></code> 요소가 들어있을 수 있습니다.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>{@code &lt;item&gt;} 요소를 위한 선택적인 투명 컨테이너입니다. 이것을 사용하면 활성 상태와 가시성 등의 속성을 공유할 수 있도록
-메뉴 항목을 분류하도록 해줍니다. 
+메뉴 항목을 분류하도록 해줍니다.
 자세한 정보를 보려면 <a href="#groups">메뉴 그룹 만들기</a>를 참조하십시오.</dd>
 </dl>
 
@@ -207,7 +207,7 @@
 
 <div class="figure" style="width:200px;margin:0">
   <img src="{@docRoot}images/options_menu.png" height="333" alt="" />
-  <p class="img-caption"><strong>그림 1.</strong> Android 2.3에서 실행되는 
+  <p class="img-caption"><strong>그림 1.</strong> Android 2.3에서 실행되는
 브라우저의 옵션 메뉴입니다.</p>
 </div>
 
@@ -220,21 +220,21 @@
 <ul>
   <li><strong>Android 2.3.x(API 레벨 10)
 이하</strong>에서 애플리케이션을 개발했을 경우,
-그림 1과 같이 사용자가 <em>메뉴</em> 버튼을 누르면 화면 아래에 옵션 메뉴의 콘텐츠가 나타납니다. 이것이 열렸을 때 가장 먼저 보이는 부분은 
+그림 1과 같이 사용자가 <em>메뉴</em> 버튼을 누르면 화면 아래에 옵션 메뉴의 콘텐츠가 나타납니다. 이것이 열렸을 때 가장 먼저 보이는 부분은
 아이콘
-메뉴이고, 이는 최대 여섯 개의 메뉴 항목을 보유합니다. 메뉴에 여섯 개를 넘는 항목이 포함되어 있는 경우, Android는 
-여섯 번째 항목과 나머지 항목을 더보기 메뉴에 배치합니다. 이것은 사용자가 
+메뉴이고, 이는 최대 여섯 개의 메뉴 항목을 보유합니다. 메뉴에 여섯 개를 넘는 항목이 포함되어 있는 경우, Android는
+여섯 번째 항목과 나머지 항목을 더보기 메뉴에 배치합니다. 이것은 사용자가
 <em>더보기</em>를 선택하면 열 수 있습니다.</li>
 
   <li><strong>Android 3.0(API 레벨 11)
 이상</strong>에서 애플리케이션을 개발했을 경우, 옵션 메뉴의 항목은 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>에서 이용할 수 있습니다. 기본적으로 시스템은 모든 항목을 작업 더보기에 배치합니다.
 사용자는 작업 모음 오른쪽에 있는
-작업 더보기 아이콘으로 이를 표시할 수 있습니다(또는 이용할 수 있을 경우 기기 <em>메뉴</em> 버튼을 누르면 됩니다). 
+작업 더보기 아이콘으로 이를 표시할 수 있습니다(또는 이용할 수 있을 경우 기기 <em>메뉴</em> 버튼을 누르면 됩니다).
 중요한 작업에 대한 빠른 액세스를
  활성화하려면
 {@code android:showAsAction="ifRoom"}을 해당 {@code &lt;item&gt;} 요소에 추가하여 몇 가지 항목이 작업 모음에 표시되도록 수준을 올립니다(그림
 2 참조). <p>작업 항목과 다른 작업 모음 동작에 관한 자세한 정보는 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a> 가이드를 참조하십시오. </p>
-<p class="note"><strong>참고:</strong> Andoid 3.0 이상을 대상으로 개발하지 <em>않더라도</em> 
+<p class="note"><strong>참고:</strong> Andoid 3.0 이상을 대상으로 개발하지 <em>않더라도</em>
 개발자 나름의 작업 모음 레이아웃을 구축하여 비슷한 효과를 낼 수 있습니다. 예를 들어,
 작업 모음이 포함된 Android 이전 버전을 지원하는 방법은 <a href="{@docRoot}resources/samples/ActionBarCompat/index.html">작업 모음 호환성</a>
 샘플을 참조하십시오.</p>
@@ -247,13 +247,13 @@
 
 <p>{@link android.app.Activity}
 하위 클래스나 {@link android.app.Fragment} 하위 클래스에서 옵션 메뉴용 항목을 선언할 수 있습니다. 액티비티와 프래그먼트가 모두
-옵션 메뉴용 항목을 선언할 경우, 이들은 UI에서 조합됩니다. 액티비티의 항목이 먼저 나타나고, 
-뒤이어 각 프래그먼트의 항목이 나타나며 이때 순서는 각 프래그먼트가 액티비티에 추가된 순서를 
+옵션 메뉴용 항목을 선언할 경우, 이들은 UI에서 조합됩니다. 액티비티의 항목이 먼저 나타나고,
+뒤이어 각 프래그먼트의 항목이 나타나며 이때 순서는 각 프래그먼트가 액티비티에 추가된 순서를
 따릅니다. 필요한 경우 이동해야 하는 각 {@code &lt;item&gt;}에서{@code android:orderInCategory} 속성이 포함된
 메뉴 항목을 다시 정렬할 수 있습니다.</p>
 
 <p>액티비티에 대한 옵션 메뉴를 지정하려면 {@link
-android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()}를 재정의합니다(프래그먼트는 
+android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()}를 재정의합니다(프래그먼트는
 자신만의 {@link android.app.Fragment#onCreateOptionsMenu onCreateOptionsMenu()} 콜백을 제공합니다). 이 메서드에서
 (<a href="#xml">XML에서 정의된</a>) 메뉴 리소스를 콜백에서 제공된 {@link
 android.view.Menu}로 팽창할 수 있습니다. 예:</p>
@@ -283,7 +283,7 @@
 
 <p>사용자가 옵션 메뉴에서 항목을 선택하면(작업 모음의 작업 항목 포함),
 시스템이 액티비티의 {@link android.app.Activity#onOptionsItemSelected(MenuItem)
-onOptionsItemSelected()} 메서드를 호출합니다. 이 메서드가 선택한 {@link android.view.MenuItem}을 전달합니다. 항목을 식별하려면 
+onOptionsItemSelected()} 메서드를 호출합니다. 이 메서드가 선택한 {@link android.view.MenuItem}을 전달합니다. 항목을 식별하려면
 {@link android.view.MenuItem#getItemId()}을 호출하면 됩니다. 이 메서드는(메뉴 리소스의 {@code android:id} 속성으로 지정되거나
 {@link android.view.Menu#add(int,int,int,int) add()} 메서드에 제공된 정수가 포함된) 메뉴 항목에 대한 고유 ID를 반환합니다
 . 이 ID와
@@ -317,7 +317,7 @@
 {@code true}를 반환하거나 모든 프래그먼트가 호출될 때까지 (각 프래그먼트가 추가된 순서대로) 각 프래그먼트에 대해 해당 메서드를 호출합니다.</p>
 
 <p class="note"><strong>팁:</strong> Android 3.0에는
-{@code android:onClick} 속성을 사용하여 XML에 있는 메뉴 항목에 대한 온-클릭 동작을 정의하는 기능이 추가됩니다. 
+{@code android:onClick} 속성을 사용하여 XML에 있는 메뉴 항목에 대한 온-클릭 동작을 정의하는 기능이 추가됩니다.
 속성 값은 메뉴를 사용하여 액티비티가 정의한 메서드의 이름이어야 합니다. 메서드는
 공개여야 하며 하나의 {@link android.view.MenuItem} 매개변수를 수락해야 합니다. 시스템이 이 메서드를 호출하면
 메서드가 선택한 메뉴 항목을 전달합니다. 자세한 정보와 예시는 <a href="{@docRoot}guide/topics/resources/menu-resource.html">메뉴 리소스</a> 문서를 참조하십시오.</p>
@@ -326,14 +326,14 @@
 
 {@link android.app.Activity#onCreateOptionsMenu(Menu)
 onCreateOptionsMenu()}와 {@link android.app.Activity#onOptionsItemSelected(MenuItem)
-onOptionsItemSelected()} 메서드를 제외하고 아무것도 구현하지 않는 액티비티를 만드는 것을 고려해보십시오. 그런 다음 이 클래스를 같은 옵션 메뉴를 공유해야 하는 각 액티비티에 대해 
+onOptionsItemSelected()} 메서드를 제외하고 아무것도 구현하지 않는 액티비티를 만드는 것을 고려해보십시오. 그런 다음 이 클래스를 같은 옵션 메뉴를 공유해야 하는 각 액티비티에 대해
 확장하면 됩니다. 이렇게 하면 메뉴 작업을 처리하는 코드 세트 하나를 관리할 수 있고,
 각 하위 클래스가 메뉴 동작을 상속합니다.
 이런 하위 액티비티 중 하나에 메뉴 항목을 추가하려면,
 해당 액티비티에서 {@link android.app.Activity#onCreateOptionsMenu(Menu)
 onCreateOptionsMenu()}를 재정의하십시오. {@code super.onCreateOptionsMenu(menu)}를 호출하여
 원래 메뉴 항목을 생성하고, {@link
-android.view.Menu#add(int,int,int,int) menu.add()}이 포함된 새로운 메뉴 항목을 추가합니다. 각각의 메뉴 항목에 대한 슈퍼클래스의 동작을 
+android.view.Menu#add(int,int,int,int) menu.add()}이 포함된 새로운 메뉴 항목을 추가합니다. 각각의 메뉴 항목에 대한 슈퍼클래스의 동작을
 재정의할 수도 있습니다.</p>
 
 
@@ -363,10 +363,10 @@
 {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()}를 호출하여
 시스템이 {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}를 호출하도록 요청해야 합니다.</p>
 
-<p class="note"><strong>참고:</strong> 
-현재 초점이 맞춰져 있는 {@link android.view.View}를 기반으로 한 
-옵션 메뉴의 항목을 절대로 변경해서는 안 됩니다. 터치 모드에서는(사용자가 트랙볼이나 d-패드를 사용하지 않는 경우), 
-보기가 초점을 취할 수 없으므로 옵션 메뉴에 있는 항목을 수정할 
+<p class="note"><strong>참고:</strong>
+현재 초점이 맞춰져 있는 {@link android.view.View}를 기반으로 한
+옵션 메뉴의 항목을 절대로 변경해서는 안 됩니다. 터치 모드에서는(사용자가 트랙볼이나 d-패드를 사용하지 않는 경우),
+보기가 초점을 취할 수 없으므로 옵션 메뉴에 있는 항목을 수정할
 근거로 초점을 사용해서는 결코 안 됩니다. {@link
 android.view.View}의 컨텍스트에 민감한 메뉴를 제공하고자 하는 경우, <a href="#context-menu">컨텍스트 메뉴</a>를 사용하십시오.</p>
 
@@ -390,18 +390,18 @@
 <ul>
   <li><a href="#FloatingContextMenu">부동 컨텍스트 메뉴</a>를 사용합니다. 사용자가 컨텍스트 메뉴에 대한 지원을 선언하는 보기를 길게 클릭하면
 (대화와 유사한) 메뉴 항목의 부동 목록이
-나타납니다. 사용자는 한 항목에서 한 번에 하나의 상황별 
+나타납니다. 사용자는 한 항목에서 한 번에 하나의 상황별
 작업을 수행할 수 있습니다.</li>
 
   <li><a href="#CAB">상황별 작업 모드</a>를 사용합니다. 이 모드는 화면 위에 있는 막대에서 선택된 항목에 영향을 미치는 작업 항목이 포함된 <em>상황별 작업 막대</em>를 표시하는
 {@link android.view.ActionMode}의 시스템 구현입니다.
- 이 모드가 활성 상태이면 사용자는 
+ 이 모드가 활성 상태이면 사용자는
 여러 개의 항목에서 한 작업을 한꺼번에 수행할 수 있습니다(앱이 이를 허용하는 경우).</li>
 </ul>
 
 <p class="note"><strong>참고:</strong> 상황별 작업 모드는 Android 3.0(API
 레벨 11) 이상에서 이용할 수 있으며, 이용 가능할 때 컨텍스트 작업 표시용으로 기본 설정된 기술입니다.
- 앱이 3.0 이하의 버전을 지원할 경우 해당 기기에서는 
+ 앱이 3.0 이하의 버전을 지원할 경우 해당 기기에서는
 부동 컨텍스트 메뉴로 돌아가야 합니다.</p>
 
 
@@ -409,8 +409,8 @@
 
 <p>부동 컨텍스트 메뉴를 제공하려면 다음과 같이 합니다.</p>
 <ol>
-  <li>컨텍스트 메뉴가 연관되어야 하는 {@link android.view.View}를 등록합니다. 그러려면 
-{@link android.app.Activity#registerForContextMenu(View) registerForContextMenu()}를 호출하고 여기에 
+  <li>컨텍스트 메뉴가 연관되어야 하는 {@link android.view.View}를 등록합니다. 그러려면
+{@link android.app.Activity#registerForContextMenu(View) registerForContextMenu()}를 호출하고 여기에
 {@link android.view.View}를 전달하면 됩니다.
   <p>액티비티가 {@link android.widget.ListView} 또는 {@link android.widget.GridView}를 사용하고
 각 항목이 같은 컨텍스트 메뉴를 제공하게 하고 싶을 경우,
@@ -419,7 +419,7 @@
 </li>
 
   <li>{@link android.app.Activity}나 {@link android.app.Fragment}에서 {@link
-android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()} 메서드를 
+android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()} 메서드를
 구현합니다.
   <p>등록된 보기가 롱-클릭 이벤트를 수신하면, 시스템이 {@link
 android.view.View.OnCreateContextMenuListener#onCreateContextMenu onCreateContextMenu()}
@@ -437,9 +437,9 @@
 
 <p>{@link android.view.MenuInflater}를 사용하면 <a href="{@docRoot}guide/topics/resources/menu-resource.html">메뉴 리소스</a>에서 컨텍스트 메뉴를 팽창하게 해줍니다. 콜백 메서드
 매개변수에는 사용자가 선택한 {@link android.view.View}와
-선택한 항목에 대한 추가 정보를 제공하는 {@link android.view.ContextMenu.ContextMenuInfo} 객체가 
-포함됩니다. 액티비티에 여러 개의 보기가 있고 이들이 각각 서로 다른 컨텍스트 메뉴를 제공하는 경우, 
-이와 같은 매개변수를 사용하여 팽창할 컨텍스트 메뉴가 무엇인지 
+선택한 항목에 대한 추가 정보를 제공하는 {@link android.view.ContextMenu.ContextMenuInfo} 객체가
+포함됩니다. 액티비티에 여러 개의 보기가 있고 이들이 각각 서로 다른 컨텍스트 메뉴를 제공하는 경우,
+이와 같은 매개변수를 사용하여 팽창할 컨텍스트 메뉴가 무엇인지
 판별할 수 있습니다.</p>
 </li>
 
@@ -470,8 +470,8 @@
 XML에서 메뉴 정의</a> 섹션에 나타난 바와 같이 {@code
 android:id} 속성을 사용하여 XML의 각 메뉴 항목에 이를 할당해야 합니다.</p>
 
-<p>메뉴 항목을 성공적으로 처리하면 {@code true}를 반환합니다. 메뉴 항목을 처리하지 않는 경우, 
-해당 메뉴 항목을 슈퍼클래스 구현에 전달해야 합니다. 액티비티에 프래그먼트가 포함되어 있는 경우 
+<p>메뉴 항목을 성공적으로 처리하면 {@code true}를 반환합니다. 메뉴 항목을 처리하지 않는 경우,
+해당 메뉴 항목을 슈퍼클래스 구현에 전달해야 합니다. 액티비티에 프래그먼트가 포함되어 있는 경우
 해당 액티비티가 첫 번째로 이 콜백을 수신합니다. 처리되지 않을 때 슈퍼클래스를 호출하면 시스템이
 이벤트를 각 프래그먼트의 각 콜백 메서드에 전달합니다.
 {@code true} 또는 {@code false}가 반환될 때까지 (각 프래그먼트가 추가된 순서대로) 한 번에 하나씩 전달됩니다 (
@@ -484,7 +484,7 @@
 <h3 id="CAB">상황별 동작 모드 사용</h3>
 
 <p>상황별 작업 모드는 사용자 상호 작용을 컨텍스트 작업 수행에 집중시키는 {@link android.view.ActionMode}의
-시스템 구현입니다. 사용자가 항목을 선택하여 
+시스템 구현입니다. 사용자가 항목을 선택하여
 이 모드를 활성화하면, <em>상황별 작업 모음</em>이 화면 위에 나타나서
 사용자가 현재 선택된 항목에서 수행할 수 있는 작업을 표시합니다. 이 모드가
 활성화되면 사용자는 여러 항목을 선택하고(개발자가 이를 허용하는 경우), 항목을 선택 해제하고, 액티비티 내에서
@@ -492,15 +492,15 @@
 
 작업 모음 왼쪽의 <em>완료</em> 작업을 누르면 작업 모드가 비활성화되고 상황별 작업 모음이 사라집니다.</p>
 
-<p class="note"><strong>참고:</strong> 상황별 작업 모음이 
-반드시 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>과 연관되어 있는 것은 아닙니다. 이들은 서로 
-독립적으로 작동합니다. 이는 겉으로 보기에는 상황별 작업 모음이 작업 모음의 위치를 능가하는 것으로 
+<p class="note"><strong>참고:</strong> 상황별 작업 모음이
+반드시 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>과 연관되어 있는 것은 아닙니다. 이들은 서로
+독립적으로 작동합니다. 이는 겉으로 보기에는 상황별 작업 모음이 작업 모음의 위치를 능가하는 것으로
 보이더라도 적용됩니다.</p>
 
-<p>Android 3.0 (API level 11) 이상을 대상으로 개발하는 경우, 
+<p>Android 3.0 (API level 11) 이상을 대상으로 개발하는 경우,
 일반적으로 상황별 작업 모드를 사용하여 <a href="#FloatingContextMenu">부동 컨텍스트 메뉴</a>가 아닌 상황별 작업을 표시합니다.</p>
 
-<p>상황별 작업을 제공하는 보기의 경우, 일반적으로 두 이벤트 중 하나(또는 두 가지 모두)에서 상황별 작업 모드를 
+<p>상황별 작업을 제공하는 보기의 경우, 일반적으로 두 이벤트 중 하나(또는 두 가지 모두)에서 상황별 작업 모드를
 호출해야 합니다.</p>
 <ul>
   <li>사용자가 보기에서 롱-클릭을 수행합니다.</li>
@@ -521,11 +521,11 @@
 
 <h4 id="CABforViews">각각의 보기에 대한 상황별 작업 모드의 활성화</h4>
 
-<p>사용자가 특정 보기를 선택했을 때만 상황별 작업 모드를 호출하고자 하는 경우 
+<p>사용자가 특정 보기를 선택했을 때만 상황별 작업 모드를 호출하고자 하는 경우
 다음과 같이 해야 합니다.</p>
 <ol>
-  <li>{@link android.view.ActionMode.Callback} 인터페이스를 구현합니다. 콜백 메서드에서 
-상황별 작업 모음의 작업을 지정하고, 작업 항목에 대한 클릭 이벤트에 응답하고, 작업 모드에 대한 
+  <li>{@link android.view.ActionMode.Callback} 인터페이스를 구현합니다. 콜백 메서드에서
+상황별 작업 모음의 작업을 지정하고, 작업 항목에 대한 클릭 이벤트에 응답하고, 작업 모드에 대한
 다른 수명 주기 이벤트를 처리합니다.</li>
   <li>모음을 표시하고자 하는 경우{@link android.app.Activity#startActionMode startActionMode()}를 호출합니다
 (사용자가 보기를 롱-클릭하는 경우).</li>
@@ -579,11 +579,11 @@
 android.view.ActionMode} 객체를 전달합니다. {@link
 android.view.ActionMode} API를 사용하여
 {@link android.view.ActionMode#setTitle setTitle()}과 {@link
-android.view.ActionMode#setSubtitle setSubtitle()}이 포함된 제목과 하위 제목을 수정하는 등과 같이 CAB를 다양하게 변경합니다(몇 개의 
+android.view.ActionMode#setSubtitle setSubtitle()}이 포함된 제목과 하위 제목을 수정하는 등과 같이 CAB를 다양하게 변경합니다(몇 개의
 항목이 선택되었는지 나타낼 때 유용합니다).</p>
 
 <p>또한, 위 샘플은 작업 모드가 소멸될 때 {@code mActionMode} 변수를 null로
-설정한다는 점도 유의하십시오. 다음 단계에서는 액티비티나 프래그먼트의 구성원 변수를 초기화하고 저장하는 방법을 
+설정한다는 점도 유의하십시오. 다음 단계에서는 액티비티나 프래그먼트의 구성원 변수를 초기화하고 저장하는 방법을
 볼 수 있습니다.</p>
 </li>
 
@@ -608,10 +608,10 @@
 </pre>
 
 <p>{@link android.app.Activity#startActionMode startActionMode()}를 호출하면 시스템이
-생성된 {@link android.view.ActionMode}를 반환합니다. 이것을 구성원 변수에 저장하면 
+생성된 {@link android.view.ActionMode}를 반환합니다. 이것을 구성원 변수에 저장하면
 다른 이벤트에 대한 응답으로 상황별 작업 모음을 변경할 수 있습니다. 위 샘플에서
 {@link android.view.ActionMode}를 사용하여 {@link android.view.ActionMode} 인스턴스가 이미 활성화되었을 경우
-작업 모드를 시작하기 전에 구성원이 null인지 여부를 점검하여 
+작업 모드를 시작하기 전에 구성원이 null인지 여부를 점검하여
 해당 인스턴스가 재생성되지 않게 합니다.</p>
 </li>
 </ol>
@@ -621,13 +621,13 @@
 <h4 id="CABforListView">ListView 또는 GridView에서 일괄 상황별 작업 활성화</h4>
 
 <p>{@link android.widget.ListView} 또는 {@link
-android.widget.GridView}(또는 {@link android.widget.AbsListView}의 또 다른 확장)에 항목 컬렉션이 있고 
+android.widget.GridView}(또는 {@link android.widget.AbsListView}의 또 다른 확장)에 항목 컬렉션이 있고
 사용자가 일괄 작업을 수행하도록 허용하려면 다음과 같이 해야 합니다.</p>
 
 <ul>
-  <li>{@link android.widget.AbsListView.MultiChoiceModeListener} 인터페이스를 구현하고 이를 
+  <li>{@link android.widget.AbsListView.MultiChoiceModeListener} 인터페이스를 구현하고 이를
 {@link android.widget.AbsListView#setMultiChoiceModeListener
-setMultiChoiceModeListener()}가 있는 보기 그룹에 대해 설정합니다. 수신기 콜백 메서드에서 상황별 작업 모음에 대한 
+setMultiChoiceModeListener()}가 있는 보기 그룹에 대해 설정합니다. 수신기 콜백 메서드에서 상황별 작업 모음에 대한
 작업을 지정하고, 작업 항목에 대한 클릭 이벤트에 대응하고,
 {@link android.view.ActionMode.Callback} 인터페이스에서 상속한 다른 콜백을 처리할 수 있습니다.</li>
 
@@ -690,10 +690,10 @@
 메서드를 호출하고 지정된 작업으로 상황별 작업 모음을 표시합니다. 상황별 작업 모음이 표시되는 동안
 사용자가 추가 항목을 선택할 수 있습니다.</p>
 
-<p>상황별 작업이 공통 작업 항목을 제공하는 몇몇 경우, 
-확인란이나 그와 비슷한 UI요소를 추가하여 사용자가 항목을 선택할 수 있도록 해주는 것이 좋습니다. 
-사용자가 롱-클릭 동작을 발견하지 못할 수도 있기 때문입니다. 사용자가 확인란을 선택하면 
-{@link android.widget.AbsListView#setItemChecked setItemChecked()}로 
+<p>상황별 작업이 공통 작업 항목을 제공하는 몇몇 경우,
+확인란이나 그와 비슷한 UI요소를 추가하여 사용자가 항목을 선택할 수 있도록 해주는 것이 좋습니다.
+사용자가 롱-클릭 동작을 발견하지 못할 수도 있기 때문입니다. 사용자가 확인란을 선택하면
+{@link android.widget.AbsListView#setItemChecked setItemChecked()}로
 확인된 상태에 각 목록 항목을 설정하여 상황별 작업 모드를 호출할 수 있습니다.</p>
 
 
@@ -703,19 +703,19 @@
 
 <div class="figure" style="width:220px">
 <img src="{@docRoot}images/ui/popupmenu.png" alt="" />
-<p><strong>그림 4.</strong> Gmail 앱의 팝업 메뉴는 오른쪽 위에 있는 더보기 
+<p><strong>그림 4.</strong> Gmail 앱의 팝업 메뉴는 오른쪽 위에 있는 더보기
 버튼에 고정되어 있습니다.</p>
 </div>
 
 <p>{@link android.widget.PopupMenu}는 {@link android.view.View}에 고정된 모달 메뉴입니다.
 이것은 앵커 보기 아래에 공간이 있으면 아래에, 없으면 보기 위에 나타납니다. 이것은 다음과 같은 상황에 유용합니다.</p>
 <ul>
-  <li>특정 콘텐츠와 <em>관련된</em> 작업에 대한 더보기 스타일 메뉴를 제공합니다(예: 
+  <li>특정 콘텐츠와 <em>관련된</em> 작업에 대한 더보기 스타일 메뉴를 제공합니다(예:
 그림 4의 Gmail 이메일 헤더 등).
-    <p class="note"><strong>참고:</strong> 이것은 컨텍스트 메뉴와는 다릅니다. 컨텍스트 메뉴는 
+    <p class="note"><strong>참고:</strong> 이것은 컨텍스트 메뉴와는 다릅니다. 컨텍스트 메뉴는
 일반적으로 선택된 콘텐츠에 <em>영향을 미치는</em> 작업입니다. 선택된
 콘텐츠에 영향을 미치는 작업의 경우, <a href="#CAB">상황별 작업 모드</a> 또는 <a href="#FloatingContextMenu">부동 컨텍스트 메뉴</a>를 사용하십시오.</p></li>
-  <li>명령문의 두 번째 부분을 제공합니다(예: "추가"라고 표시된 버튼으로, 
+  <li>명령문의 두 번째 부분을 제공합니다(예: "추가"라고 표시된 버튼으로,
 각기 다른 "추가" 옵션이 있는 팝업 메뉴를 발생시킵니다).</li>
   <li>영구적인 선택이 포함되지 않은 {@link android.widget.Spinner}와 유사한 드롭다운을 제공합니다.
 </li>
@@ -727,23 +727,23 @@
 
 <p><a href="#xml">XML로 메뉴를 정의</a>하는 경우, 팝업 메뉴를 표시하는 방법은 다음과 같습니다.</p>
 <ol>
-  <li>자신의 생성자로 {@link android.widget.PopupMenu}를 인스턴트화합니다. 생성자는 
-현재 애플리케이션 {@link android.content.Context} 및 {@link android.view.View}를 
+  <li>자신의 생성자로 {@link android.widget.PopupMenu}를 인스턴트화합니다. 생성자는
+현재 애플리케이션 {@link android.content.Context} 및 {@link android.view.View}를
 메뉴를 고정시켜야 하는 곳에 가져갑니다.</li>
   <li>{@link android.view.MenuInflater}를 사용하여{@link
 android.widget.PopupMenu#getMenu() PopupMenu.getMenu()}가 반환한 {@link
-android.view.Menu} 객체에 메뉴 리소스를 팽창합니다. API 레벨 14 이상에서는 이 대신 
+android.view.Menu} 객체에 메뉴 리소스를 팽창합니다. API 레벨 14 이상에서는 이 대신
 {@link android.widget.PopupMenu#inflate PopupMenu.inflate()}를 사용할 수 있습니다.</li>
   <li>{@link android.widget.PopupMenu#show() PopupMenu.show()}를 호출합니다.</li>
 </ol>
 
-<p>예를 들어, 다음은 팝업 메뉴를 표시하는 {@link android.R.attr#onClick android:onClick} 속성이 
+<p>예를 들어, 다음은 팝업 메뉴를 표시하는 {@link android.R.attr#onClick android:onClick} 속성이
 있는 버튼입니다.</p>
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -763,7 +763,7 @@
 <p>API 레벨 14 이상의 경우, {@link
 android.widget.PopupMenu#inflate PopupMenu.inflate()}로 메뉴를 팽창하는 두 개의 줄을 결합시킬 수 있습니다.</p>
 
-<p>사용자가 항목을 선택하거나 메뉴 영역 바깥쪽을 터치하면 이 메뉴는 
+<p>사용자가 항목을 선택하거나 메뉴 영역 바깥쪽을 터치하면 이 메뉴는
 무시됩니다. {@link
 android.widget.PopupMenu.OnDismissListener}를 사용하여 무시 이벤트를 수신 대기할 수 있습니다.</p>
 
@@ -807,7 +807,7 @@
 
 <h2 id="groups">메뉴 그룹 만들기</h2>
 
-<p>메뉴 그룹은 특정한 특성을 공유하는 메뉴 항목의 컬렉션입니다. 그룹으로 다음과 같은 작업을 
+<p>메뉴 그룹은 특정한 특성을 공유하는 메뉴 항목의 컬렉션입니다. 그룹으로 다음과 같은 작업을
 할 수 있습니다.</p>
 <ul>
   <li>{@link android.view.Menu#setGroupVisible(int,boolean)
@@ -840,11 +840,11 @@
 &lt;/menu&gt;
 </pre>
 
-<p>그룹에 있는 항목은 첫 항목과 같은 레벨에서 표시됩니다. 메뉴 안에 있는 세 가지 항목은 모두 
-형제입니다. 그러나 이 그룹에 있는 항목 두 개의 특성을 개발자가 수정할 수 있습니다. 
-그룹 ID를 참조하고 위에 나령된 메서드를 사용하면 됩니다. 시스템 또한 
+<p>그룹에 있는 항목은 첫 항목과 같은 레벨에서 표시됩니다. 메뉴 안에 있는 세 가지 항목은 모두
+형제입니다. 그러나 이 그룹에 있는 항목 두 개의 특성을 개발자가 수정할 수 있습니다.
+그룹 ID를 참조하고 위에 나령된 메서드를 사용하면 됩니다. 시스템 또한
 그룹화된 항목은 절대 분리하지 않습니다. 예를 들어, 각 항목에 대해 {@code
-android:showAsAction="ifRoom"}을 선언하면, 두 가지 모두 작업 모음에 나타나거나 
+android:showAsAction="ifRoom"}을 선언하면, 두 가지 모두 작업 모음에 나타나거나
 작업 더보기에 나타납니다.</p>
 
 
@@ -852,23 +852,23 @@
 
 <div class="figure" style="width:200px">
   <img src="{@docRoot}images/radio_buttons.png" height="333" alt="" />
-  <p class="img-caption"><strong>그림 5.</strong> 확인 가능한 
+  <p class="img-caption"><strong>그림 5.</strong> 확인 가능한
 항목이 있는 하위 메뉴의 스크린샷입니다.</p>
 </div>
 
-<p>메뉴는 옵션을 켜고 끄거나, 독립적 옵션에 대한 확인란으로 사용하거나, 
-상호 배타적인 옵션의 그룹에 대한 무선 버튼으로 사용하기 위한 인터페이스로 
+<p>메뉴는 옵션을 켜고 끄거나, 독립적 옵션에 대한 확인란으로 사용하거나,
+상호 배타적인 옵션의 그룹에 대한 무선 버튼으로 사용하기 위한 인터페이스로
 유용합니다. 그림 5는 무선 버튼이 있으며 확인 가능한 항목이 포함된 하위 메뉴를
 표시합니다.</p>
 
-<p class="note"><strong>참고:</strong> (옵션 메뉴의) 아이콘 메뉴의 메뉴 항목은 
-확인란이나 무선 버튼을 표시할 수 없습니다. 확인 가능한 아이콘 메뉴에서 항목을 만들기로 선택하는 경우, 
-상태가 변경될 때마다 아이콘 및/또는 텍스트를 교체하여 
+<p class="note"><strong>참고:</strong> (옵션 메뉴의) 아이콘 메뉴의 메뉴 항목은
+확인란이나 무선 버튼을 표시할 수 없습니다. 확인 가능한 아이콘 메뉴에서 항목을 만들기로 선택하는 경우,
+상태가 변경될 때마다 아이콘 및/또는 텍스트를 교체하여
 확인된 상태를 수동으로 나타내야 합니다.</p>
 
 <p>{@code &lt;item&gt;} 요소의 {@code
 android:checkable} 속성을 사용하여 개별 메뉴 항목에 대한 확인 가능한 동작을 정의하거나
-{@code &lt;group&gt;} 요소에서 {@code android:checkableBehavior} 속성으로 전체 그룹에 대한 확인 가능한 동작을 사용할 수 있습니다. 
+{@code &lt;group&gt;} 요소에서 {@code android:checkableBehavior} 속성으로 전체 그룹에 대한 확인 가능한 동작을 사용할 수 있습니다.
 예를 들어, 이 메뉴 그룹의 모든 항목은 무선 버튼으로 확인할 수 있습니다.</p>
 
 <pre>
@@ -893,15 +893,15 @@
     <dd>확인할 수 있는 항목이 없습니다.</dd>
 </dl>
 
-<p>{@code &lt;item&gt;} 요소의 {@code android:checked} 속성을 이용하여 항목에 기본 확인된 상태를 적용하고 
+<p>{@code &lt;item&gt;} 요소의 {@code android:checked} 속성을 이용하여 항목에 기본 확인된 상태를 적용하고
 {@link
 android.view.MenuItem#setChecked(boolean) setChecked()} 메서드로 코드 내에서 이를 변경할 수 있습니다.</p>
 
 <p>확인 가능한 항목이 선택되면, 시스템이 각 항목이 선택된 콜백 메서드를 호출합니다
-(예: {@link android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}). 바로 여기에서 
-확인란의 상태를 설정해야 합니다. 확인란이나 무선 버튼은 자신의 상태를 자동으로 
-변경하지 않기 때문입니다. 
-{@link android.view.MenuItem#isChecked()}로 항목의 현재 상태를 (사용자가 이를 선택하기 전 상태 그대로) 쿼리하고 그런 다음 
+(예: {@link android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}). 바로 여기에서
+확인란의 상태를 설정해야 합니다. 확인란이나 무선 버튼은 자신의 상태를 자동으로
+변경하지 않기 때문입니다.
+{@link android.view.MenuItem#isChecked()}로 항목의 현재 상태를 (사용자가 이를 선택하기 전 상태 그대로) 쿼리하고 그런 다음
 {@link android.view.MenuItem#setChecked(boolean) setChecked()}로 확인된 상태를 설정할 수 있습니다. 예:</p>
 
 <pre>
@@ -926,7 +926,7 @@
 보이게 합니다.</p>
 
 <p class="note"><strong>참고:</strong>
-확인 가능한 메뉴 항목은 세션별 기준으로만 사용하도록 만들어져 있으며 애플리케이션이 소멸된 후에는 
+확인 가능한 메뉴 항목은 세션별 기준으로만 사용하도록 만들어져 있으며 애플리케이션이 소멸된 후에는
 저장되지 않습니다. 사용자에 대해 저장하고자 하는 애플리케이션 설정이 있으면,
 <a href="{@docRoot}guide/topics/data/data-storage.html#pref">공유 기본 설정</a>으로 해당 데이터를 저장해야 합니다.</p>
 
@@ -935,16 +935,16 @@
 <h2 id="intents">인텐트에 기반한 메뉴 항목 추가</h2>
 
 <p>{@link android.content.Intent}를 이용하여
-액티비티를 시작하는 메뉴 항목을 원할 수도 있습니다(액티비티가 본인의 애플리케이션 안에 있는 것이든 또 다른 애플리케이션에 있는 것이든 무관합니다). 사용하고자 하는 인텐트를 알고 
+액티비티를 시작하는 메뉴 항목을 원할 수도 있습니다(액티비티가 본인의 애플리케이션 안에 있는 것이든 또 다른 애플리케이션에 있는 것이든 무관합니다). 사용하고자 하는 인텐트를 알고
 인텐트를 시작해야 하는 특정 메뉴 항목이 있을 경우,
-항목에 대해 선택된 적절한 콜백 메서드에서 {@link android.app.Activity#startActivity(Intent) startActivity()}가 
+항목에 대해 선택된 적절한 콜백 메서드에서 {@link android.app.Activity#startActivity(Intent) startActivity()}가
 포함된 인텐트를 실행합니다(예: {@link
 android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()} 콜백).</p>
 
-<p>그러나 사용자 기기에 
+<p>그러나 사용자 기기에
 해당 인텐트를 처리하는 애플리케이션이 있는지 모르는 경우, 이를 호출하는 메뉴 항목을 추가하면
 해당 인텐트가 액티비티에 대해 확인되지 못해서 메뉴 항목이 기능하지 못할 수도 있습니다.
- 이것을 해결하기 위해 Android는 개발자가 동적으로 자신의 메뉴에 메뉴 항목을 추가할 수 있도록 허용합니다. 
+ 이것을 해결하기 위해 Android는 개발자가 동적으로 자신의 메뉴에 메뉴 항목을 추가할 수 있도록 허용합니다.
 이는 Android가 기기에서 개발자의 인텐트를 처리하는 액티비티를 찾을 경우에 해당됩니다.</p>
 
 <p>인텐트를 수락하는 이용 가능한 액티비티에 기반하여 메뉴 항목을 추가하려면 다음과 같이 합니다.</p>
@@ -954,15 +954,15 @@
 {@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE}, 기타 요구 사항으로 인텐트를 정의합니다.</li>
   <li>{@link
 android.view.Menu#addIntentOptions(int,int,int,ComponentName,Intent[],Intent,int,MenuItem[])
-Menu.addIntentOptions()}을 호출합니다. 그러면 Android가 인텐트를 수행하는 애플리케이션을 검색하고 
+Menu.addIntentOptions()}을 호출합니다. 그러면 Android가 인텐트를 수행하는 애플리케이션을 검색하고
 이들을 개발자의 메뉴에 추가합니다.</li>
 </ol>
 
-<p>인텐트를 만족하는 애플리케이션이 설치되어 있지 않으면, 
+<p>인텐트를 만족하는 애플리케이션이 설치되어 있지 않으면,
 메뉴 항목이 추가되지 않습니다.</p>
 
 <p class="note"><strong>참고:</strong>
-{@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE} 를 사용하여 화면에서 현재 선택된 
+{@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE} 를 사용하여 화면에서 현재 선택된
 요소를 처리합니다. 그러므로 이것은 {@link
 android.app.Activity#onCreateContextMenu(ContextMenu,View,ContextMenuInfo)
 onCreateContextMenu()}에서 메뉴를 생성할 때만 사용해야 합니다.</p>
@@ -995,7 +995,7 @@
 
 <p>정의된 인텐트와 일치하는 인텐트 필터를 제공하는 것으로 발견된 각 액티비티에
 인텐트 필터의 <code>android:label</code>를
-메뉴 항목 제목으로, 애플리케이션 아이콘을 메뉴 항목 아이콘으로 사용하여 메뉴 항목을 추가합니다. 
+메뉴 항목 제목으로, 애플리케이션 아이콘을 메뉴 항목 아이콘으로 사용하여 메뉴 항목을 추가합니다.
 {@link android.view.Menu#addIntentOptions(int,int,int,ComponentName,Intent[],Intent,int,MenuItem[])
 addIntentOptions()} 메서드는 추가된 메뉴 항목 개수를 반환합니다.</p>
 
@@ -1007,10 +1007,10 @@
 
 <h3 id="AllowingToAdd">다른 메뉴에 액티비티 추가 허용</h3>
 
-<p>본인의 액티비티의 서비스를 다른 애플리케이션에 제공하여 다른 
+<p>본인의 액티비티의 서비스를 다른 애플리케이션에 제공하여 다른
 애플리케이션의 메뉴에 본인의 애플리케이션이 추가되도록 할 수도 있습니다(위에서 설명한 것과 역할이 반대입니다).</p>
 
-<p>다른 애플리케이션 메뉴에 추가되려면, 인텐트 필터는 평소와 같이 
+<p>다른 애플리케이션 메뉴에 추가되려면, 인텐트 필터는 평소와 같이
 정의해야 하지만, 인텐트 필터 카테고리에 {@link android.content.Intent#CATEGORY_ALTERNATIVE}
 및/또는{@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE} 값을
 반드시 포함해야 합니다. 예:</p>
@@ -1023,9 +1023,9 @@
 &lt;/intent-filter>
 </pre>
 
-<p>인텐트 필터 작성에 관한 자세한 내용은 
+<p>인텐트 필터 작성에 관한 자세한 내용은
 <a href="/guide/components/intents-filters.html">인텐트와 인텐트 필터</a> 문서를 참조하십시오.</p>
 
-<p>이 기법을 사용하는 샘플 애플리케이션은 
+<p>이 기법을 사용하는 샘플 애플리케이션은
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Note
 Pad</a> 샘플 코드를 참조하십시오.</p>
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/ko/guide/topics/ui/notifiers/notifications.jd
index db55424..4d87df7 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/notifiers/notifications.jd
@@ -81,8 +81,8 @@
     <strong>그림 2.</strong> 알림 창에 있는 알림입니다.
 </p>
 
-<p class="note"><strong>참고:</strong> 따로 언급된 부분을 제외하고 이 가이드는 
-버전 4 <a href="{@docRoot}tools/support-library/index.html">지원 라이브러리</a>의 {@link android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder} 클래스를 
+<p class="note"><strong>참고:</strong> 따로 언급된 부분을 제외하고 이 가이드는
+버전 4 <a href="{@docRoot}tools/support-library/index.html">지원 라이브러리</a>의 {@link android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder} 클래스를
 참조합니다.
 클래스 {@link android.app.Notification.Builder Notification.Builder}는 Android
 3.0(API 레벨 11)에 추가되었습니다.</p>
@@ -111,15 +111,15 @@
 </p>
 <ul>
     <li>
-        
+
 {@link android.support.v4.app.NotificationCompat.Builder#setSmallIcon setSmallIcon()}이 설정한 작은 아이콘
     </li>
     <li>
-        
+
 {@link android.support.v4.app.NotificationCompat.Builder#setContentTitle setContentTitle()}이 설정한 제목
     </li>
     <li>
-        
+
 {@link android.support.v4.app.NotificationCompat.Builder#setContentText setContentText()}이 설정한 세부 텍스트
     </li>
 </ul>
@@ -132,8 +132,8 @@
 <h3 id="Actions">알림 작업</h3>
 <p>
     선택 항목이기는 하지만 알림에 작업을 하나 이상 추가해야 합니다.
-    작업은 사용자가 알림에서 
-애플리케이션의 {@link android.app.Activity}로 바로 갈 수 있게 하고, 여기에서 사용자는 하나 이상의 이벤트를 보거나 
+    작업은 사용자가 알림에서
+애플리케이션의 {@link android.app.Activity}로 바로 갈 수 있게 하고, 여기에서 사용자는 하나 이상의 이벤트를 보거나
 더 많은 작업을 할 수 있습니다.
 </p>
 <p>
@@ -141,15 +141,15 @@
 일반적으로 작업은
 애플리케이션의 {@link android.app.Activity}를 엽니다. 또한, 알람 다시 알림이나 텍스트 메시지에 즉시 답장 등과 같은 추가 작업을 수행하는
 알림 버튼을 추가할 수 있습니다.
-이 기능은 Android 4.1부터 사용할 수 있습니다. 추가 작업 버튼을 사용할 경우, 
-앱의 {@link android.app.Activity}에서 해당 기능을 사용할 수 있게 해야 합니다. 
+이 기능은 Android 4.1부터 사용할 수 있습니다. 추가 작업 버튼을 사용할 경우,
+앱의 {@link android.app.Activity}에서 해당 기능을 사용할 수 있게 해야 합니다.
 자세한 정보는 <a href="#Compatibility">처리 호환성</a> 섹션을 참조하십시오.
 </p>
 <p>
-    {@link android.app.Notification}에서 작업 자체는 
-애플리케이션에서 {@link android.app.Activity}를 시작하는 
-{@link android.content.Intent}가 포함된 
-{@link android.app.PendingIntent}가 정의합니다. 
+    {@link android.app.Notification}에서 작업 자체는
+애플리케이션에서 {@link android.app.Activity}를 시작하는
+{@link android.content.Intent}가 포함된
+{@link android.app.PendingIntent}가 정의합니다.
 {@link android.app.PendingIntent}를 동작과 연관시키려면
 {@link android.support.v4.app.NotificationCompat.Builder}의 적절한 메서드를 호출합니다. 예를 들어,
 사용자가 알림 창의 알림 텍스트를 클릭했을 때 {@link android.app.Activity}를 시작하려면,
@@ -158,20 +158,20 @@
 </p>
 <p>
     사용자가 알림을 클릭했을 때 {@link android.app.Activity}를 시작하는 동작이 가장 보편적인 작업
-시나리오입니다. 또한, 사용자가 알림을 무시했을 때 {@link android.app.Activity}를 
-시작할 수도 있습니다. Android 4.1 이후부터는 
+시나리오입니다. 또한, 사용자가 알림을 무시했을 때 {@link android.app.Activity}를
+시작할 수도 있습니다. Android 4.1 이후부터는
 {@link android.app.Activity}를 작업 버튼에서 시작할 수 있습니다. 자세한 내용을 알아보려면
 {@link android.support.v4.app.NotificationCompat.Builder} 참조 가이드를 읽어보십시오.
 </p>
 <!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="Priority">알림 우선 순위</h3>
 <p>
-    원한다면, 알림에 우선 순위를 설정할 수 있습니다. 우선 순위는 
+    원한다면, 알림에 우선 순위를 설정할 수 있습니다. 우선 순위는
 기기 UI에 알림 표시 방식을 암시하는 역할을 합니다.
     알림 우선 순위를 설정하려면, {@link
 android.support.v4.app.NotificationCompat.Builder#setPriority(int)
 NotificationCompat.Builder.setPriority()}를 호출하고 {@link
-android.support.v4.app.NotificationCompat} 우선 순위 상수 중 하나에 전달합니다. 
+android.support.v4.app.NotificationCompat} 우선 순위 상수 중 하나에 전달합니다.
 우선 순위 수준은 {@link
 android.support.v4.app.NotificationCompat#PRIORITY_MIN}(-2)에서 {@link
 android.support.v4.app.NotificationCompat#PRIORITY_MAX}(2)까지 다섯 개가 있습니다. 별도의 설정이 없을 경우,
@@ -185,10 +185,10 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="SimpleNotification">단순 알림 만들기</h3>
 <p>
-    다음 조각은 사용자가 알림을 클릭하면 알리는 
+    다음 조각은 사용자가 알림을 클릭하면 알리는
 액티비티를 지정하는 단순한 알림을 나타냅니다. 이 코드는
-{@link android.support.v4.app.TaskStackBuilder} 객체를 생성하고 이를 사용하여 
-해당 작업의 {@link android.app.PendingIntent}를 생성합니다. 이 패턴은 
+{@link android.support.v4.app.TaskStackBuilder} 객체를 생성하고 이를 사용하여
+해당 작업의 {@link android.app.PendingIntent}를 생성합니다. 이 패턴은
 <a href="#NotificationResponse">
 액티비티를 시작할 때 탐색 보존</a> 섹션에서 자세히 설명합니다.
 </p>
@@ -225,13 +225,13 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="ApplyStyle">알림에 확장 레이아웃 적용</h3>
 <p>
-    확장된 보기에 알림을 나타나게 하려면, 
+    확장된 보기에 알림을 나타나게 하려면,
 먼저 원하는 일반 보기 옵션으로 {@link android.support.v4.app.NotificationCompat.Builder} 객체를
 생성합니다. 다음에는 확장된 레이아웃 객체의 인수로 {@link android.support.v4.app.NotificationCompat.Builder#setStyle
 Builder.setStyle()}을 호출합니다.
 </p>
 <p>
-    확장 알림은 Android 4.1 이전 플랫폼에서 사용할 수 없다는 것을 명심하십시오. 
+    확장 알림은 Android 4.1 이전 플랫폼에서 사용할 수 없다는 것을 명심하십시오.
 Android 4.1 이하 플랫폼에서 알림을 처리하는 방법은
 <a href="#Compatibility">처리 호환성</a> 섹션을 참조하십시오.
 </p>
@@ -264,7 +264,7 @@
 <h3 id="Compatibility">처리 호환성</h3>
 
 <p>
-    
+
 알림 기능을 설정하는 메서드가
 지원 라이브러리 클래스 {@link android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder}에 있더라도 모든 알림 기능을 특정 버전에서 사용할 수 있는 것은 아닙니다.
     예를 들어, 확장 알림에 따라 달라지는 작업 버튼은 Android
@@ -294,13 +294,13 @@
         사용자가 알림을 클릭하면 알림을 시작시키는 방식으로 모든 사용자에게 {@link android.app.Activity}에서 알림 기능을
 사용할 수 있게 합니다. 이를 위해,
 
-{@link android.app.Activity}를 위한 {@link android.app.PendingIntent}를 생성합니다. 
+{@link android.app.Activity}를 위한 {@link android.app.PendingIntent}를 생성합니다.
 {@link android.support.v4.app.NotificationCompat.Builder#setContentIntent
 setContentIntent()}를 호출하여 알림에 {@link android.app.PendingIntent}를 추가합니다.
     </li>
     <li>
         이제 알림에서 사용하고자 하는 확장 알림 기능을 추가합니다. 또한, 사용자가 알림을 클릭하면 시작되는
-{@link android.app.Activity}에서 개발자가 추가한 모든 기능을 
+{@link android.app.Activity}에서 개발자가 추가한 모든 기능을
 사용할 수 있어야 합니다.
     </li>
 </ol>
@@ -310,18 +310,18 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="Managing">알림 관리</h2>
 <p>
-    같은 유형의 이벤트에서 알림을 여러 번 발행해야 할 경우, 
+    같은 유형의 이벤트에서 알림을 여러 번 발행해야 할 경우,
 완전히 새로운 알림을 만드는 것은 삼가야 합니다. 대신, 일부 값을 변경하거나 추가하거나, 두 가지 조치를 모두 취하여
 이전 알림을 업데이트하는 것이 좋습니다.
 </p>
 <p>
     예를 들어, Gmail은 읽지 않은 메시지 개수를 올리고 각 이메일의 요약을 알림에 추가하여
-새 이메일 도착을 알립니다. 이것을 일명 
-알림을 "쌓는다"고 하며, 이는 
+새 이메일 도착을 알립니다. 이것을 일명
+알림을 "쌓는다"고 하며, 이는
 <a href="{@docRoot}design/patterns/notifications.html">알림</a> 디자인 가이드에 자세히 설명되어 있습니다.
 </p>
 <p class="note">
-    <strong>참고:</strong> 이 Gmail 기능에는 "받은편지함" 확장 레이아웃이 필요한데, 
+    <strong>참고:</strong> 이 Gmail 기능에는 "받은편지함" 확장 레이아웃이 필요한데,
 이것은 Android 4.1부터 이용할 수 있는 확장 알림 기능의 일부입니다.
 </p>
 <p>
@@ -331,16 +331,16 @@
 <p>
     알림이 업데이트되도록 설정하려면,
 {@link android.app.NotificationManager#notify(int, android.app.Notification) NotificationManager.notify()}를 호출하여 알림 ID와 함께 발행합니다.
-    알림을 발행한 후에 업데이트하려면, 
-{@link android.support.v4.app.NotificationCompat.Builder} 객체를 업데이트하거나 생성하고, 
-{@link android.app.Notification} 객체를 구축하고, 
-이전에 사용한 것과 같은 ID로 {@link android.app.Notification}을 발행합니다. 이전 알림이 
+    알림을 발행한 후에 업데이트하려면,
+{@link android.support.v4.app.NotificationCompat.Builder} 객체를 업데이트하거나 생성하고,
+{@link android.app.Notification} 객체를 구축하고,
+이전에 사용한 것과 같은 ID로 {@link android.app.Notification}을 발행합니다. 이전 알림이
 여전히 표시되는 경우, 시스템은
-{@link android.app.Notification} 객체의 콘텐츠에서 알림을 업데이트합니다. 이전 알림을 무시할 경우, 
+{@link android.app.Notification} 객체의 콘텐츠에서 알림을 업데이트합니다. 이전 알림을 무시할 경우,
 대신 새로운 알림이 생성됩니다.
 </p>
 <p>
-    다음 코드 조각은 발생한 이벤트 개수를 반영하여 
+    다음 코드 조각은 발생한 이벤트 개수를 반영하여
 업데이트된 알림을 나타낸 것입니다. 이것은 알림을 쌓아 요약을 표시합니다.
 </p>
 <pre>
@@ -385,7 +385,7 @@
 이 메서드도 현재 진행 중인 알림을 삭제합니다.
     </li>
     <li>
-        {@link android.app.NotificationManager#cancelAll() cancelAll()}을 호출합니다. 
+        {@link android.app.NotificationManager#cancelAll() cancelAll()}을 호출합니다.
 이것은 이전에 발행한 알림을 모두 제거합니다.
     </li>
 </ul>
@@ -393,9 +393,9 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="NotificationResponse">액티비티를 시작할 때 탐색 보존</h2>
 <p>
-    알림에서 {@link android.app.Activity}를 시작할 때는 사용자의 예상 탐색 경험을 
-보존해야 합니다. <i>'뒤로'를 클릭하면</i> 사용자를 애플리케이션의 정상 작업 흐름을 거쳐 메인 스크린으로 보내고, 
- <i>'최근'을 클릭하면</i> 
+    알림에서 {@link android.app.Activity}를 시작할 때는 사용자의 예상 탐색 경험을
+보존해야 합니다. <i>'뒤로'를 클릭하면</i> 사용자를 애플리케이션의 정상 작업 흐름을 거쳐 메인 스크린으로 보내고,
+ <i>'최근'을 클릭하면</i>
 {@link android.app.Activity}를 별개의 작업으로 표시합니다. 탐색 경험을 보존하려면
 새 작업에서 {@link android.app.Activity}를 시작해야 합니다. 새로운 작업을 부여하기 위한
 {@link android.app.PendingIntent} 설정 방법은 시작하는
@@ -406,19 +406,19 @@
         정규 액티비티
     </dt>
     <dd>
-        애플리케이션의 정상적 작업 흐름의 일부인 {@link android.app.Activity}를 
+        애플리케이션의 정상적 작업 흐름의 일부인 {@link android.app.Activity}를
 시작합니다. 이 상황에서 {@link android.app.PendingIntent}를 설정하여
 새 작업을 시작하고 애플리케이션의
 정상적인 <i>'뒤로' </i>동작을 재현하는 백 스택으로 {@link android.app.PendingIntent}를 제공합니다.
         <p>
-            Gmail 앱에서 보낸 알림이 이것을 잘 보여줍니다. 하나의 이메일 메시지에 대한 
-알림을 클릭하면 메시지 자체를 보게 됩니다. <b>뒤로</b>를 터치하면 
+            Gmail 앱에서 보낸 알림이 이것을 잘 보여줍니다. 하나의 이메일 메시지에 대한
+알림을 클릭하면 메시지 자체를 보게 됩니다. <b>뒤로</b>를 터치하면
 알림에서 들어간 것이 아니라 메인 스크린에서
 Gmail에 들어간 것처럼 Gmail을 통해 메인 스크린으로 돌아갑니다.
         </p>
         <p>
-            이것은 알림을 터치하기만 하면 어느 애플리케이션에 있든 관계 없이 발생하는 
-일입니다. 예를 들어, Gmail에서 메시지를 작성하다가 
+            이것은 알림을 터치하기만 하면 어느 애플리케이션에 있든 관계 없이 발생하는
+일입니다. 예를 들어, Gmail에서 메시지를 작성하다가
 한 이메일에 대한 알림을 클릭하면 해당 이메일로 바로 이동합니다. <i>뒤로</i>
 를 터치하면
 작성 중인 메시지가 아니라 받은편지함과 메인 스크린으로 돌아갑니다.
@@ -429,18 +429,18 @@
     </dt>
     <dd>
         {@link android.app.Activity}가 알림에서 시작될 경우 사용자에게는 이것만 보입니다.
-        {@link android.app.Activity}는 알림 자체에서 표시하기 어려운 정보를 제공하므로 
-어떤 면에서는 알림을 확장하는 셈입니다. 이 상황에서는, 
-{@link android.app.PendingIntent}를 설정하고 새로운 작업에서 시작합니다. 
-시작된 {@link android.app.Activity}는 
-애플리케이션 액티비티 흐름의 일부가 아니므로 백 스택을 생성하지 않아도 됩니다. <i>뒤로</i>를 클릭하면 사용자는 여전히 
+        {@link android.app.Activity}는 알림 자체에서 표시하기 어려운 정보를 제공하므로
+어떤 면에서는 알림을 확장하는 셈입니다. 이 상황에서는,
+{@link android.app.PendingIntent}를 설정하고 새로운 작업에서 시작합니다.
+시작된 {@link android.app.Activity}는
+애플리케이션 액티비티 흐름의 일부가 아니므로 백 스택을 생성하지 않아도 됩니다. <i>뒤로</i>를 클릭하면 사용자는 여전히
 메인 스크린으로 돌아갑니다.
     </dd>
 </dl>
 <!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="DirectEntry">정규 액티비티 PendingIntent 설정</h3>
 <p>
-    직접 진입 
+    직접 진입
 {@link android.app.Activity}를 시작하는 {@link android.app.PendingIntent}를 설정하려면 다음과 같은 단계를 따르십시오.
 </p>
 <ol>
@@ -448,7 +448,7 @@
         매니페스트에서 애플리케이션의 {@link android.app.Activity} 계층을 정의합니다.
         <ol style="list-style-type: lower-alpha;">
             <li>
-                Android 4.0.3 이전에 대한 지원을 추가합니다. 이렇게 하려면 
+                Android 4.0.3 이전에 대한 지원을 추가합니다. 이렇게 하려면
 
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</a></code>
 요소를
@@ -506,39 +506,39 @@
 TaskStackBuilder.create()}를 호출하여 스택 빌더를 생성합니다.
             </li>
             <li>
-                
+
 {@link android.support.v4.app.TaskStackBuilder#addParentStack addParentStack()}을 호출하여 스택 빌더를 백 스택에 추가합니다.
                 매니페스트에서 정의한 계층의 각 {@link android.app.Activity}의 경우,
 백 스택에
-{@link android.app.Activity}를 시작하는 {@link android.content.Intent} 객체가 포함됩니다. 이 메서드는 새로운 작업에서 
+{@link android.app.Activity}를 시작하는 {@link android.content.Intent} 객체가 포함됩니다. 이 메서드는 새로운 작업에서
 스택을 시작하는 플래그도 추가합니다.
                 <p class="note">
-                    <strong>참고:</strong> 
+                    <strong>참고:</strong>
 {@link android.support.v4.app.TaskStackBuilder#addParentStack addParentStack()}에 대한 인수가
-시작된 {@link android.app.Activity}의 참조이기는 하지만, 이 메서드 호출은 
+시작된 {@link android.app.Activity}의 참조이기는 하지만, 이 메서드 호출은
 
 {@link android.app.Activity}를 시작하는 {@link android.content.Intent}를 추가하지 않습니다. 대신, 그 부분은 다음 단계에서 해결합니다.
                 </p>
             </li>
             <li>
-                
-{@link android.support.v4.app.TaskStackBuilder#addNextIntent addNextIntent()}를 호출하여 {@link android.app.Activity}를 시작하는 {@link android.content.Intent}를 
+
+{@link android.support.v4.app.TaskStackBuilder#addNextIntent addNextIntent()}를 호출하여 {@link android.app.Activity}를 시작하는 {@link android.content.Intent}를
 추가합니다.
                 첫 번째 단계에서 생성한 {@link android.content.Intent}를
 
 {@link android.support.v4.app.TaskStackBuilder#addNextIntent addNextIntent()}에 대한 인수로 전달합니다.
             </li>
             <li>
-                필요할 경우 
+                필요할 경우
 {@link android.support.v4.app.TaskStackBuilder#editIntentAt
 TaskStackBuilder.editIntentAt()}을 호출하여 스택에서{@link android.content.Intent} 객체에 대한 인수를 추가합니다. 이것은 사용자가
 
 <i>'뒤로'</i>를 사용하여 탐색할 때 대상{@link android.app.Activity}가 의미 있는 데이터를 표시하도록 보장하기 위해 때때로 필요한 절차입니다.
             </li>
             <li>
-                이 백 스택에 대한 {@link android.app.PendingIntent}를 가져옵니다. 이때 
+                이 백 스택에 대한 {@link android.app.PendingIntent}를 가져옵니다. 이때
 {@link android.support.v4.app.TaskStackBuilder#getPendingIntent getPendingIntent()}를 호출하는 방법을 씁니다.
-                그러면 이 {@link android.app.PendingIntent}를 
+                그러면 이 {@link android.app.PendingIntent}를
 {@link android.support.v4.app.NotificationCompat.Builder#setContentIntent
 setContentIntent()}에 대한 인수로 사용할 수 있습니다.
             </li>
@@ -569,21 +569,21 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h3 id="ExtendedNotification">특수 액티비티 PendingIntent 설정</h3>
 <p>
-    다음 섹션에서는 특수 액티비티 
+    다음 섹션에서는 특수 액티비티
 {@link android.app.PendingIntent}를 설정하는 법을 설명합니다.
 </p>
 <p>
-    특수 {@link android.app.Activity}에는 백 스택이 필요하지 않습니다. 따라서 매니페스트에서 이것의 
-{@link android.app.Activity} 계층을 정의하지 않아도 되고, 
-백 스택을 구축하기 위해 
-{@link android.support.v4.app.TaskStackBuilder#addParentStack  addParentStack()}을 
-호출하지 않아도 됩니다. 대신 매니페스트를 사용하여 {@link android.app.Activity} 작업 옵션을 설정하고, 
-{@link android.app.PendingIntent}를 생성하십시오. 이때 
+    특수 {@link android.app.Activity}에는 백 스택이 필요하지 않습니다. 따라서 매니페스트에서 이것의
+{@link android.app.Activity} 계층을 정의하지 않아도 되고,
+백 스택을 구축하기 위해
+{@link android.support.v4.app.TaskStackBuilder#addParentStack  addParentStack()}을
+호출하지 않아도 됩니다. 대신 매니페스트를 사용하여 {@link android.app.Activity} 작업 옵션을 설정하고,
+{@link android.app.PendingIntent}를 생성하십시오. 이때
 {@link android.app.PendingIntent#getActivity getActivity()}를 호출하는 방법을 씁니다.
 </p>
 <ol>
     <li>
-        매니페스트에서 다음 속성을 {@link android.app.Activity}에 대한 
+        매니페스트에서 다음 속성을 {@link android.app.Activity}에 대한
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 요소에 추가합니다.
         <dl>
@@ -597,10 +597,10 @@
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">android:taskAffinity</a>=""</code>
             </dt>
             <dd>
-                이것은 개발자가 코드에서 설정하는 
-{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_NEW_TASK} 플래그와 더불어 
-이 {@link android.app.Activity}가 
-애플리케이션의 기본 작업으로 들어가지 않게 보장합니다. 애플리케이션의 기본 유사성을 
+                이것은 개발자가 코드에서 설정하는
+{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_NEW_TASK} 플래그와 더불어
+이 {@link android.app.Activity}가
+애플리케이션의 기본 작업으로 들어가지 않게 보장합니다. 애플리케이션의 기본 유사성을
 가지고 있는 기존 작업은 모두 영향을 받지 않습니다.
             </dd>
             <dt>
@@ -629,23 +629,23 @@
         알림을 구축 및 발행합니다.
         <ol style="list-style-type: lower-alpha;">
             <li>
-                
+
 {@link android.app.Activity}를 시작하는 {@link android.content.Intent}를 생성합니다.
             </li>
             <li>
-                {@link android.app.Activity}가 새로운, 빈 작업에서 시작되도록 설정합니다. 이때 
-{@link android.content.Intent#setFlags setFlags()}를 
+                {@link android.app.Activity}가 새로운, 빈 작업에서 시작되도록 설정합니다. 이때
+{@link android.content.Intent#setFlags setFlags()}를
 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_NEW_TASK}
- 및 
+ 및
 {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK FLAG_ACTIVITY_CLEAR_TASK} 플래그와 함께 호출하면 됩니다.
             </li>
             <li>
                 {@link android.content.Intent}에 필요한 다른 모든 옵션을 설정합니다.
             </li>
             <li>
-                {@link android.app.PendingIntent}를 {@link android.content.Intent}로부터 
+                {@link android.app.PendingIntent}를 {@link android.content.Intent}로부터
 생성합니다. 이때 {@link android.app.PendingIntent#getActivity getActivity()}를 호출하면 됩니다.
-                그러면 이 {@link android.app.PendingIntent}를 
+                그러면 이 {@link android.app.PendingIntent}를
 {@link android.support.v4.app.NotificationCompat.Builder#setContentIntent
 setContentIntent()}에 대한 인수로 사용할 수 있습니다.
             </li>
@@ -687,24 +687,24 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="Progress">알림에서 진행 상태 표시</h2>
 <p>
-    알림에는 사용자에게 진행 중인 작업의 상태를 보여주는 
-애니메이션 진행 표시기를 포함할 수 있습니다. 작업이 얼마나 걸릴지, 주어진 시점에 어느 정도 완료되었는지를 추정할 수 있는 경우 
-표시기의 "확정적" 형태(진행률 표시줄)를 
-사용하십시오. 작업의 길이를 추정할 수 없으면, 표시기의 
+    알림에는 사용자에게 진행 중인 작업의 상태를 보여주는
+애니메이션 진행 표시기를 포함할 수 있습니다. 작업이 얼마나 걸릴지, 주어진 시점에 어느 정도 완료되었는지를 추정할 수 있는 경우
+표시기의 "확정적" 형태(진행률 표시줄)를
+사용하십시오. 작업의 길이를 추정할 수 없으면, 표시기의
 "비확정적" 형태(액티비티 표시기)를 사용하십시오.
 </p>
 <p>
-    진행 상태 표시기는 
+    진행 상태 표시기는
 {@link android.widget.ProgressBar} 클래스의 플랫폼 구현으로 표시됩니다.
 </p>
 <p>
-    Android 4.0부터 시작되는 플랫폼에서 진행 상태 표시기를 사용하려면, 
-{@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}를 호출하십시오. 이전 
-버전의 경우, 개발자 나름의 사용자 지정 알림 레이아웃을 생성해야 하며 여기에 
+    Android 4.0부터 시작되는 플랫폼에서 진행 상태 표시기를 사용하려면,
+{@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}를 호출하십시오. 이전
+버전의 경우, 개발자 나름의 사용자 지정 알림 레이아웃을 생성해야 하며 여기에
 {@link android.widget.ProgressBar} 보기가 포함되어 있어야 합니다.
 </p>
 <p>
-    다음 섹션은 
+    다음 섹션은
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}를 사용하여 알림의 진행 상태를 표시하는 법을 설명합니다.
 </p>
 <!-- ------------------------------------------------------------------------------------------ -->
@@ -712,15 +712,15 @@
 <p>
     확정적인 진행률 표시줄을 표시하려면
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress
-setProgress(max, progress, false)}를 호출하여 표시줄을 알림에 추가하고, 그 다음에 알림을 발행합니다. 작업이 진행되는 동안 
-<code>progress</code>를 증가시키고 알림을 업데이트합니다. 작업이 끝날 무렵 
-<code>progress</code>가 <code>max</code>와 같아야 합니다. 
+setProgress(max, progress, false)}를 호출하여 표시줄을 알림에 추가하고, 그 다음에 알림을 발행합니다. 작업이 진행되는 동안
+<code>progress</code>를 증가시키고 알림을 업데이트합니다. 작업이 끝날 무렵
+<code>progress</code>가 <code>max</code>와 같아야 합니다.
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}를 호출하는 보편적인 방법은
 <code>max</code>를 100에 설정하고 작업에 대한 "완료 비율" 값에 따라 <code>progress</code>를
 증가시키는 것입니다.
 </p>
 <p>
-    작업이 완료되면 진행률 표시줄이 표시되는 상태로 둘 수도 있고, 제거할 수도 있습니다. 어느 경우를 택하더라도 
+    작업이 완료되면 진행률 표시줄이 표시되는 상태로 둘 수도 있고, 제거할 수도 있습니다. 어느 경우를 택하더라도
 알림 텍스트를 업데이트하여 작업이 완료되었다고 표시하는 것을 잊지 마십시오.
     진행률 표시줄을 제거하려면,
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress
@@ -773,15 +773,15 @@
 <p>
     비확정적 액티비티 표시기를 표시하려면,
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress(0, 0, true)}으로 알림에 표시기를 추가하고(처음의 인수 두 개는 무시합니다)
-, 알림을 발행합니다. 그 결과로 
+, 알림을 발행합니다. 그 결과로
 진행률 표시줄과 같은 스타일의 표시기가 나타납니다. 다만 이것은 애니메이션이 계속 진행 중입니다.
 </p>
 <p>
-    작업을 시작할 때 알림을 발행합니다. 애니메이션은 
-알림을 수정할 때까지 실행됩니다. 작업이 완료되면, 
+    작업을 시작할 때 알림을 발행합니다. 애니메이션은
+알림을 수정할 때까지 실행됩니다. 작업이 완료되면,
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress(0, 0, false)}를 호출하고
 알림을 업데이트하여 액티비티 표시기를 제거합니다.
-    이 작업은 항상 해야 합니다. 하지 않으면, 작업이 완료되더라도 애니메이션이 계속 실행됩니다. 또한, 
+    이 작업은 항상 해야 합니다. 하지 않으면, 작업이 완료되더라도 애니메이션이 계속 실행됩니다. 또한,
 알림 텍스트를 변경하여 작업이 완료되었음을 나타내는 것을 잊지 마십시오.
 </p>
 <p>
@@ -806,19 +806,19 @@
 
 <h2 id="metadata">알림 메타데이터</h2>
 
-<p>알림은 
+<p>알림은
 다음 {@link android.support.v4.app.NotificationCompat.Builder} 메서드로 할당된 메타데이터에 따라 정렬할 수 있습니다.</p>
 
 <ul>
-    <li>{@link android.support.v4.app.NotificationCompat.Builder#setCategory(java.lang.String) setCategory()}는 
+    <li>{@link android.support.v4.app.NotificationCompat.Builder#setCategory(java.lang.String) setCategory()}는
 기기가 우선 순위 모드일 때 앱 알림을 처리하는 방법을 시스템에 전달합니다
 (예를 들어, 알림이 수신 전화나 채팅 메시지, 알람 등을 나타낼 경우).</li>
-    <li>{@link android.support.v4.app.NotificationCompat.Builder#setPriority(int) setPriority()}는 
-우선 순위 필드가 포함된 알림을 {@code PRIORITY_MAX} 또는 {@code PRIORITY_HIGH}로 설정하고, 
+    <li>{@link android.support.v4.app.NotificationCompat.Builder#setPriority(int) setPriority()}는
+우선 순위 필드가 포함된 알림을 {@code PRIORITY_MAX} 또는 {@code PRIORITY_HIGH}로 설정하고,
 알림에 소리나 진동이 포함되어 있을 경우 작은 부동 창에 나타나게 합니다.</li>
-    <li>{@link android.support.v4.app.NotificationCompat.Builder#addPerson(java.lang.String) addPerson()}을 
-사용하면 알림에 사람 목록을 추가할 수 있게 해줍니다. 개발자의 앱은 이 신호를 사용하여 
-시스템에 지정된 사람들로부터 받은 알림을 함께 그룹화해야 한다고 알리거나, 이런 사람들로부터 받은 알림을 
+    <li>{@link android.support.v4.app.NotificationCompat.Builder#addPerson(java.lang.String) addPerson()}을
+사용하면 알림에 사람 목록을 추가할 수 있게 해줍니다. 개발자의 앱은 이 신호를 사용하여
+시스템에 지정된 사람들로부터 받은 알림을 함께 그룹화해야 한다고 알리거나, 이런 사람들로부터 받은 알림을
 더욱 중요한 것으로 순위를 높일 수 있습니다.</li>
 </ul>
 
@@ -832,10 +832,10 @@
 <h2 id="Heads-up">헤드업 알림</h2>
 
 <p>Android 5.0(API 레벨 21)에서는 알림을 작은 부동 창에 나타낼 수 있습니다
-(다른 말로 <em>헤드업 알림</em>이라고 부릅니다). 이것은 기기가 활성 상태일 때(즉, 
-기기가 잠금 해제 상태이며 화면에 켜져 있는 경우) 해당됩니다. 이와 같은 알림은 
-외견상 일반적인 알림의 소형 형태와 비슷해 보이지만, 
-해드업 알림에서는 작업 버튼도 표시한다는 점이 다릅니다. 사용자는 현재 앱을 떠나지 않고도 
+(다른 말로 <em>헤드업 알림</em>이라고 부릅니다). 이것은 기기가 활성 상태일 때(즉,
+기기가 잠금 해제 상태이며 화면에 켜져 있는 경우) 해당됩니다. 이와 같은 알림은
+외견상 일반적인 알림의 소형 형태와 비슷해 보이지만,
+해드업 알림에서는 작업 버튼도 표시한다는 점이 다릅니다. 사용자는 현재 앱을 떠나지 않고도
 헤드업 알림에 조치를 취하거나 이를 무시할 수 있습니다.</p>
 
 <p>헤드업 알림을 트리거할 수 있는 조건의 예시를 몇 가지 소개하면 다음과 같습니다.</p>
@@ -843,55 +843,55 @@
 <ul>
   <li>사용자 액티비티가 전체 화면 모드이거나(앱이
 {@link android.app.Notification#fullScreenIntent}를 사용할 경우)</li>
-  <li>알림의 우선 순위가 높고 
+  <li>알림의 우선 순위가 높고
 벨소리나 진동을 사용할 경우</li>
 </ul>
 
 <h2 id="lockscreenNotification">잠금 화면 알림</h2>
 
-<p>Android 5.0 (API 레벨 21) 릴리스부터 알림이 잠금 화면에도 
-나타날 수 있게 되었습니다. 앱은 이 기능을 사용하면 미디어 재생 제어와 다른 보편적인 작업을 
-제공할 수 있습니다. 사용자는 설정을 통해 잠금 화면에 알림 표시 여부를 선택할 수 있고, 
+<p>Android 5.0 (API 레벨 21) 릴리스부터 알림이 잠금 화면에도
+나타날 수 있게 되었습니다. 앱은 이 기능을 사용하면 미디어 재생 제어와 다른 보편적인 작업을
+제공할 수 있습니다. 사용자는 설정을 통해 잠금 화면에 알림 표시 여부를 선택할 수 있고,
 개발자는 앱의 알림이 잠금 화면에 표시될지 여부를 지정할 수 있습니다.</p>
 
 <h3 id="visibility">가시성 설정</h3>
 
-<p>보안 잠금 화면에 알림이 얼마나 상세하게 표시될 것인지 그 수준을 앱이 제어할 수 
-있습니다. {@link android.support.v4.app.NotificationCompat.Builder#setVisibility(int) setVisibility()}를 호출하고 
+<p>보안 잠금 화면에 알림이 얼마나 상세하게 표시될 것인지 그 수준을 앱이 제어할 수
+있습니다. {@link android.support.v4.app.NotificationCompat.Builder#setVisibility(int) setVisibility()}를 호출하고
 다음 값 중 하나를 지정합니다.</p>
 
 <ul>
-    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}은 
+    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}은
 알림의 전체 콘텐츠를 표시합니다.</li>
-    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_SECRET}은 
+    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_SECRET}은
 이 알림의 어떤 부분도 화면에 표시하지 않습니다.</li>
-    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_PRIVATE}은 
+    <li>{@link android.support.v4.app.NotificationCompat#VISIBILITY_PRIVATE}은
 알림 아이콘과 콘텐츠 제목 등의 기본 정보는 표시하지만 알림의 전체 콘텐츠는 숨깁니다.</li>
 </ul>
 
 <p>{@link android.support.v4.app.NotificationCompat#VISIBILITY_PRIVATE}으로 설정하면 ,
-알림 콘텐츠의 대체 버전을 제공할 수도 있습니다. 이렇게 하면 특정 세부 사항만 숨깁니다. 예를 들어, 
-SMS 앱에서 <em>3개의 새 문자 메시지가 있습니다.</em>라고 표시하면서도 
-문자 메시지의 내용과 발신자는 숨길 수 있습니다. 이 대체 알림을 제공하려면, 우선 대체 알림을 생성합니다. 이때 
-{@link android.support.v4.app.NotificationCompat.Builder}를 사용합니다. 비공개 알림 객체를 
-생성하는 경우, 대체 알림을 이에 첨부할 때 
+알림 콘텐츠의 대체 버전을 제공할 수도 있습니다. 이렇게 하면 특정 세부 사항만 숨깁니다. 예를 들어,
+SMS 앱에서 <em>3개의 새 문자 메시지가 있습니다.</em>라고 표시하면서도
+문자 메시지의 내용과 발신자는 숨길 수 있습니다. 이 대체 알림을 제공하려면, 우선 대체 알림을 생성합니다. 이때
+{@link android.support.v4.app.NotificationCompat.Builder}를 사용합니다. 비공개 알림 객체를
+생성하는 경우, 대체 알림을 이에 첨부할 때
 {@link android.support.v4.app.NotificationCompat.Builder#setPublicVersion(android.app.Notification) setPublicVersion()}
 메서드를 통합니다.</p>
 
 <h3 id="controllingMedia">잠금 화면에서 미디어 재생 제어</h3>
 
-<p>Android 5.0(API 레벨 21)의 잠금 화면에서는 더 이상 
-{@link android.media.RemoteControlClient}를 기반으로 한 미디어 제어를 표시하지 않습니다. 이는 사용되지 않고 있기 때문입니다. 대신, 
-{@link android.app.Notification.MediaStyle} 템플릿을 
+<p>Android 5.0(API 레벨 21)의 잠금 화면에서는 더 이상
+{@link android.media.RemoteControlClient}를 기반으로 한 미디어 제어를 표시하지 않습니다. 이는 사용되지 않고 있기 때문입니다. 대신,
+{@link android.app.Notification.MediaStyle} 템플릿을
 {@link android.app.Notification.Builder#addAction(android.app.Notification.Action) addAction()}
 메서드와 함께 사용하십시오. 이 메서드는 작업을 클릭할 수 있는 아이콘으로 변환해줍니다.</p>
 
-<p class="note"><strong>참고:</strong> 이 템플릿과 {@link android.app.Notification.Builder#addAction(android.app.Notification.Action) addAction()} 
-메서드는 지원 라이브러리에 포함되어 있지 않으므로 이 기능은 Android 5.0 이상에서만 
+<p class="note"><strong>참고:</strong> 이 템플릿과 {@link android.app.Notification.Builder#addAction(android.app.Notification.Action) addAction()}
+메서드는 지원 라이브러리에 포함되어 있지 않으므로 이 기능은 Android 5.0 이상에서만
 실행됩니다.</p>
 
-<p>Android 5.0의 잠금 화면에서 미디어 재생 제어를 표시하려면, 
-위에 설명한 바와 같이 가시성을 {@link android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}으로 설정합니다. 그런 다음 다음 샘플 코드에서 설명한 바와 같이 작업을 추가하고 
+<p>Android 5.0의 잠금 화면에서 미디어 재생 제어를 표시하려면,
+위에 설명한 바와 같이 가시성을 {@link android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}으로 설정합니다. 그런 다음 다음 샘플 코드에서 설명한 바와 같이 작업을 추가하고
 {@link android.app.Notification.MediaStyle} 템플릿을 설정합니다.
 </p>
 
@@ -914,7 +914,7 @@
     .build();
 </pre>
 
-<p class="note"><strong>참고:</strong> {@link android.media.RemoteControlClient}를 
+<p class="note"><strong>참고:</strong> {@link android.media.RemoteControlClient}를
 사용하지 않게 된 것은 미디어 제어에 이외에도 더 많은 영향을 미칩니다. 미디어 세션을 관리하고 재생을 제어하기 위한 새 API에 관한 자세한 정보는
 <a href="{@docRoot}about/versions/android-5.0.html#MediaPlaybackControl">미디어 재생 제어</a>를
  참조하십시오.</p>
@@ -923,57 +923,57 @@
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="CustomNotification">사용자 지정 알림 레이아웃</h2>
 <p>
-    알림 프레임워크를 사용하면 사용자 지정 레이아웃을 정의할 수 있습니다. 
+    알림 프레임워크를 사용하면 사용자 지정 레이아웃을 정의할 수 있습니다.
 사용자 지정 레이아웃은 {@link android.widget.RemoteViews} 객체에서 알림의 외관을 정의합니다.
     사용자 지정 레이아웃 알림은 일반적인 알림과 비슷하지만, 이들은 XML 레이아웃 파일에서
  정의한 {@link android.widget.RemoteViews}에 기초합니다.
 </p>
 <p>
-    사용자 지정 알림 레이아웃에 사용할 수 있는 높이는 알림 보기에 따라 다릅니다. 일반 
+    사용자 지정 알림 레이아웃에 사용할 수 있는 높이는 알림 보기에 따라 다릅니다. 일반
 보기 레이아웃은 64dp로 제한되어 있으며 확장 보기 레이아웃은 256dp로 제한되어 있습니다.
 </p>
 <p>
-    사용자 지정 레이아웃을 정의하려면 
-XML 레이아웃 파일을 팽창하는 {@link android.widget.RemoteViews} 객체를 인스턴트화하는 것부터 시작합니다. 그런 다음, 
+    사용자 지정 레이아웃을 정의하려면
+XML 레이아웃 파일을 팽창하는 {@link android.widget.RemoteViews} 객체를 인스턴트화하는 것부터 시작합니다. 그런 다음,
 
-{@link android.support.v4.app.NotificationCompat.Builder#setContentTitle setContentTitle()}과 같은 메서드를 호출하는 대신 
-{@link android.support.v4.app.NotificationCompat.Builder#setContent setContent()}를 호출합니다. 사용자 지정 알림에서 
+{@link android.support.v4.app.NotificationCompat.Builder#setContentTitle setContentTitle()}과 같은 메서드를 호출하는 대신
+{@link android.support.v4.app.NotificationCompat.Builder#setContent setContent()}를 호출합니다. 사용자 지정 알림에서
 콘텐츠 세부 정보를 설정하려면
 {@link android.widget.RemoteViews}의 메서드를 사용하여 보기의 하위 요소에 대한 값을 설정합니다.
 </p>
 <ol>
     <li>
-        알림에 대한 XML 레이아웃은 별도의 파일에 생성하십시오. 파일 이름은 원하는 대로 
+        알림에 대한 XML 레이아웃은 별도의 파일에 생성하십시오. 파일 이름은 원하는 대로
 아무 것이나 사용해도 좋지만, 확장자는 <code>.xml</code>을 사용해야 합니다.
     </li>
     <li>
-        앱에서 {@link android.widget.RemoteViews} 메서드를 사용하여 알림의 아이콘과 텍스트를 
-정의합니다. 이 {@link android.widget.RemoteViews} 객체를 
-{@link android.support.v4.app.NotificationCompat.Builder} 안에 넣으십시오. 
-{@link android.support.v4.app.NotificationCompat.Builder#setContent setContent()}를 호출하면 됩니다. 배경 
-{@link android.graphics.drawable.Drawable}을 
+        앱에서 {@link android.widget.RemoteViews} 메서드를 사용하여 알림의 아이콘과 텍스트를
+정의합니다. 이 {@link android.widget.RemoteViews} 객체를
+{@link android.support.v4.app.NotificationCompat.Builder} 안에 넣으십시오.
+{@link android.support.v4.app.NotificationCompat.Builder#setContent setContent()}를 호출하면 됩니다. 배경
+{@link android.graphics.drawable.Drawable}을
 {@link android.widget.RemoteViews} 객체에서 설정하는 것은 삼가하십시오. 텍스트 색상을 읽을 수 없게 될 수도 있습니다.
     </li>
 </ol>
 <p>
-    {@link android.widget.RemoteViews} 클래스에도 개발자가 손쉽게 사용할 수 있는 여러 가지 메서드가 포함되어 있습니다. 이를 이용해 
-{@link android.widget.Chronometer} 또는 {@link android.widget.ProgressBar}를 
+    {@link android.widget.RemoteViews} 클래스에도 개발자가 손쉽게 사용할 수 있는 여러 가지 메서드가 포함되어 있습니다. 이를 이용해
+{@link android.widget.Chronometer} 또는 {@link android.widget.ProgressBar}를
 알림의 레이아웃에 추가하면 됩니다. 알림의 사용자 지정 레이아웃 생성에 관한 자세한 정보는
 {@link android.widget.RemoteViews} 참조 문서를 참조하십시오.
 </p>
 <p class="caution">
-    <strong>주의:</strong> 사용자 지정 레이아웃을 사용하는 경우, 
-사용자 지정 레이아웃이 다양한 기기 방향과 해상도에서 작동하는지 각별히 주의를 기울여 확인하십시오. 이 조언은 
-모든 보기 레이아웃에 공통적으로 적용되지만, 특히 알림에 중요한 의미를 지닙니다. 
-알림 창에서는 공간이 굉장히 제한되어 있기 때문입니다. 사용자 지정 레이아웃을 너무 복잡하게 만들지 마시고, 
+    <strong>주의:</strong> 사용자 지정 레이아웃을 사용하는 경우,
+사용자 지정 레이아웃이 다양한 기기 방향과 해상도에서 작동하는지 각별히 주의를 기울여 확인하십시오. 이 조언은
+모든 보기 레이아웃에 공통적으로 적용되지만, 특히 알림에 중요한 의미를 지닙니다.
+알림 창에서는 공간이 굉장히 제한되어 있기 때문입니다. 사용자 지정 레이아웃을 너무 복잡하게 만들지 마시고,
 여러 가지 구성에서 테스트하는 것을 잊지 마십시오.
 </p>
 <!-- ------------------------------------------------------------------------------------------ -->
 <h4>사용자 지정 알림 텍스트에 스타일 리소스 사용</h4>
 <p>
-    사용자 지정 알림의 텍스트에는 항상 스타일 리소스를 사용하십시오. 알림의 배경 색상은 기기와 버전별로 다를 수 있습니다. 
-스타일 리소스를 사용하면 이러한 차이를 
-감안하는 데 도움이 됩니다. Android 2.3부터 시스템은 
-표준 알림 레이아웃 텍스트의 스타일을 정의했습니다. Android 2.3 이상을 대상으로 하는 
+    사용자 지정 알림의 텍스트에는 항상 스타일 리소스를 사용하십시오. 알림의 배경 색상은 기기와 버전별로 다를 수 있습니다.
+스타일 리소스를 사용하면 이러한 차이를
+감안하는 데 도움이 됩니다. Android 2.3부터 시스템은
+표준 알림 레이아웃 텍스트의 스타일을 정의했습니다. Android 2.3 이상을 대상으로 하는
 애플리케이션에서와 같은 스타일을 사용하면 텍스트가 디스플레이 배경에서도 잘 보이도록 할 수 있습니다.
 </p>
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/overview.jd b/docs/html-intl/intl/ko/guide/topics/ui/overview.jd
index eb288f1..72e5692 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/overview.jd
@@ -3,9 +3,9 @@
 
 
 <p>Android 앱의 모든 사용자 인터페이스 요소는 {@link android.view.View}와
-{@link android.view.ViewGroup} 개체를 사용하여 구축합니다. {@link android.view.View}는 사용자가 상호 작용할 수 있는 무언가를 
-화면에 그리는 객체입니다. {@link android.view.ViewGroup}은 
-인터페이스 레이아웃을 정의하기 위해 다른 {@link android.view.View}(및{@link android.view.ViewGroup}) 객체를 
+{@link android.view.ViewGroup} 개체를 사용하여 구축합니다. {@link android.view.View}는 사용자가 상호 작용할 수 있는 무언가를
+화면에 그리는 객체입니다. {@link android.view.ViewGroup}은
+인터페이스 레이아웃을 정의하기 위해 다른 {@link android.view.View}(및{@link android.view.ViewGroup}) 객체를
 보유하는 객체입니다.</p>
 
 <p>Android는 공통 입력 제어(버튼 및 텍스트 필드)와 다양한 레이아웃 모델(선형 또는 관계 레이아웃)을 제공하는 {@link android.view.View}와 {@link
@@ -16,30 +16,30 @@
 <h2 id="Layout">사용자 인터페이스 레이아웃</h2>
 
 <p>앱의 각 구성 요소에 대한 사용자 인터페이스는 그림 1에서 나타난 바와 같이 {@link
-android.view.View}와 {@link android.view.ViewGroup} 객체의 계층으로 정의됩니다. 각 보기 그룹은 
-하위 보기를 체계화하는 투명한 컨테이너이고, 
-하위 보기는 UI의 일부분을 그리는 제어나 다른 위젯일 수 있습니다. 
-이 계층 트리는 개발자에게 필요한 만큼 단순하거나 복잡하게 
+android.view.View}와 {@link android.view.ViewGroup} 객체의 계층으로 정의됩니다. 각 보기 그룹은
+하위 보기를 체계화하는 투명한 컨테이너이고,
+하위 보기는 UI의 일부분을 그리는 제어나 다른 위젯일 수 있습니다.
+이 계층 트리는 개발자에게 필요한 만큼 단순하거나 복잡하게
 만들 수 있습니다(다만 단순한 것이 성능에는 가장 좋습니다).</p>
 
 <img src="{@docRoot}images/viewgroup.png" alt="" />
-<p class="img-caption"><strong>그림 1.</strong> 보기 계층을 나타낸 것으로, 이것이 
+<p class="img-caption"><strong>그림 1.</strong> 보기 계층을 나타낸 것으로, 이것이
 UI 레이아웃을 정의합니다.</p>
 
-<p>레이아웃을 선언하려면 코드의 {@link android.view.View} 객체를 인스턴트화하고 트리를 구축하기 시작하면 되지만, 
-레이아웃을 정의하는 가장 쉽고 효과적인 방법은 XML 파일을 사용하는 것입니다. 
+<p>레이아웃을 선언하려면 코드의 {@link android.view.View} 객체를 인스턴트화하고 트리를 구축하기 시작하면 되지만,
+레이아웃을 정의하는 가장 쉽고 효과적인 방법은 XML 파일을 사용하는 것입니다.
 XML은 HTML과 유사한, 인간이 읽을 수 있는 레이아웃 구조를 제공합니다.</p>
 
-<p>보기의 XML 요소 이름은 해당 요소가 나타내는 각각의 Android 클래스를 따릅니다. 말하자면 
+<p>보기의 XML 요소 이름은 해당 요소가 나타내는 각각의 Android 클래스를 따릅니다. 말하자면
 <code>&lt;TextView&gt;</code> 요소가 UI에서 {@link android.widget.TextView} 위젯을 생성하고,
-<code>&lt;LinearLayout&gt;</code> 요소는 {@link android.widget.LinearLayout} 보기 
+<code>&lt;LinearLayout&gt;</code> 요소는 {@link android.widget.LinearLayout} 보기
 그룹을 생성하는 것입니다. </p>
 
 <p>예를 들어, 텍스트 보기와 버튼 하나가 있는 단순한 수직 레이아웃은 이런 모습을 띱니다.</p>
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -53,19 +53,19 @@
 &lt;/LinearLayout>
 </pre>
 
-<p>앱에 레이아웃 리소스를 로드하면 Android가 레이아웃의 각 노드를 초기화하여 
-추가 동작을 정의하거나, 객체 상태를 쿼리 또는 레이아웃을 수정하는 데 쓸 수 있는 런타임 객체로 
+<p>앱에 레이아웃 리소스를 로드하면 Android가 레이아웃의 각 노드를 초기화하여
+추가 동작을 정의하거나, 객체 상태를 쿼리 또는 레이아웃을 수정하는 데 쓸 수 있는 런타임 객체로
 초기화합니다.</p>
 
-<p>UI 레이아웃 생성에 대한 완전한 가이드는 <a href="declaring-layout.html">XML 
+<p>UI 레이아웃 생성에 대한 완전한 가이드는 <a href="declaring-layout.html">XML
 레이아웃</a>을 참조하십시오.
 
-  
+
 <h2 id="UIComponents">사용자 인터페이스 구성 요소</h2>
 
 <p>UI를 구축할 때 모두 {@link android.view.View} 및 {@link
-android.view.ViewGroup} 객체를 사용해야 하는 것은 아닙니다. Android가 표준형 UI 레이아웃을 제공하는 앱 구성 요소를 여러 개 제공하고 있으니, 
-개발자 여러분은 이에 대한 콘텐츠만 정의하면 됩니다. 이와 같은 UI 구성 요소에는 각각 
+android.view.ViewGroup} 객체를 사용해야 하는 것은 아닙니다. Android가 표준형 UI 레이아웃을 제공하는 앱 구성 요소를 여러 개 제공하고 있으니,
+개발자 여러분은 이에 대한 콘텐츠만 정의하면 됩니다. 이와 같은 UI 구성 요소에는 각각
 고유한 API 세트가 있습니다. 이들은 <a href="{@docRoot}guide/topics/ui/actionbar.html">작업 모음</a>, <a href="{@docRoot}guide/topics/ui/dialogs.html">대화</a> 및 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">상태 알림</a> 등 각각 다른 문서에서 설명하였습니다.</p>
 
 
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/settings.jd b/docs/html-intl/intl/ko/guide/topics/ui/settings.jd
index 36204e0..01b62ed 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/settings.jd
@@ -65,13 +65,13 @@
 
 
 
-<p>애플리케이션에는 종종 설정이 포함되어 있어 사용자가 앱 기능과 행동을 수정할 수 있게 해줍니다. 예를 들어 
-몇몇 앱은 사용자에게 알림을 활성화할지 여부를 지정하거나 애플리케이션이 
+<p>애플리케이션에는 종종 설정이 포함되어 있어 사용자가 앱 기능과 행동을 수정할 수 있게 해줍니다. 예를 들어
+몇몇 앱은 사용자에게 알림을 활성화할지 여부를 지정하거나 애플리케이션이
 클라우드와 데이터를 동기화할 빈도를 지정할 수 있게 해줍니다.</p>
 
-<p>자신의 앱에 설정을 제공하고자 하는 경우, Android의 
-{@link android.preference.Preference} API를 사용하여 다른 Android 앱(시스템 설정 포함)의 사용자 환경과 
-일관성을 유지하는 인터페이스를 구축할 수 있게 해야 합니다. 이 문서에서는 
+<p>자신의 앱에 설정을 제공하고자 하는 경우, Android의
+{@link android.preference.Preference} API를 사용하여 다른 Android 앱(시스템 설정 포함)의 사용자 환경과
+일관성을 유지하는 인터페이스를 구축할 수 있게 해야 합니다. 이 문서에서는
 {@link android.preference.Preference} API를 사용하여 앱 설정을 구축하는 방법을 설명합니다.</p>
 
 <div class="note design">
@@ -81,8 +81,8 @@
 
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
-<p class="img-caption"><strong>그림 1.</strong> Android 메시지 앱의 설정에서 가져온 
-스크린샷입니다. {@link android.preference.Preference}가 정의한 항목을 선택하면 
+<p class="img-caption"><strong>그림 1.</strong> Android 메시지 앱의 설정에서 가져온
+스크린샷입니다. {@link android.preference.Preference}가 정의한 항목을 선택하면
 인터페이스가 열려 설정을 변경할 수 있게 됩니다.</p>
 
 
@@ -90,24 +90,24 @@
 
 <h2 id="Overview">개요</h2>
 
-<p>사용자 인터페이스를 구축할 때에는 {@link android.view.View} 객체를 사용하지만, 설정은 그 대신 
-{@link android.preference.Preference} 클래스의 다양한 하위 클래스를 사용하여 구축합니다. 
+<p>사용자 인터페이스를 구축할 때에는 {@link android.view.View} 객체를 사용하지만, 설정은 그 대신
+{@link android.preference.Preference} 클래스의 다양한 하위 클래스를 사용하여 구축합니다.
 이와 같은 하위 클래스는 XML 파일에서 선언합니다.</p>
 
-<p>{@link android.preference.Preference} 객체는 하나의 설정을 이루는 기본 
-단위입니다. 각각의 {@link android.preference.Preference}는 목록의 항목으로 
+<p>{@link android.preference.Preference} 객체는 하나의 설정을 이루는 기본
+단위입니다. 각각의 {@link android.preference.Preference}는 목록의 항목으로
 나타나며 사용자가 설정을 수정하기에 적절한 UI를 제공합니다. 예를 들어 {@link
 android.preference.CheckBoxPreference}는 확인란을 표시하는 목록 항목을 만들고, {@link
 android.preference.ListPreference}는 선택 목록이 있는 대화를 여는 항목을 만듭니다.</p>
 
-<p>각각의 {@link android.preference.Preference}를 추가할 때마다 상응하는 키-값 쌍이 있어 
+<p>각각의 {@link android.preference.Preference}를 추가할 때마다 상응하는 키-값 쌍이 있어
 시스템이 이를 사용하여 해당 설정을 앱의 설정에 대한 기본 {@link android.content.SharedPreferences}
-파일에 저장합니다. 사용자가 설정을 변경하면 시스템이 
-{@link android.content.SharedPreferences} 파일에 있는 상응하는 값을 개발자 대신 업데이트합니다. 개발자가 직접 
-연관된 {@link android.content.SharedPreferences} 파일과 상호 작용을 해야 하는 경우는 
+파일에 저장합니다. 사용자가 설정을 변경하면 시스템이
+{@link android.content.SharedPreferences} 파일에 있는 상응하는 값을 개발자 대신 업데이트합니다. 개발자가 직접
+연관된 {@link android.content.SharedPreferences} 파일과 상호 작용을 해야 하는 경우는
 사용자의 설정을 기반으로 앱의 동작을 결정하기 위해 값을 읽어야 할 때뿐입니다.</p>
 
-<p>각 설정에 대하여 {@link android.content.SharedPreferences}에 저장된 값은 다음과 같은 
+<p>각 설정에 대하여 {@link android.content.SharedPreferences}에 저장된 값은 다음과 같은
 데이터 유형 중 한 가지를 취할 수 있습니다.</p>
 
 <ul>
@@ -119,31 +119,31 @@
   <li>String {@link java.util.Set}</li>
 </ul>
 
-<p>앱의 설정 UI는 
-{@link android.view.View} 객체 대신 
-{@link android.preference.Preference} 객체를 사용하여 구축되기 때문에, 목록 설정을 표시하려면 특수 {@link android.app.Activity} 또는 
+<p>앱의 설정 UI는
+{@link android.view.View} 객체 대신
+{@link android.preference.Preference} 객체를 사용하여 구축되기 때문에, 목록 설정을 표시하려면 특수 {@link android.app.Activity} 또는
 {@link android.app.Fragment} 하위 클래스를 사용해야 합니다.</p>
 
 <ul>
-  <li>앱이 Android 3.0 이전 버전(API 레벨 10 이하)을 지원하는 경우, 액티비티를 구축할 때 
+  <li>앱이 Android 3.0 이전 버전(API 레벨 10 이하)을 지원하는 경우, 액티비티를 구축할 때
 {@link android.preference.PreferenceActivity} 클래스의 확장으로 구축해야 합니다.</li>
-  <li>Android 3.0 이후의 경우에는 대신 기존의 {@link android.app.Activity}를 
-사용해야 합니다. 이것은 앱 설정을 표시하는 {@link android.preference.PreferenceFragment}를 호스팅합니다. 
-하지만, 여러 개의 설정 그룹이 있는 경우 {@link android.preference.PreferenceActivity}를 사용하여 
+  <li>Android 3.0 이후의 경우에는 대신 기존의 {@link android.app.Activity}를
+사용해야 합니다. 이것은 앱 설정을 표시하는 {@link android.preference.PreferenceFragment}를 호스팅합니다.
+하지만, 여러 개의 설정 그룹이 있는 경우 {@link android.preference.PreferenceActivity}를 사용하여
 대형 화면에 맞는 창 두 개짜리 레이아웃을 만들 수도 있습니다.</li>
 </ul>
 
 <p>{@link android.preference.PreferenceActivity}와 {@link
-android.preference.PreferenceFragment}의 인스턴스를 설정하는 방법은 <a href="#Activity">기본 설정 액티비티 만들기</a>와 <a href="#Fragment">기본 설정 
+android.preference.PreferenceFragment}의 인스턴스를 설정하는 방법은 <a href="#Activity">기본 설정 액티비티 만들기</a>와 <a href="#Fragment">기본 설정
 프래그먼트 사용하기</a>에 관련된 섹션에서 논합니다.</p>
 
 
 <h3 id="SettingTypes">기본 설정</h3>
 
 <p>앱에 대한 설정은 모두 {@link
-android.preference.Preference} 클래스의 특정 하위 클래스로 표현됩니다. 각 하위 클래스에 핵심 속성이 한 세트씩 포함되어 있어 
-설정의 제목과 기본 값 등과 같은 것을 지정할 수 있게 해줍니다. 각 하위 클래스는 또한 자신만의 
-특수 속성과 사용자 인터페이스도 제공합니다. 예를 들어, 그림 1에서는 메시지 앱의 설정에서 
+android.preference.Preference} 클래스의 특정 하위 클래스로 표현됩니다. 각 하위 클래스에 핵심 속성이 한 세트씩 포함되어 있어
+설정의 제목과 기본 값 등과 같은 것을 지정할 수 있게 해줍니다. 각 하위 클래스는 또한 자신만의
+특수 속성과 사용자 인터페이스도 제공합니다. 예를 들어, 그림 1에서는 메시지 앱의 설정에서
 가져온 스크린샷을 나타낸 것입니다. 설정 화면에 있는 각 목록 항목은 각기 서로 다른 {@link
 android.preference.Preference} 객체로 지원됩니다.</p>
 
@@ -151,11 +151,11 @@
 
 <dl>
   <dt>{@link android.preference.CheckBoxPreference}</dt>
-  <dd>활성화되었거나 비활성화된 설정에 대한 확인란이 있는 항목을 표시합니다. 저장된 값은 
+  <dd>활성화되었거나 비활성화된 설정에 대한 확인란이 있는 항목을 표시합니다. 저장된 값은
 부울입니다(확인란이 선택된 경우 <code>true</code>).</dd>
 
   <dt>{@link android.preference.ListPreference}</dt>
-  <dd>무선 버튼 목록이 있는 대화를 엽니다. 저장된 값은 
+  <dd>무선 버튼 목록이 있는 대화를 엽니다. 저장된 값은
 지원되는 값 유형(위에 목록으로 나열) 중 어느 것이라도 될 수 있습니다.</dd>
 
   <dt>{@link android.preference.EditTextPreference}</dt>
@@ -166,36 +166,36 @@
 <p>다른 모든 하위 클래스와 이에 상응하는 속성의 목록을 보려면 {@link android.preference.Preference}
  클래스를 참조하십시오.</p>
 
-<p>물론 기본 제공 클래스만으로는 필요한 것을 모두 충족할 수 없고 앱에 무언가 좀 더 특수한 것이 
+<p>물론 기본 제공 클래스만으로는 필요한 것을 모두 충족할 수 없고 앱에 무언가 좀 더 특수한 것이
 필요할 수도 있습니다. 예를 들어 플랫폼은 현재 숫자나 날짜를 선택할 수 있는 {@link
-android.preference.Preference} 클래스를 제공하지 않습니다. 따라서 개발자 나름대로 
+android.preference.Preference} 클래스를 제공하지 않습니다. 따라서 개발자 나름대로
 {@link android.preference.Preference} 하위 클래스를 정의해야 할 수도 있습니다. 이 작업을 수행하는 데 유용한 내용인 <a href="#Custom">사용자 지정 기본 설정 구축하기</a>에 관한 섹션을 참조하십시오.</p>
 
 
 
 <h2 id="DefiningPrefs">XML로 기본 설정 정의하기</h2>
 
-<p>새로운 {@link android.preference.Preference} 객체를 런타임에 인스턴트화하는 것도 가능하지만, 
+<p>새로운 {@link android.preference.Preference} 객체를 런타임에 인스턴트화하는 것도 가능하지만,
 설정 목록을 정의할 때에는 {@link android.preference.Preference}
-객체의 계층과 함께 XML을 사용해야 합니다. 설정 컬렉션을 정의하는 데 XM 파일을 사용하는 것이 선호되는 이유는 이 파일이 
-읽기 쉬운 구조를 제공하여 업데이트가 단순하기 때문입니다. 또한, 앱의 설정은 보통 
+객체의 계층과 함께 XML을 사용해야 합니다. 설정 컬렉션을 정의하는 데 XM 파일을 사용하는 것이 선호되는 이유는 이 파일이
+읽기 쉬운 구조를 제공하여 업데이트가 단순하기 때문입니다. 또한, 앱의 설정은 보통
 미리 정의되어 있습니다. 다만 개발자도 여전히 런타임에 설정 컬렉션을 수정할 수 있습니다.</p>
 
-<p>각 {@link android.preference.Preference} 하위 클래스는 클래스 이름에 일치하는 XML 요소로 
+<p>각 {@link android.preference.Preference} 하위 클래스는 클래스 이름에 일치하는 XML 요소로
 선언하면 됩니다. 예를 들면 {@code &lt;CheckBoxPreference&gt;}가 이에 해당됩니다.</p>
 
-<p>이 XML 파일은 반드시 {@code res/xml/} 디렉터리에 저장해야 합니다. 파일의 이름은 무엇이든 원하는 대로 지정할 수 있지만, 
-일반적으로는 {@code preferences.xml}이라고 명명합니다. 파일은 하나만 필요한 것이 보통입니다. 
-왜냐하면 계층에 있는 분기(자신만의 설정 목록을 엶)는 
+<p>이 XML 파일은 반드시 {@code res/xml/} 디렉터리에 저장해야 합니다. 파일의 이름은 무엇이든 원하는 대로 지정할 수 있지만,
+일반적으로는 {@code preferences.xml}이라고 명명합니다. 파일은 하나만 필요한 것이 보통입니다.
+왜냐하면 계층에 있는 분기(자신만의 설정 목록을 엶)는
 {@link android.preference.PreferenceScreen}의 중첩된 인스턴스를 사용하여 선언되기 때문입니다.</p>
 
-<p class="note"><strong>참고:</strong> 설정에 다중 창 레이아웃을 만들고자 하는 경우, 
+<p class="note"><strong>참고:</strong> 설정에 다중 창 레이아웃을 만들고자 하는 경우,
 각 프래그먼트에 대해 별도의 XML 파일이 필요합니다.</p>
 
 <p>XML 파일의 루트 노드는 반드시 {@link android.preference.PreferenceScreen
 &lt;PreferenceScreen&gt;} 요소여야 합니다. 바로 이 요소 내에 각 {@link
-android.preference.Preference}를 추가하는 것입니다. 
-{@link android.preference.PreferenceScreen &lt;PreferenceScreen&gt;} 요소 내에 추가하는 각 하위는 설정 목록에서 
+android.preference.Preference}를 추가하는 것입니다.
+{@link android.preference.PreferenceScreen &lt;PreferenceScreen&gt;} 요소 내에 추가하는 각 하위는 설정 목록에서
 각기 항목 하나씩으로 나타납니다.</p>
 
 <p>예:</p>
@@ -224,11 +224,11 @@
 
 <dl>
   <dt>{@code android:key}</dt>
-  <dd>이 속성은 데이터 값을 유지하는 기본 설정에 필수입니다. 이것은 고유키(문자)를 
+  <dd>이 속성은 데이터 값을 유지하는 기본 설정에 필수입니다. 이것은 고유키(문자)를
 나타내며, 시스템이 이것을 사용하여 이 설정의 값을 {@link
-android.content.SharedPreferences}에 저장합니다. 
-  <p>이 속성이 <em>필요하지 않은</em> 인스턴스는 기본 설정이 
-{@link android.preference.PreferenceCategory} 또는 {@link android.preference.PreferenceScreen}인 경우, 또는 
+android.content.SharedPreferences}에 저장합니다.
+  <p>이 속성이 <em>필요하지 않은</em> 인스턴스는 기본 설정이
+{@link android.preference.PreferenceCategory} 또는 {@link android.preference.PreferenceScreen}인 경우, 또는
 기본 설정이 {@link android.content.Intent}를 호출할 것을 나타내거나(<a href="#Intents">{@code &lt;intent&gt;}</a> 요소로) {@link android.app.Fragment}를 표시하도록 지정하는 경우(<a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
 android:fragment}</a> 속성으로)뿐입니다.</p>
   </dd>
@@ -236,7 +236,7 @@
   <dd>이것은 설정에 대하여 사용자가 볼 수 있는 이름을 제공합니다.</dd>
   <dt>{@code android:defaultValue}</dt>
   <dd>이것은 시스템이 {@link
-android.content.SharedPreferences} 파일에 설정해야 하는 초기 값을 나타냅니다. 모든 설정에 기본 값을 제공해야 
+android.content.SharedPreferences} 파일에 설정해야 하는 초기 값을 나타냅니다. 모든 설정에 기본 값을 제공해야
 합니다.</dd>
 </dl>
 
@@ -248,21 +248,21 @@
   <img src="{@docRoot}images/ui/settings/settings-titles.png" alt="" />
   <p class="img-caption"><strong>그림 2.</strong> 제목이 있는 설정
 카테고리입니다. <br/><b>1.</b> 카테고리는 {@link
-android.preference.PreferenceCategory &lt;PreferenceCategory&gt;} 요소가 지정합니다. <br/><b>2.</b> 제목은 
+android.preference.PreferenceCategory &lt;PreferenceCategory&gt;} 요소가 지정합니다. <br/><b>2.</b> 제목은
 {@code android:title} 속성으로 지정합니다.</p>
 </div>
 
 
-<p>설정 목록이 약 10개 항목을 초과하면 제목을 추가하여 
-설정 그룹을 정의하거나, 해당 그룹을 별도의 
+<p>설정 목록이 약 10개 항목을 초과하면 제목을 추가하여
+설정 그룹을 정의하거나, 해당 그룹을 별도의
 화면에 표시하는 것이 좋을 수도 있습니다. 이러한 옵션은 다음 섹션에 설명되어 있습니다.</p>
 
 
 <h3 id="Groups">설정 그룹 만들기</h3>
 
-<p>10개 이상의 설정 목록을 제시하는 경우, 사용자가 
-이들을 둘러보고 이해하며 처리하는 데 어려움을 겪을 수 있습니다. 이 문제를 해결하려면 
-설정의 일부 또는 모두를 그룹으로 나누어 사실상 하나의 긴 목록을 여러 개의 더 짧은 목록으로 
+<p>10개 이상의 설정 목록을 제시하는 경우, 사용자가
+이들을 둘러보고 이해하며 처리하는 데 어려움을 겪을 수 있습니다. 이 문제를 해결하려면
+설정의 일부 또는 모두를 그룹으로 나누어 사실상 하나의 긴 목록을 여러 개의 더 짧은 목록으로
 바꿔주면 됩니다. 관련된 설정 그룹 하나를 나타낼 때에는 다음과 같은 두 가지 방식 중 하나를 택하면 됩니다.</p>
 
 <ul>
@@ -270,14 +270,14 @@
   <li><a href="#Subscreens">보조 화면 사용하기</a></li>
 </ul>
 
-<p>이와 같은 그룹화 기법 중 하나 또는 둘 모두를 사용하여 앱의 설정을 조직화할 수 있습니다. 어느 것을 
-사용할지, 설정을 어떻게 나눌지 결정할 때에는 Android 
+<p>이와 같은 그룹화 기법 중 하나 또는 둘 모두를 사용하여 앱의 설정을 조직화할 수 있습니다. 어느 것을
+사용할지, 설정을 어떻게 나눌지 결정할 때에는 Android
 디자인의 <a href="{@docRoot}design/patterns/settings.html">설정</a> 가이드에 있는 지침을 따라야 합니다.</p>
 
 
 <h4 id="Titles">제목 사용하기</h4>
 
-<p>여러 개의 설정 그룹 사이에 구분선과 제목을 제공하고자 하는 경우(그림 2에 표시된 것과 같이), 
+<p>여러 개의 설정 그룹 사이에 구분선과 제목을 제공하고자 하는 경우(그림 2에 표시된 것과 같이),
 각 {@link android.preference.Preference} 객체 그룹을 {@link
 android.preference.PreferenceCategory} 내부에 배치합니다.</p>
 
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -311,13 +311,13 @@
 
 <h4 id="Subscreens">보조 화면 사용하기</h4>
 
-<p>설정 그룹 여러 개를 보조 화면에 배치하고자 하는 경우(그림 3에 표시된 것과 같이), 해당 
+<p>설정 그룹 여러 개를 보조 화면에 배치하고자 하는 경우(그림 3에 표시된 것과 같이), 해당
 {@link android.preference.Preference} 객체 그룹을 {@link
 android.preference.PreferenceScreen} 안에 배치합니다.</p>
 
 <img src="{@docRoot}images/ui/settings/settings-subscreen.png" alt="" />
 <p class="img-caption"><strong>그림 3.</strong> 설정 보조 화면입니다. {@code
-&lt;PreferenceScreen&gt;} 요소가 
+&lt;PreferenceScreen&gt;} 요소가
 항목을 만들며, 이 항목이 선택되면 별도의 목록이 열려 중첩된 설정을 표시합니다.</p>
 
 <p>예:</p>
@@ -352,7 +352,7 @@
 
 <h3 id="Intents">인텐트 사용하기</h3>
 
-<p>어떤 경우에는 기본 설정 항목을 사용하여 설정 화면 대신 여러 가지 액티비티를 
+<p>어떤 경우에는 기본 설정 항목을 사용하여 설정 화면 대신 여러 가지 액티비티를
 열고자 할 수도 있습니다. 예를 들어 웹 브라우저를 열어 웹 페이지를 보는 것이 이에 해당됩니다. 사용자가 기본 설정 항목을 선택할 때 {@link
 android.content.Intent}를 호출하도록 하려면, {@code &lt;intent&gt;}
 요소를 상응하는 {@code &lt;Preference&gt;} 요소의 하위로 추가하면 됩니다.</p>
@@ -392,18 +392,18 @@
 <p>설정을 액티비티에서 표시하려면 {@link
 android.preference.PreferenceActivity} 클래스를 확장하면 됩니다. 이것은 일반적인 {@link
 android.app.Activity} 클래스 확장의 일종입니다. 이는 {@link
-android.preference.Preference} 객체의 계층에 기반한 설정 목록을 표시합니다. {@link android.preference.PreferenceActivity}는 
+android.preference.Preference} 객체의 계층에 기반한 설정 목록을 표시합니다. {@link android.preference.PreferenceActivity}는
 사용자가 변경 작업을 하면 각 {@link
 android.preference.Preference}와 연관된 설정을 유지합니다.</p>
 
-<p class="note"><strong>참고:</strong> Android 3.0 이상에 맞춰 애플리케이션을 개발하는 경우, 
-대신 {@link android.preference.PreferenceFragment}를 사용해야 합니다. 다음 섹션의 
+<p class="note"><strong>참고:</strong> Android 3.0 이상에 맞춰 애플리케이션을 개발하는 경우,
+대신 {@link android.preference.PreferenceFragment}를 사용해야 합니다. 다음 섹션의
 <a href="#Fragment">기본 설정 프래그먼트 사용하기</a> 관련 내용을 참조하십시오.</p>
 
 <p>여기서 기억해야 할 가장 중요한 점은 {@link
 android.preference.PreferenceActivity#onCreate onCreate()} 콜백 중에 보기 레이아웃을 로딩해서는 안 된다는 것입니다. 그 대신 {@link
-android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 호출하여 
-XML 파일에서 선언한 기본 설정을 액티비티에 추가합니다. 예를 들어 다음은 기능적인 
+android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 호출하여
+XML 파일에서 선언한 기본 설정을 액티비티에 추가합니다. 예를 들어 다음은 기능적인
 {@link android.preference.PreferenceActivity}에 필요한 가장 최소한의 코드를 나타낸 것입니다.</p>
 
 <pre>
@@ -416,11 +416,11 @@
 }
 </pre>
 
-<p>사실 이 코드만으로 몇몇 앱에는 충분합니다. 사용자가 기본 설정을 수정하자마자 
-시스템이 해당 변경을 기본 {@link android.content.SharedPreferences} 파일에 저장하여, 
-사용자의 설정을 확인해야 할 때 다른 애플리케이션 구성 요소가 이를 읽을 수 있도록 하기 때문입니다. 하지만 
+<p>사실 이 코드만으로 몇몇 앱에는 충분합니다. 사용자가 기본 설정을 수정하자마자
+시스템이 해당 변경을 기본 {@link android.content.SharedPreferences} 파일에 저장하여,
+사용자의 설정을 확인해야 할 때 다른 애플리케이션 구성 요소가 이를 읽을 수 있도록 하기 때문입니다. 하지만
 대다수의 앱은 기본 설정에 일어나는 변경을 수신 대기하기 위해 약간의 코드가 더 필요합니다.
-{@link android.content.SharedPreferences} 파일에 일어나는 변경을 수신 대기하는 데 관한 
+{@link android.content.SharedPreferences} 파일에 일어나는 변경을 수신 대기하는 데 관한
 자세한 정보는 <a href="#ReadingPrefs">기본 설정 읽기</a>에 관한 섹션을 참조하십시오.</p>
 
 
@@ -430,17 +430,17 @@
 
 <p>Android 3.0(API 레벨 11) 이상에 맞춰 개발하는 경우, {@link
 android.preference.PreferenceFragment}를 사용하여 {@link android.preference.Preference}
-객체 목록을 표시해야 합니다. {@link android.preference.PreferenceFragment}는 모든 액티비티에 추가할 수 있습니다. 즉, 
+객체 목록을 표시해야 합니다. {@link android.preference.PreferenceFragment}는 모든 액티비티에 추가할 수 있습니다. 즉,
 {@link android.preference.PreferenceActivity}를 사용하지 않아도 됩니다.</p>
 
-<p><a href="{@docRoot}guide/components/fragments.html">프래그먼트</a>는 액티비티만 
-사용하는 것에 비해 애플리케이션에 보다 유연한 아키텍처를 제공하며, 이는 구축하는 
+<p><a href="{@docRoot}guide/components/fragments.html">프래그먼트</a>는 액티비티만
+사용하는 것에 비해 애플리케이션에 보다 유연한 아키텍처를 제공하며, 이는 구축하는
 액티비티의 종류와 무관하게 적용됩니다. 따라서 설정 표시를 제어하는 데에는 {@link
 android.preference.PreferenceFragment}를 {@link
 android.preference.PreferenceActivity} 대신 사용하는 방안을 권장합니다(가능한 경우).</p>
 
 <p>{@link android.preference.PreferenceFragment} 구현은 매우 간단합니다.
-{@link android.preference.PreferenceFragment#onCreate onCreate()} 메서드를 정의하여 기본 설정 파일을 
+{@link android.preference.PreferenceFragment#onCreate onCreate()} 메서드를 정의하여 기본 설정 파일을
 {@link android.preference.PreferenceFragment#addPreferencesFromResource
 addPreferencesFromResource()}로 로딩하도록 하기만 하면 됩니다. 예:</p>
 
@@ -457,7 +457,7 @@
 }
 </pre>
 
-<p>그런 다음 이 프래그먼트를 {@link android.app.Activity}에 추가하기만 하면 되고, 이는 다른 모든 
+<p>그런 다음 이 프래그먼트를 {@link android.app.Activity}에 추가하기만 하면 되고, 이는 다른 모든
 {@link android.app.Fragment}에서와 마찬가지입니다. 예:</p>
 
 <pre>
@@ -474,24 +474,24 @@
 }
 </pre>
 
-<p class="note"><strong>참고:</strong> {@link android.preference.PreferenceFragment}에는 자신만의 
+<p class="note"><strong>참고:</strong> {@link android.preference.PreferenceFragment}에는 자신만의
 {@link android.content.Context} 객체가 없습니다. {@link android.content.Context}
-객체가 필요한 경우, {@link android.app.Fragment#getActivity()}를 호출하면 됩니다. 하지만, 
-{@link android.app.Fragment#getActivity()}를 호출하는 것은 프래그먼트가 액티비티에 첨부되어 있는 경우만으로 국한시켜야 한다는 점을 유의하십시오. 프래그먼트가 
+객체가 필요한 경우, {@link android.app.Fragment#getActivity()}를 호출하면 됩니다. 하지만,
+{@link android.app.Fragment#getActivity()}를 호출하는 것은 프래그먼트가 액티비티에 첨부되어 있는 경우만으로 국한시켜야 한다는 점을 유의하십시오. 프래그먼트가
 아직 첨부되지 않았거나 수명 주기가 끝날 무렵 분리된 경우, {@link
 android.app.Fragment#getActivity()}가 null을 반환합니다.</p>
 
 
 <h2 id="Defaults">설정 기본 값</h2>
 
-<p>여러분이 만드는 기본 설정은 애플리케이션에 중요한 동작을 정의하는 경우가 많을 것입니다. 따라서 
-연관된 {@link android.content.SharedPreferences} 파일을 
-각 {@link android.preference.Preference}에 대한 기본 값으로 초기화하여 사용자가 애플리케이션을 처음 열 때 
+<p>여러분이 만드는 기본 설정은 애플리케이션에 중요한 동작을 정의하는 경우가 많을 것입니다. 따라서
+연관된 {@link android.content.SharedPreferences} 파일을
+각 {@link android.preference.Preference}에 대한 기본 값으로 초기화하여 사용자가 애플리케이션을 처음 열 때
 적용하는 것이 중요합니다.</p>
 
 <p>가장 먼저 해야 할 일은 XML 파일 내의 각 {@link
 android.preference.Preference}
-객체에 대해 기본 값을 지정하는 것입니다. 이때 {@code android:defaultValue} 속성을 사용합니다. 이 값은 상응하는 
+객체에 대해 기본 값을 지정하는 것입니다. 이때 {@code android:defaultValue} 속성을 사용합니다. 이 값은 상응하는
 {@link android.preference.Preference} 객체에 대해 적절한 어느 데이터 유형이라도 될 수 있습니다. 예:
 </p>
 
@@ -507,8 +507,8 @@
     ... />
 </pre>
 
-<p>그런 다음, 애플리케이션의 기본 액티비티에 있는 {@link android.app.Activity#onCreate onCreate()} 
-메서드로부터&mdash;또한 사용자가 애플리케이션에 처음으로 들어올 통로가 될 수 있는 
+<p>그런 다음, 애플리케이션의 기본 액티비티에 있는 {@link android.app.Activity#onCreate onCreate()}
+메서드로부터&mdash;또한 사용자가 애플리케이션에 처음으로 들어올 통로가 될 수 있는
 다른 모든 액티비티도 포함&mdash;{@link android.preference.PreferenceManager#setDefaultValues
 setDefaultValues()}를 호출합니다.</p>
 
@@ -516,9 +516,9 @@
 PreferenceManager.setDefaultValues(this, R.xml.advanced_preferences, false);
 </pre>
 
-<p>이것을 {@link android.app.Activity#onCreate onCreate()} 중에 호출하면 
-애플리케이션이 기본 설정으로 적절히 초기화되도록 보장할 수 있습니다. 이것은 애플리케이션이 
-몇 가지 동작을 결정하기 위해 읽어야 할 수도 있습니다(예를 들어 셀룰러 네트워크에서 데이터를 
+<p>이것을 {@link android.app.Activity#onCreate onCreate()} 중에 호출하면
+애플리케이션이 기본 설정으로 적절히 초기화되도록 보장할 수 있습니다. 이것은 애플리케이션이
+몇 가지 동작을 결정하기 위해 읽어야 할 수도 있습니다(예를 들어 셀룰러 네트워크에서 데이터를
 다운로드할지 여부 등).</p>
 
 <p>이 메서드는 다음과 같은 세 개의 인수를 취합니다.</p>
@@ -526,73 +526,73 @@
   <li>애플리케이션 {@link android.content.Context}.</li>
   <li>기본 값을 설정하고자 하는 기본 설정 XML 파일에 대한 리소스 ID입니다.</li>
   <li>기본 값을 한 번 이상 설정해야 하는지 여부를 나타내는 부울 값입니다.
-<p><code>false</code>인 경우, 시스템은 이 메서드가 전에 한 번도 호출된 적이 없을 경우에만 
+<p><code>false</code>인 경우, 시스템은 이 메서드가 전에 한 번도 호출된 적이 없을 경우에만
 기본 값을 설정합니다(아니면 기본 값을 공유한 기본 설정 파일에 있는 {@link android.preference.PreferenceManager#KEY_HAS_SET_DEFAULT_VALUES}
 가 안전합니다).</p></li>
 </ul>
 
-<p>세 번째 인수를 <code>false</code>로 설정해 두는 한 이 메서드를 액티비티가 시작될 때마다 
-안전하게 호출할 수 있으며, 그렇게 해도 사용자의 저장된 기본 설정을 기본값으로 초기화하여 
-재정의하지 않습니다. 하지만 이를 <code>true</code>로 설정하면, 이전의 모든 값을 
+<p>세 번째 인수를 <code>false</code>로 설정해 두는 한 이 메서드를 액티비티가 시작될 때마다
+안전하게 호출할 수 있으며, 그렇게 해도 사용자의 저장된 기본 설정을 기본값으로 초기화하여
+재정의하지 않습니다. 하지만 이를 <code>true</code>로 설정하면, 이전의 모든 값을
 기본 값으로 재정의하게 됩니다.</p>
 
 
 
 <h2 id="PreferenceHeaders">기본 설정 헤더 사용하기</h2>
 
-<p>드문 경우지만 설정을 디자인할 때 첫 화면에는 
-<a href="#Subscreens">보조 화면</a> 목록만 표시하도록 하고자 할 수도 있습니다(예: 시스템 설정 앱, 
-그림 4와 5 참조). 그러한 디자인을 Android 3.0 이상을 대상으로 개발하는 경우, Android 3.0에 있는 
-새로운 "헤더" 기능을 사용해야 합니다. 이것이 중첩된 
+<p>드문 경우지만 설정을 디자인할 때 첫 화면에는
+<a href="#Subscreens">보조 화면</a> 목록만 표시하도록 하고자 할 수도 있습니다(예: 시스템 설정 앱,
+그림 4와 5 참조). 그러한 디자인을 Android 3.0 이상을 대상으로 개발하는 경우, Android 3.0에 있는
+새로운 "헤더" 기능을 사용해야 합니다. 이것이 중첩된
 {@link android.preference.PreferenceScreen} 요소를 사용하여 보조 화면을 구축하는 방안을 대신합니다.</p>
 
 <p>헤더를 사용하여 설정을 구축하려면 다음과 같이 해야 합니다.</p>
 <ol>
   <li>각 설정 그룹을 별개의 {@link
-android.preference.PreferenceFragment} 인스턴스로 구분합니다. 다시 말해, 설정 그룹마다 별도의 XML 파일이 하나씩 있어야 한다는 
+android.preference.PreferenceFragment} 인스턴스로 구분합니다. 다시 말해, 설정 그룹마다 별도의 XML 파일이 하나씩 있어야 한다는
 뜻입니다.</li>
-  <li>각 설정 그룹을 목록으로 나열하는 XML 헤더 파일을 생성하고 어느 프래그먼트에 
+  <li>각 설정 그룹을 목록으로 나열하는 XML 헤더 파일을 생성하고 어느 프래그먼트에
 상응하는 설정 목록이 들어있는지 선언합니다.</li>
   <li>{@link android.preference.PreferenceActivity} 클래스를 확장하여 설정을 호스팅하도록 합니다.</li>
   <li>{@link
-android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} 콜백을 구현하여 헤더 파일을 
+android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} 콜백을 구현하여 헤더 파일을
 나타냅니다.</li>
 </ol>
 
-<p>이 디자인을 사용하는 데 있어 커다란 이점은 {@link android.preference.PreferenceActivity}가 
+<p>이 디자인을 사용하는 데 있어 커다란 이점은 {@link android.preference.PreferenceActivity}가
 (앱이) 대형 화면에서 실행될 때 그림 4에서 나타낸 것과 같이 창 두 개짜리 레이아웃을 자동으로 표시한다는 것입니다.</p>
 
-<p>애플리케이션이 Android 3.0 이전 버전을 지원한다 하더라도 애플리케이션이 
-{@link android.preference.PreferenceFragment}를 사용하여 
-신형 기기에서 창 두 개짜리 표시를 지원하도록 하면서도 구형 기기에서는 일반적인 다중 화면 계층을 
-여전히 지원하도록 할 수도 있습니다(<a href="#BackCompatHeaders">기본 설정 헤더로 
+<p>애플리케이션이 Android 3.0 이전 버전을 지원한다 하더라도 애플리케이션이
+{@link android.preference.PreferenceFragment}를 사용하여
+신형 기기에서 창 두 개짜리 표시를 지원하도록 하면서도 구형 기기에서는 일반적인 다중 화면 계층을
+여전히 지원하도록 할 수도 있습니다(<a href="#BackCompatHeaders">기본 설정 헤더로
 이전 버전 지원하기</a>를 참조하십시오).</p>
 
 <img src="{@docRoot}images/ui/settings/settings-headers-tablet.png" alt="" />
-<p class="img-caption"><strong>그림 4.</strong> 헤더가 있는 창 두 개짜리 레이아웃입니다. <br/><b>1.</b> 헤더는 
-XML 헤더 파일로 정의됩니다. <br/><b>2.</b> 각 설정 그룹은 
-{@link android.preference.PreferenceFragment}가 정의하며, 이는 헤더 파일에 있는 {@code &lt;header&gt;} 요소가 
+<p class="img-caption"><strong>그림 4.</strong> 헤더가 있는 창 두 개짜리 레이아웃입니다. <br/><b>1.</b> 헤더는
+XML 헤더 파일로 정의됩니다. <br/><b>2.</b> 각 설정 그룹은
+{@link android.preference.PreferenceFragment}가 정의하며, 이는 헤더 파일에 있는 {@code &lt;header&gt;} 요소가
 지정합니다.</p>
 
 <img src="{@docRoot}images/ui/settings/settings-headers-handset.png" alt="" />
-<p class="img-caption"><strong>그림 5.</strong> 설정 헤더가 있는 핸드셋 기기입니다. 항목을 선택하면 
-연관된 {@link android.preference.PreferenceFragment}가 헤더를 
+<p class="img-caption"><strong>그림 5.</strong> 설정 헤더가 있는 핸드셋 기기입니다. 항목을 선택하면
+연관된 {@link android.preference.PreferenceFragment}가 헤더를
 대체합니다.</p>
 
 
 <h3 id="CreateHeaders" style="clear:left">헤더 파일 만들기</h3>
 
-<p>헤더 목록에 있는 각 설정 그룹은 루트 {@code &lt;preference-headers&gt;} 
+<p>헤더 목록에 있는 각 설정 그룹은 루트 {@code &lt;preference-headers&gt;}
 요소 안에 있는 {@code &lt;header&gt;} 요소 하나로 나타냅니다. 예:</p>
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -607,12 +607,12 @@
 
 <p>{@code &lt;extras&gt;} 요소를 사용하면 키-값 쌍을 {@link
 android.os.Bundle} 내의 프래그먼트에 전달할 수 있게 해줍니다. 이 프래그먼트가 인수를 검색하려면 {@link
-android.app.Fragment#getArguments()}를 호출하면 됩니다. 인수를 프래그먼트에 전달하는 데에는 여러 가지 이유가 있을 수 있지만, 
+android.app.Fragment#getArguments()}를 호출하면 됩니다. 인수를 프래그먼트에 전달하는 데에는 여러 가지 이유가 있을 수 있지만,
 한 가지 중요한 이유를 예로 들면 각 그룹에 대해 {@link
-android.preference.PreferenceFragment}의 같은 하위 클래스를 재사용하고, 이 인수를 사용하여 해당 프래그먼트가 로딩해야 하는 
+android.preference.PreferenceFragment}의 같은 하위 클래스를 재사용하고, 이 인수를 사용하여 해당 프래그먼트가 로딩해야 하는
 기본 설정 XML 파일이 무엇인지 나타낼 수 있다는 점입니다.</p>
 
-<p>예를 들어 다음은 여러 가지 설정 그룹에 재사용할 수 있는 프래그먼트입니다. 이것은 
+<p>예를 들어 다음은 여러 가지 설정 그룹에 재사용할 수 있는 프래그먼트입니다. 이것은
 각 헤더가 {@code "settings"} 키로 {@code &lt;extra&gt;} 인수를 정의하는 경우를 나타낸 것입니다.</p>
 
 <pre>
@@ -636,7 +636,7 @@
 <h3 id="DisplayHeaders">헤더 표시하기</h3>
 
 <p>기본 설정 헤더를 표시하려면 {@link
-android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} 콜백 메서드를 구현하고 
+android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} 콜백 메서드를 구현하고
 {@link android.preference.PreferenceActivity#loadHeadersFromResource
 loadHeadersFromResource()}를 호출해야 합니다. 예:</p>
 
@@ -654,56 +654,56 @@
 
 <p class="note"><strong>참고:</strong> 기본 설정 헤더를 사용하는 경우, {@link
 android.preference.PreferenceActivity}의 하위 클래스가 {@link
-android.preference.PreferenceActivity#onCreate onCreate()} 메서드를 구현하지 않아도 됩니다. 액티비티에 대한 필수 작업은 
+android.preference.PreferenceActivity#onCreate onCreate()} 메서드를 구현하지 않아도 됩니다. 액티비티에 대한 필수 작업은
 헤더를 로딩하는 것뿐이기 때문입니다.</p>
 
 
 <h3 id="BackCompatHeaders">기본 설정 헤더로 이전 버전 지원하기</h3>
 
-<p>애플리케이션이 Android 3.0 이전 버전을 지원하는 경우에도 여전히 헤더를 사용하여 
-Android 3.0 이상에서 창 두 개짜리 레이아웃을 제공하도록 할 수 있습니다. 개발자가 해야 할 일은 추가로 기본 설정 XML 파일을 
+<p>애플리케이션이 Android 3.0 이전 버전을 지원하는 경우에도 여전히 헤더를 사용하여
+Android 3.0 이상에서 창 두 개짜리 레이아웃을 제공하도록 할 수 있습니다. 개발자가 해야 할 일은 추가로 기본 설정 XML 파일을
 생성하는 것뿐입니다. 이 파일은 마치 헤더 항목처럼 동작하는 기본적인 {@link android.preference.Preference
-&lt;Preference&gt;} 요소를 사용합니다(이것을 이전 Android 버전이 사용하도록 
+&lt;Preference&gt;} 요소를 사용합니다(이것을 이전 Android 버전이 사용하도록
 할 예정).</p>
 
 <p>하지만 새로운 {@link android.preference.PreferenceScreen}을 여는 대신 각 {@link
-android.preference.Preference &lt;Preference&gt;} 요소가 {@link android.content.Intent}를 하나씩 
-{@link android.preference.PreferenceActivity}에 전송합니다. 이것이 로딩할 XML 파일이 무엇인지를 
+android.preference.Preference &lt;Preference&gt;} 요소가 {@link android.content.Intent}를 하나씩
+{@link android.preference.PreferenceActivity}에 전송합니다. 이것이 로딩할 XML 파일이 무엇인지를
 나타냅니다.</p>
 
-<p>예를 들어 다음은 Android 3.0 이상에서 사용되는 기본 설정 헤더에 대한 
-XML 파일입니다({@code res/xml/preference_headers.xml}).</p> 
+<p>예를 들어 다음은 Android 3.0 이상에서 사용되는 기본 설정 헤더에 대한
+XML 파일입니다({@code res/xml/preference_headers.xml}).</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
 &lt;/preference-headers>
 </pre>
 
-<p>그리고 다음은, Android 3.0 이전 버전에 같은 헤더를 제공하는 기본 설정 
+<p>그리고 다음은, Android 3.0 이전 버전에 같은 헤더를 제공하는 기본 설정
 파일입니다({@code res/xml/preference_headers_legacy.xml}).</p>
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -711,13 +711,13 @@
 &lt;/PreferenceScreen>
 </pre>
 
-<p>{@code &lt;preference-headers&gt;}에 대한 지원이 Android 3.0에서 추가되었기 때문에 시스템이 
+<p>{@code &lt;preference-headers&gt;}에 대한 지원이 Android 3.0에서 추가되었기 때문에 시스템이
 {@link android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()}를 {@link
-android.preference.PreferenceActivity}에서 호출하는 것은 Android 3.0 이상에서 실행될 때뿐입니다. "레거시" 헤더 파일을 
-로딩하려면({@code preference_headers_legacy.xml}) 반드시 Android 
+android.preference.PreferenceActivity}에서 호출하는 것은 Android 3.0 이상에서 실행될 때뿐입니다. "레거시" 헤더 파일을
+로딩하려면({@code preference_headers_legacy.xml}) 반드시 Android
 버전을 확인해야 하며, 해당 버전이 Android 3.0 이전인 경우({@link
 android.os.Build.VERSION_CODES#HONEYCOMB}), {@link
-android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 호출하여 
+android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 호출하여
 레거시 헤더 파일을 로딩해야 합니다. 예:</p>
 
 <pre>
@@ -739,8 +739,8 @@
 }
 </pre>
 
-<p>이제 남은 할 일이라고는 {@link android.content.Intent}를 처리하는 것뿐입니다. 이것은 
-액티비티로 전달되어 어느 기본 설정 파일을 로딩해야 하는지 식별하는 데 쓰입니다. 그럼 이제 인텐트의 작업을 검색하여 기본 설정 XML의 
+<p>이제 남은 할 일이라고는 {@link android.content.Intent}를 처리하는 것뿐입니다. 이것은
+액티비티로 전달되어 어느 기본 설정 파일을 로딩해야 하는지 식별하는 데 쓰입니다. 그럼 이제 인텐트의 작업을 검색하여 기본 설정 XML의
 {@code &lt;intent&gt;} 태그에서 사용한 알려진 작업 문자열에 비교해보겠습니다.</p>
 
 <pre>
@@ -765,8 +765,8 @@
 </pre>
 
 <p>{@link
-android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 연이어 호출하면 
-모든 기본 설정을 하나의 목록에 쌓게 된다는 점을 유의하십시오. 따라서 이것은 'Else-if' 문이 있는 조건을 변경하여 딱 한 번만 
+android.preference.PreferenceActivity#addPreferencesFromResource addPreferencesFromResource()}를 연이어 호출하면
+모든 기본 설정을 하나의 목록에 쌓게 된다는 점을 유의하십시오. 따라서 이것은 'Else-if' 문이 있는 조건을 변경하여 딱 한 번만
 호출하도록 주의해야 합니다.</p>
 
 
@@ -775,15 +775,15 @@
 
 <h2 id="ReadingPrefs">기본 설정 읽기</h2>
 
-<p>기본적으로 앱의 기본 설정은 모두 
+<p>기본적으로 앱의 기본 설정은 모두
 애플리케이션 내의 어디서든 정적 메서드 {@link
 android.preference.PreferenceManager#getDefaultSharedPreferences
 PreferenceManager.getDefaultSharedPreferences()}를 호출하면 액세스할 수 있는 파일에 저장됩니다. 이것은 {@link
 android.content.SharedPreferences} 객체를 반환하며, 여기에 {@link
-android.preference.PreferenceActivity}에서 사용한 {@link android.preference.Preference} 객체와 
+android.preference.PreferenceActivity}에서 사용한 {@link android.preference.Preference} 객체와
 연관된 모든 키-값 쌍이 들어있습니다.</p>
 
-<p>예를 들어 다음은 기본 설정 값 중 하나를 애플리케이션 내의 다른 모든 액티비티에서 읽는 방법을 
+<p>예를 들어 다음은 기본 설정 값 중 하나를 애플리케이션 내의 다른 모든 액티비티에서 읽는 방법을
 나타낸 것입니다.</p>
 
 <pre>
@@ -795,17 +795,17 @@
 
 <h3 id="Listening">기본 설정 변경 수신 대기</h3>
 
-<p>사용자가 기본 설정 중 하나를 변경하자마자 이에 대해 알림을 받는 것이 좋은 데에는 몇 가지 
-이유가 있습니다. 기본 설정 중 어느 하나에라도 변경이 발생했을 때 콜백을 받으려면, 
+<p>사용자가 기본 설정 중 하나를 변경하자마자 이에 대해 알림을 받는 것이 좋은 데에는 몇 가지
+이유가 있습니다. 기본 설정 중 어느 하나에라도 변경이 발생했을 때 콜백을 받으려면,
 {@link android.content.SharedPreferences.OnSharedPreferenceChangeListener
-SharedPreference.OnSharedPreferenceChangeListener} 인터페이스를 구현하고 
+SharedPreference.OnSharedPreferenceChangeListener} 인터페이스를 구현하고
 {@link android.content.SharedPreferences} 객체에 대한 수신기를 등록합니다. 이때 {@link
 android.content.SharedPreferences#registerOnSharedPreferenceChangeListener
 registerOnSharedPreferenceChangeListener()}를 호출하면 됩니다.</p>
 
 <p>이 인터페이스에는 콜백 메서드가 {@link
 android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged
-onSharedPreferenceChanged()} 하나뿐이며, 인터페이스를 액티비티의 일부분으로 구현하는 것이 
+onSharedPreferenceChanged()} 하나뿐이며, 인터페이스를 액티비티의 일부분으로 구현하는 것이
 가장 쉬운 방법일 공산이 큽니다. 예:</p>
 
 <pre>
@@ -825,19 +825,19 @@
 }
 </pre>
 
-<p>이 예시에서 메서드는 변경된 설정이 알려진 기본 설정 키에 대한 것인지 여부를 확인합니다. 이것은 
-{@link android.preference.PreferenceActivity#findPreference findPreference()}를 호출하여 
-변경된 {@link android.preference.Preference} 객체를 가져오는데, 이렇게 해야 항목의 요약을 수정하여 
+<p>이 예시에서 메서드는 변경된 설정이 알려진 기본 설정 키에 대한 것인지 여부를 확인합니다. 이것은
+{@link android.preference.PreferenceActivity#findPreference findPreference()}를 호출하여
+변경된 {@link android.preference.Preference} 객체를 가져오는데, 이렇게 해야 항목의 요약을 수정하여
 사용자의 선택에 대한 설명이 되도록 할 수 있습니다. 다시 말해, 설정이 {@link
 android.preference.ListPreference} 또는 다른 다중 선택 설정인 경우, 설정이 변경되어 현재 상태를 표시하도록 하면 {@link
-android.preference.Preference#setSummary setSummary()}를 호출해야 한다는 뜻입니다(예를 들어 
+android.preference.Preference#setSummary setSummary()}를 호출해야 한다는 뜻입니다(예를 들어
 그림 5에 표시된 절전 모드 설정과 같음).</p>
 
-<p class="note"><strong>참고:</strong> Android 디자인 문서의 <a href="{@docRoot}design/patterns/settings.html">설정</a> 관련 내용에서 설명한 바와 같이, 사용자가 기본 설정을 변경할 때마다 
-{@link android.preference.ListPreference}의 요약을 업데이트하는 것을 권장합니다. 이렇게 하여 현재 설정을 
+<p class="note"><strong>참고:</strong> Android 디자인 문서의 <a href="{@docRoot}design/patterns/settings.html">설정</a> 관련 내용에서 설명한 바와 같이, 사용자가 기본 설정을 변경할 때마다
+{@link android.preference.ListPreference}의 요약을 업데이트하는 것을 권장합니다. 이렇게 하여 현재 설정을
 나타내는 것입니다.</p>
 
-<p>액티비티에서 적절한 수명 주기 관리를 수행하려면 
+<p>액티비티에서 적절한 수명 주기 관리를 수행하려면
 {@link android.content.SharedPreferences.OnSharedPreferenceChangeListener}를 등록하고 등록 해제하는 작업은 각각 {@link
 android.app.Activity#onResume} 및 {@link android.app.Activity#onPause} 콜백 중에 수행하는 것을 권장합니다.</p>
 
@@ -859,14 +859,14 @@
 
 <p class="caution"><strong>주의:</strong> {@link
 android.content.SharedPreferences#registerOnSharedPreferenceChangeListener
-registerOnSharedPreferenceChangeListener()}를 호출하면 
-현재의 경우, 기본 설정 관리자가 수신기에 대한 강력한 참조를 저장하지 않습니다. 반드시 수신기에 대한 강력한 
-참조를 저장해야 합니다. 그렇지 않으면 가비지 수집의 대상이 될 가능성이 높습니다. 권장 사항으로는 
-수신기를 객체의 인스턴스 데이터 안에 보관하는 것을 추천합니다. 이 객체는 
+registerOnSharedPreferenceChangeListener()}를 호출하면
+현재의 경우, 기본 설정 관리자가 수신기에 대한 강력한 참조를 저장하지 않습니다. 반드시 수신기에 대한 강력한
+참조를 저장해야 합니다. 그렇지 않으면 가비지 수집의 대상이 될 가능성이 높습니다. 권장 사항으로는
+수신기를 객체의 인스턴스 데이터 안에 보관하는 것을 추천합니다. 이 객체는
 수신기를 필요로 하는 기간만큼 오래 존재할 것이 확실해야 합니다.</p>
 
-<p>예를 들어 다음 코드에서 발신자는 수신기에 대한 참조를 
-보관하지 않습니다. 그 결과 해당 수신기가 가비지 수집의 대상이 되며 
+<p>예를 들어 다음 코드에서 발신자는 수신기에 대한 참조를
+보관하지 않습니다. 그 결과 해당 수신기가 가비지 수집의 대상이 되며
 향후 언젠가 알 수 없는 시점에 고장을 일으키게 될 것입니다.</p>
 
 <pre>
@@ -879,7 +879,7 @@
 });
 </pre>
 
-<p>대신, 수신기에 대한 참조를 수신기가 필요한 기간만큼 오래 존재할 것이 확실한 객체의 
+<p>대신, 수신기에 대한 참조를 수신기가 필요한 기간만큼 오래 존재할 것이 확실한 객체의
 인스턴스 데이터 필드에 저장하십시오.</p>
 
 <pre>
@@ -895,19 +895,19 @@
 <h2 id="NetworkUsage">네트워크 사용량 관리하기</h2>
 
 
-<p>Android 4.0부터 시스템의 설정 애플리케이션을 사용하면 사용자가 
-애플리케이션이 전경과 배경에 있는 동안 각각 얼마나 많은 네트워크 데이터를 사용하는지 알아볼 수 있게 되었습니다. 그런 다음 
-사용자는 각각의 앱에 대해 배경 데이터 사용을 비활성화할 수 있습니다. 사용자가 여러분의 앱이 배경에서 
-데이터에 액세스하는 기능을 비활성화하는 사태를 피하려면 데이터 연결을 효율적으로 사용하고 
+<p>Android 4.0부터 시스템의 설정 애플리케이션을 사용하면 사용자가
+애플리케이션이 전경과 배경에 있는 동안 각각 얼마나 많은 네트워크 데이터를 사용하는지 알아볼 수 있게 되었습니다. 그런 다음
+사용자는 각각의 앱에 대해 배경 데이터 사용을 비활성화할 수 있습니다. 사용자가 여러분의 앱이 배경에서
+데이터에 액세스하는 기능을 비활성화하는 사태를 피하려면 데이터 연결을 효율적으로 사용하고
 사용자가 애플리케이션 설정을 통하여 앱의 데이터 사용량을 미세 조정할 수 있도록 허용해야 합니다.<p>
 
-<p>예를 들어 사용자에게 앱의 데이터 동기화 빈도를 제어하도록 허용할 수 있습니다. 앱이 Wi-Fi에 있을 때에만 
-업로드/다운로드를 수행하도록 할지 여부, 앱이 로밍 중에 데이터를 사용하도록 할지 여부 등을 이렇게 조절합니다. 사용자가 
-이러한 제어 기능을 사용할 수 있게 되면 시스템 설정에서 설정한 한도에 가까워지고 
-있을 때 앱의 데이터 액세스를 비활성화할 가능성이 낮아집니다. 그 대신 앱이 사용하는 데이터 양을 
+<p>예를 들어 사용자에게 앱의 데이터 동기화 빈도를 제어하도록 허용할 수 있습니다. 앱이 Wi-Fi에 있을 때에만
+업로드/다운로드를 수행하도록 할지 여부, 앱이 로밍 중에 데이터를 사용하도록 할지 여부 등을 이렇게 조절합니다. 사용자가
+이러한 제어 기능을 사용할 수 있게 되면 시스템 설정에서 설정한 한도에 가까워지고
+있을 때 앱의 데이터 액세스를 비활성화할 가능성이 낮아집니다. 그 대신 앱이 사용하는 데이터 양을
 정밀하게 제어할 수 있기 때문입니다.</p>
 
-<p>일단 필요한 기본 설정을 {@link android.preference.PreferenceActivity}에 
+<p>일단 필요한 기본 설정을 {@link android.preference.PreferenceActivity}에
 추가하여 앱의 데이터 습관을 제어하도록 했으면, 다음으로 매니페스트 파일에 있는 {@link
 android.content.Intent#ACTION_MANAGE_NETWORK_USAGE}에 대한 인텐트 필터를 추가해야 합니다. 예:</p>
 
@@ -920,10 +920,10 @@
 &lt;/activity>
 </pre>
 
-<p>이 인텐트 필터는 이것이 애플리케이션의 데이터 사용량을 제어하는 액티비티라는 
-사실을 시스템에 나타내는 역할을 합니다. 따라서, 사용자가 시스템의 설정 앱에서 여러분의 앱이 
-얼마나 많은 데이터를 사용하는지 알아볼 때면 <em>애플리케이션 설정 보기</em> 버튼을 사용할 수 있어 
-{@link android.preference.PreferenceActivity}를 시작하게 됩니다. 그러면 사용자는 
+<p>이 인텐트 필터는 이것이 애플리케이션의 데이터 사용량을 제어하는 액티비티라는
+사실을 시스템에 나타내는 역할을 합니다. 따라서, 사용자가 시스템의 설정 앱에서 여러분의 앱이
+얼마나 많은 데이터를 사용하는지 알아볼 때면 <em>애플리케이션 설정 보기</em> 버튼을 사용할 수 있어
+{@link android.preference.PreferenceActivity}를 시작하게 됩니다. 그러면 사용자는
 앱이 사용할 데이터 양을 미세하게 조정할 수 있습니다.</p>
 
 
@@ -934,22 +934,22 @@
 
 <h2 id="Custom">사용자 지정 기본 설정 구축하기</h2>
 
-<p>Android 프레임워크에는 다양한 {@link android.preference.Preference} 하위 클래스가 포함되어 있어 
-여러 가지 설정 유형에 맞게 UI를 구축할 수 있습니다. 
-하지만, 기본 제공 솔루션이 없는 설정이 필요하게 되는 경우도 있습니다. 예를 들어 숫자 선택기 또는 
-날짜 선택기 등이 이에 해당됩니다. 그러한 경우에는 사용자 지정 기본 설정을 만들어야 합니다. 이때 
+<p>Android 프레임워크에는 다양한 {@link android.preference.Preference} 하위 클래스가 포함되어 있어
+여러 가지 설정 유형에 맞게 UI를 구축할 수 있습니다.
+하지만, 기본 제공 솔루션이 없는 설정이 필요하게 되는 경우도 있습니다. 예를 들어 숫자 선택기 또는
+날짜 선택기 등이 이에 해당됩니다. 그러한 경우에는 사용자 지정 기본 설정을 만들어야 합니다. 이때
 {@link android.preference.Preference} 클래스 또는 다른 하위 클래스 중 하나를 확장하는 방법을 씁니다.</p>
 
-<p>{@link android.preference.Preference} 클래스를 확장하는 경우, 다음과 같이 
+<p>{@link android.preference.Preference} 클래스를 확장하는 경우, 다음과 같이
 몇 가지 중요한 해야 할 일이 있습니다.</p>
 
 <ul>
   <li>사용자가 설정을 선택하면 나타나는 사용자 인터페이스를 지정합니다.</li>
   <li>필요에 따라 설정의 값을 저장합니다.</li>
-  <li>{@link android.preference.Preference}가 보이게 되면 
+  <li>{@link android.preference.Preference}가 보이게 되면
 이를 현재(또는 기본) 값으로 초기화합니다.</li>
   <li>시스템이 요청하는 경우 기본 값을 제공합니다.</li>
-  <li>{@link android.preference.Preference}가 나름의 UI(예: 대화)를 제공하는 경우, 상태를 
+  <li>{@link android.preference.Preference}가 나름의 UI(예: 대화)를 제공하는 경우, 상태를
 저장하고 복원하여 수명 주기 변경을 처리할 수 있도록 합니다(예: 사용자가 화면을 돌리는 경우).</li>
 </ul>
 
@@ -959,27 +959,27 @@
 
 <h3 id="CustomSelected">사용자 인터페이스 지정하기</h3>
 
-  <p>{@link android.preference.Preference} 클래스를 직접 확장하는 경우, 
-{@link android.preference.Preference#onClick()}을 구현하여 사용자가 
-항목을 선택할 때 일어날 동작을 정의해야 합니다. 그러나, 대부분의 사용자 지정 설정은 {@link android.preference.DialogPreference}를 확장하여 
+  <p>{@link android.preference.Preference} 클래스를 직접 확장하는 경우,
+{@link android.preference.Preference#onClick()}을 구현하여 사용자가
+항목을 선택할 때 일어날 동작을 정의해야 합니다. 그러나, 대부분의 사용자 지정 설정은 {@link android.preference.DialogPreference}를 확장하여
 대화를 표시하도록 합니다. 이렇게 하면 절차가 단순해집니다. {@link
 android.preference.DialogPreference}를 확장하는 경우에는 클래스 생성자 중에 반드시 {@link
-android.preference.DialogPreference#setDialogLayoutResource setDialogLayoutResourcs()}를 호출하여 
+android.preference.DialogPreference#setDialogLayoutResource setDialogLayoutResourcs()}를 호출하여
 대화에 대한 레이아웃을 지정해야 합니다.</p>
 
   <p>예를 들어 다음은 레이아웃을 선언하는 사용자 지정 {@link
-android.preference.DialogPreference}와 기본 
+android.preference.DialogPreference}와 기본
 긍정적 및 부정적 대화 버튼에 대한 텍스트를 지정하는 생성자입니다.</p>
 
 <pre>
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -992,21 +992,21 @@
 
 <p>설정에 대한 값은 언제든 저장할 수 있습니다. {@link
 android.preference.Preference} 클래스의 {@code persist*()} 메서드 중 하나를 호출하기만 하면 됩니다. 예를 들어 설정의 값이 정수인 경우 {@link
-android.preference.Preference#persistInt persistInt()}를, 부울을 저장하려면 
+android.preference.Preference#persistInt persistInt()}를, 부울을 저장하려면
 {@link android.preference.Preference#persistBoolean persistBoolean()}을 호출하십시오.</p>
 
-<p class="note"><strong>참고:</strong> 각각의 {@link android.preference.Preference}는 데이터 유형 하나씩만 
-저장할 수 있으므로, 사용자 지정 
+<p class="note"><strong>참고:</strong> 각각의 {@link android.preference.Preference}는 데이터 유형 하나씩만
+저장할 수 있으므로, 사용자 지정
 {@link android.preference.Preference}에서 사용한 데이터 유형에 적절한 {@code persist*()} 메서드를 사용해야 합니다.</p>
 
 <p>설정을 유지하기로 선택하는 시점은 확장하는 지점이 {@link
 android.preference.Preference} 클래스인지에 좌우될 수 있습니다. {@link
-android.preference.DialogPreference}를 확장하면 값을 유지하는 것은 대화가 긍정적인 결과로 인해 
+android.preference.DialogPreference}를 확장하면 값을 유지하는 것은 대화가 긍정적인 결과로 인해
 닫히는 경우만으로 국한해야 합니다(사용자가 "확인(OK)" 버튼을 선택하는 경우).</p>
 
 <p>{@link android.preference.DialogPreference}가 닫히면 시스템이 {@link
-android.preference.DialogPreference#onDialogClosed onDialogClosed()} 메서드를 호출합니다. 이 메서드에는 
-부울 인수가 포함되어 있어 사용자의 결과가 "긍정적"인지 아닌지를 나타냅니다. 이 값이 
+android.preference.DialogPreference#onDialogClosed onDialogClosed()} 메서드를 호출합니다. 이 메서드에는
+부울 인수가 포함되어 있어 사용자의 결과가 "긍정적"인지 아닌지를 나타냅니다. 이 값이
 <code>true</code>인 경우, 사용자가 긍정적 버튼을 선택한 것이고 새 값을 저장해야 합니다. 예:
 </p>
 
@@ -1020,29 +1020,29 @@
 }
 </pre>
 
-<p>이 예시에서 <code>mNewValue</code>는 설정의 현재 값을 보유한 클래스 
-구성원입니다. {@link android.preference.Preference#persistInt persistInt()}를 호출하면 
-{@link android.content.SharedPreferences} 파일에 대한 값을 저장합니다(이 
+<p>이 예시에서 <code>mNewValue</code>는 설정의 현재 값을 보유한 클래스
+구성원입니다. {@link android.preference.Preference#persistInt persistInt()}를 호출하면
+{@link android.content.SharedPreferences} 파일에 대한 값을 저장합니다(이
 {@link android.preference.Preference}에 대하여 XML 파일에 지정된 키를 자동으로 사용합니다).</p>
 
 
 <h3 id="CustomInitialize">현재 값 초기화하기</h3>
 
-<p>시스템이 {@link android.preference.Preference}를 화면에 추가하는 경우, 이는 
-{@link android.preference.Preference#onSetInitialValue onSetInitialValue()}를 호출하여 
-설정에 유지된 값이 있는지 없는지를 알립니다. 유지된 값이 없는 경우, 이 호출은 기본 값을 
+<p>시스템이 {@link android.preference.Preference}를 화면에 추가하는 경우, 이는
+{@link android.preference.Preference#onSetInitialValue onSetInitialValue()}를 호출하여
+설정에 유지된 값이 있는지 없는지를 알립니다. 유지된 값이 없는 경우, 이 호출은 기본 값을
 제공합니다.</p>
 
-<p>{@link android.preference.Preference#onSetInitialValue onSetInitialValue()} 메서드는 
-부울 값 <code>restorePersistedValue</code>를 전달하여 해당 설정에 대해 이미 어떤 값이 유지되었는지 
-아닌지를 나타냅니다. 만일 이것이 <code>true</code>라면, 유지된 값을 검색하되 
+<p>{@link android.preference.Preference#onSetInitialValue onSetInitialValue()} 메서드는
+부울 값 <code>restorePersistedValue</code>를 전달하여 해당 설정에 대해 이미 어떤 값이 유지되었는지
+아닌지를 나타냅니다. 만일 이것이 <code>true</code>라면, 유지된 값을 검색하되
 {@link
 android.preference.Preference} 클래스의 {@code getPersisted*()} 메서드 중 하나를 호출하는 방법을 써야 합니다. 예를 들어 정수 값이라면 {@link
-android.preference.Preference#getPersistedInt getPersistedInt()}를 사용합니다. 보통은 
-유지된 값을 검색하여, UI에 이전에 저장된 값을 반영하여 이를 적절하게 업데이트할 수 
+android.preference.Preference#getPersistedInt getPersistedInt()}를 사용합니다. 보통은
+유지된 값을 검색하여, UI에 이전에 저장된 값을 반영하여 이를 적절하게 업데이트할 수
 있도록 하는 것이 좋습니다.</p>
 
-<p><code>restorePersistedValue</code>가 <code>false</code>인 경우, 
+<p><code>restorePersistedValue</code>가 <code>false</code>인 경우,
 두 번째 인수로 전달된 기본 값을 사용해야 합니다.</p>
 
 <pre>
@@ -1059,22 +1059,22 @@
 }
 </pre>
 
-<p>각 {@code getPersisted*()} 메서드는 기본 값을 나타내는 인수를 취하여 
-사실은 유지된 값이 전혀 없거나 키 자체가 존재하지 않는 경우 사용하도록 합니다. 위의 
+<p>각 {@code getPersisted*()} 메서드는 기본 값을 나타내는 인수를 취하여
+사실은 유지된 값이 전혀 없거나 키 자체가 존재하지 않는 경우 사용하도록 합니다. 위의
 예시에서는 혹시 {@link
 android.preference.Preference#getPersistedInt getPersistedInt()}가 유지된 값을 반환할 수 없는 경우에 사용하도록 기본 값을 나타내는 데 로컬 상수를 사용하였습니다.</p>
 
-<p class="caution"><strong>주의:</strong> {@code getPersisted*()} 메서드에서는 
-<code>defaultValue</code>를 기본 값으로 사용하면 <strong>안 됩니다</strong>. 이것의 값은 
+<p class="caution"><strong>주의:</strong> {@code getPersisted*()} 메서드에서는
+<code>defaultValue</code>를 기본 값으로 사용하면 <strong>안 됩니다</strong>. 이것의 값은
 <code>restorePersistedValue</code>가 <code>true</code>이면 항상 null이기 때문입니다.</p>
 
 
 <h3 id="CustomDefault">기본 값 제공하기</h3>
 
 <p>{@link android.preference.Preference} 클래스의 인스턴스가 기본 값을 나타내는 경우
-({@code android:defaultValue} 속성으로), 시스템은 
+({@code android:defaultValue} 속성으로), 시스템은
 값을 검색하기 위해 객체를 인스턴트화할 때 {@link android.preference.Preference#onGetDefaultValue
-onGetDefaultValue()}를 호출합니다. 이 메서드를 구현해야 
+onGetDefaultValue()}를 호출합니다. 이 메서드를 구현해야
 시스템이 {@link
 android.content.SharedPreferences}에 있는 기본 값을 저장할 수 있습니다. 예:</p>
 
@@ -1085,9 +1085,9 @@
 }
 </pre>
 
-<p>이 메서드 인수가 여러분에게 필요한 모든 것을 제공합니다. 즉 속성 배열과 
-{@code android:defaultValue}의 위치로, 이는 반드시 검색해야 합니다. 이 메서드를 
-반드시 구현하여 속성에서 기본 값을 추출해야만 하는 이유는 값이 정의되지 않은 경우, 속성에 대한 
+<p>이 메서드 인수가 여러분에게 필요한 모든 것을 제공합니다. 즉 속성 배열과
+{@code android:defaultValue}의 위치로, 이는 반드시 검색해야 합니다. 이 메서드를
+반드시 구현하여 속성에서 기본 값을 추출해야만 하는 이유는 값이 정의되지 않은 경우, 속성에 대한
 로컬 기본 값을 꼭 지정해야 하기 때문입니다.</p>
 
 
@@ -1095,25 +1095,25 @@
 <h3 id="CustomSaveState">기본 설정의 상태 저장 및 복원하기</h3>
 
 <p>레이아웃에서의 {@link android.view.View}와 마찬가지로 {@link android.preference.Preference}
-하위 클래스가 액티비티 또는 프래그먼트가 재시작했을 때 
-그 상태를 저장하고 복원하는 역할을 맡습니다(예를 들어 사용자가 화면을 돌리는 경우 등). 
-{@link android.preference.Preference} 클래스의 상태를 적절하게 저장하고 복원하려면, 
+하위 클래스가 액티비티 또는 프래그먼트가 재시작했을 때
+그 상태를 저장하고 복원하는 역할을 맡습니다(예를 들어 사용자가 화면을 돌리는 경우 등).
+{@link android.preference.Preference} 클래스의 상태를 적절하게 저장하고 복원하려면,
 수명 주기 콜백 메서드 {@link android.preference.Preference#onSaveInstanceState
 onSaveInstanceState()} 및 {@link
 android.preference.Preference#onRestoreInstanceState onRestoreInstanceState()}를 구현해야 합니다.</p>
 
-<p>{@link android.preference.Preference}의 상태를 정의하는 것은 
-{@link android.os.Parcelable} 인터페이스를 구현하는 객체입니다. Android 프레임워크는 
+<p>{@link android.preference.Preference}의 상태를 정의하는 것은
+{@link android.os.Parcelable} 인터페이스를 구현하는 객체입니다. Android 프레임워크는
 그러한 객체를 제공하여 상태 객체를 정의하는 데 일종의 시작 지점으로 사용하도록 하고 있습니다. 즉 {@link
 android.preference.Preference.BaseSavedState} 클래스가 이에 해당됩니다.</p>
 
-<p>{@link android.preference.Preference} 클래스가 자신의 상태를 저장하는 방법을 정의하려면 
-{@link android.preference.Preference.BaseSavedState} 클래스를 확장해야 합니다. 아주 약간의 메서드를 재정의하고 
+<p>{@link android.preference.Preference} 클래스가 자신의 상태를 저장하는 방법을 정의하려면
+{@link android.preference.Preference.BaseSavedState} 클래스를 확장해야 합니다. 아주 약간의 메서드를 재정의하고
 {@link android.preference.Preference.BaseSavedState#CREATOR}
 객체를 정의해야 합니다.</p>
 
-<p>대부분의 앱에서는 다음과 같은 구현을 복사한 다음, 
-{@code value}를 처리하는 줄만 변경하면 됩니다. 이는 {@link android.preference.Preference} 하위 클래스가 정수보다는 데이터 
+<p>대부분의 앱에서는 다음과 같은 구현을 복사한 다음,
+{@code value}를 처리하는 줄만 변경하면 됩니다. 이는 {@link android.preference.Preference} 하위 클래스가 정수보다는 데이터
 유형을 저장하는 경우 해당됩니다.</p>
 
 <pre>
@@ -1154,11 +1154,11 @@
 }
 </pre>
 
-<p>위의 {@link android.preference.Preference.BaseSavedState} 구현을 앱에 
-추가하고 나면(주로 {@link android.preference.Preference} 하위 클래스의 하위 클래스로), 이제 
+<p>위의 {@link android.preference.Preference.BaseSavedState} 구현을 앱에
+추가하고 나면(주로 {@link android.preference.Preference} 하위 클래스의 하위 클래스로), 이제
 {@link android.preference.Preference#onSaveInstanceState
 onSaveInstanceState()} 및 {@link
-android.preference.Preference#onRestoreInstanceState onRestoreInstanceState()} 메서드를 구현해야 합니다. 이것은 
+android.preference.Preference#onRestoreInstanceState onRestoreInstanceState()} 메서드를 구현해야 합니다. 이것은
 {@link android.preference.Preference} 하위 클래스를 위한 것입니다.</p>
 
 <p>예:</p>
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/ko/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/ko/guide/topics/ui/ui-events.jd
index b059bd2..427051c 100644
--- a/docs/html-intl/intl/ko/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/ko/guide/topics/ui/ui-events.jd
@@ -16,67 +16,67 @@
 </div>
 </div>
 
-<p>Android에는 사용자와 애플리케이션의 상호 작용으로부터 이벤트를 가로채는 방법이 여러 가지 있습니다. 
-사용자 인터페이스 내의 이벤트가 관련된 경우, 이러한 방식은 이벤트를 사용자가 상호 작용하는 
+<p>Android에는 사용자와 애플리케이션의 상호 작용으로부터 이벤트를 가로채는 방법이 여러 가지 있습니다.
+사용자 인터페이스 내의 이벤트가 관련된 경우, 이러한 방식은 이벤트를 사용자가 상호 작용하는
 특정 보기 객체로부터 캡처하는 것입니다. 이에 필요한 수단은 보기 클래스가 제공합니다.</p>
 
-<p>레이아웃을 작성하는 데 사용하게 되는 여러 가지 보기 클래스 안을 보면 UI 이벤트에 유용해 보이는 공개 콜백 
-메서드가 여러 개 있는 것이 눈에 띕니다. 이러한 메서드는 해당 객체에서 각각의 작업이 발생할 때 Android 프레임워크가 
-호출하는 것입니다. 예를 들어 보기(예: 버튼)를 하나 터치하면 
-해당 객체에서 <code>onTouchEvent()</code> 메서드가 호출됩니다. 그러나 이것을 가로채려면 클래스를 확장하고 
-메서드를 재정의해야 합니다. 다만 그런 이벤트를 처리하기 위해 모든 보기 객체를 
-다 확장하는 것은 타당성이 없습니다. 이 때문에 보기 클래스에 
-일련의 중첩된 인터페이스가 있고 거기에 훨씬 쉽게 정의할 수 있는 콜백에 있습니다. 이와 같은 
+<p>레이아웃을 작성하는 데 사용하게 되는 여러 가지 보기 클래스 안을 보면 UI 이벤트에 유용해 보이는 공개 콜백
+메서드가 여러 개 있는 것이 눈에 띕니다. 이러한 메서드는 해당 객체에서 각각의 작업이 발생할 때 Android 프레임워크가
+호출하는 것입니다. 예를 들어 보기(예: 버튼)를 하나 터치하면
+해당 객체에서 <code>onTouchEvent()</code> 메서드가 호출됩니다. 그러나 이것을 가로채려면 클래스를 확장하고
+메서드를 재정의해야 합니다. 다만 그런 이벤트를 처리하기 위해 모든 보기 객체를
+다 확장하는 것은 타당성이 없습니다. 이 때문에 보기 클래스에
+일련의 중첩된 인터페이스가 있고 거기에 훨씬 쉽게 정의할 수 있는 콜백에 있습니다. 이와 같은
 인터페이스를 일명 <a href="#EventListeners">이벤트 수신기</a>라고 하는데, 이것이 UI와 사용자 상호 작용을 캡처하는 데 아주 적합합니다.</p>
 
-<p>사용자 상호 작용을 수신 대기하는 데에는 이벤트 수신기를 사용하는 것이 좀 더 보편적이지만, 사용자 지정 
-구성 요소를 구축하기 위해 보기 클래스를 확장하고자 하는 상황이 올 수도 있습니다. 
+<p>사용자 상호 작용을 수신 대기하는 데에는 이벤트 수신기를 사용하는 것이 좀 더 보편적이지만, 사용자 지정
+구성 요소를 구축하기 위해 보기 클래스를 확장하고자 하는 상황이 올 수도 있습니다.
 어쩌면 {@link android.widget.Button}
-클래스를 확장하여 무언가 더 복잡한 것을 만들고자 할 수도 있습니다. 이런 경우, 클래스에 대한 기본 이벤트 행동을 클래스 
+클래스를 확장하여 무언가 더 복잡한 것을 만들고자 할 수도 있습니다. 이런 경우, 클래스에 대한 기본 이벤트 행동을 클래스
 <a href="#EventHandlers">이벤트 처리기</a>를 사용하여 정의할 수 있습니다.</p>
 
 
 <h2 id="EventListeners">이벤트 수신기</h2>
 
-<p>이벤트 수신기란 {@link android.view.View} 클래스 내에 있는 일종의 인터페이스로, 이 안에 하나의 
-콜백 메서드가 들어있습니다. 이러한 메서드는 수신기가 등록된 보기가 UI 안의 항목과 사용자의 상호 작용으로 인하여 트리거되었을 때 
+<p>이벤트 수신기란 {@link android.view.View} 클래스 내에 있는 일종의 인터페이스로, 이 안에 하나의
+콜백 메서드가 들어있습니다. 이러한 메서드는 수신기가 등록된 보기가 UI 안의 항목과 사용자의 상호 작용으로 인하여 트리거되었을 때
 Android 프레임워크가 호출하는 것입니다.</p>
 
 <p>이벤트 수신기 인터페이스에 포함된 콜백 메서드는 다음과 같습니다.</p>
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>{@link android.view.View.OnClickListener}에서 온 것입니다. 
+    <dd>{@link android.view.View.OnClickListener}에서 온 것입니다.
 이것이 호출되는 것은 사용자가 항목을 터치하거나
-(터치 모드에 있을 때), 탐색 키 또는 트랙볼을 사용하여 해당 항목에 초점을 맞추고 있으면서 
+(터치 모드에 있을 때), 탐색 키 또는 트랙볼을 사용하여 해당 항목에 초점을 맞추고 있으면서
 적절한 "엔터" 키를 누르거나 트랙볼을 꾹 누를 때입니다.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>{@link android.view.View.OnLongClickListener}에서 온 것입니다. 
-이것이 호출되는 것은 사용자가 항목을 길게 누르거나(터치 모드에 있을 때), 
-탐색 키 또는 트랙볼을 사용하여 해당 항목에 초점을 맞추고 있으면서 
+    <dd>{@link android.view.View.OnLongClickListener}에서 온 것입니다.
+이것이 호출되는 것은 사용자가 항목을 길게 누르거나(터치 모드에 있을 때),
+탐색 키 또는 트랙볼을 사용하여 해당 항목에 초점을 맞추고 있으면서
 적절한 "엔터" 키를 누르거나 트랙볼을 꾹 누를 때입니다(일 초간).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>{@link android.view.View.OnFocusChangeListener}에서 온 것입니다. 
+    <dd>{@link android.view.View.OnFocusChangeListener}에서 온 것입니다.
 이것이 호출되는 것은 사용자가 탐색 키 또는 트랙볼을 사용하여 항목 쪽으로 이동하거나 항목에서 멀어질 때입니다.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>{@link android.view.View.OnKeyListener}에서 온 것입니다. 
+    <dd>{@link android.view.View.OnKeyListener}에서 온 것입니다.
 이것이 호출되는 것은 사용자가 항목에 초점을 맞추고 있으면서 기기에 있는 하드웨어 키를 누르거나 키에서 손을 떼는 경우입니다.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>{@link android.view.View.OnTouchListener}에서 온 것입니다. 
-이것이 호출되는 것은 사용자가 터치 이벤트로서의 자격을 만족하는 작업을 수행하는 경우로, 여기에 
+    <dd>{@link android.view.View.OnTouchListener}에서 온 것입니다.
+이것이 호출되는 것은 사용자가 터치 이벤트로서의 자격을 만족하는 작업을 수행하는 경우로, 여기에
 누르기, 손 떼기와 화면에서 이루어지는 모든 움직임 동작(항목의 경계 내에서)이 포함됩니다.</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>{@link android.view.View.OnCreateContextMenuListener}에서 온 것입니다. 
-이것을 호출하는 것은 컨텍스트 메뉴가 구축되는 중일 때입니다(정체된 "롱 클릭"의 결과로). 
+    <dd>{@link android.view.View.OnCreateContextMenuListener}에서 온 것입니다.
+이것을 호출하는 것은 컨텍스트 메뉴가 구축되는 중일 때입니다(정체된 "롱 클릭"의 결과로).
 <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">메뉴</a>
  개발자 가이드에 있는 컨텍스트 메뉴 관련 논의를 참조하십시오.</dd>
 </dl>
 
-<p>이러한 메서드는 각자의 인터페이스 안에 거주하는 유일한 주민입니다. 이러한 메서드 중 하나를 
-정의하고 이벤트를 처리하려면 액티비티 내의 중첩된 인터페이스를 구현하거나 익명의 클래스로 정의하면 됩니다. 
-그런 다음 구현의 인스턴스 하나를 
-각각의 <code>View.set...Listener()</code> 메서드에 전달하십시오 (예: 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>를 
+<p>이러한 메서드는 각자의 인터페이스 안에 거주하는 유일한 주민입니다. 이러한 메서드 중 하나를
+정의하고 이벤트를 처리하려면 액티비티 내의 중첩된 인터페이스를 구현하거나 익명의 클래스로 정의하면 됩니다.
+그런 다음 구현의 인스턴스 하나를
+각각의 <code>View.set...Listener()</code> 메서드에 전달하십시오 (예:
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>를
 호출한 다음 이를 {@link android.view.View.OnClickListener OnClickListener}의 구현에 전달합니다).</p>
 
 <p>아래의 예시는 버튼에 대하여 온-클릭 수신기를 등록하는 방법을 나타낸 것입니다. </p>
@@ -117,57 +117,57 @@
 }
 </pre>
 
-<p>위의 예시에서 <code>onClick()</code> 콜백에는 
-반환 값이 없지만 다른 이벤트 수신기 메서드 중에는 부울 값을 반환해야만 하는 것도 있다는 점을 유의하십시오. 그 이유는 이벤트에 따라 
+<p>위의 예시에서 <code>onClick()</code> 콜백에는
+반환 값이 없지만 다른 이벤트 수신기 메서드 중에는 부울 값을 반환해야만 하는 것도 있다는 점을 유의하십시오. 그 이유는 이벤트에 따라
 다릅니다. 이런 필수 사항이 적용되는 몇몇 메서드의 경우, 이유는 다음과 같습니다.</p>
 <ul>
-  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> - 
-이것은 부울 값을 반환하여 이벤트를 완전히 사용하였으며 더 이상 이를 담지 않아도 되는지 여부를 나타냅니다. 
-다시 말해, <em>참</em>을 반환하면 이벤트를 처리했으며 여기에서 중단해야 한다는 것을 의미하며 
-<em>거짓</em>을 반환하면 이벤트가 아직 미처리 상태이며/거나 이 이벤트를 다른 
-온-클릭 수신기로 계속 진행해야 할지 나타내는 것입니다.</li>
-  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> - 
+  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> -
 이것은 부울 값을 반환하여 이벤트를 완전히 사용하였으며 더 이상 이를 담지 않아도 되는지 여부를 나타냅니다.
-    다시 말해, <em>참</em>을 반환하면 이벤트를 처리했으며 여기에서 중단해야 한다는 것을 의미하며 
-<em>거짓</em>을 반환하면 이벤트가 아직 미처리 상태이며/거나 이 이벤트를 다른 
+다시 말해, <em>참</em>을 반환하면 이벤트를 처리했으며 여기에서 중단해야 한다는 것을 의미하며
+<em>거짓</em>을 반환하면 이벤트가 아직 미처리 상태이며/거나 이 이벤트를 다른
+온-클릭 수신기로 계속 진행해야 할지 나타내는 것입니다.</li>
+  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> -
+이것은 부울 값을 반환하여 이벤트를 완전히 사용하였으며 더 이상 이를 담지 않아도 되는지 여부를 나타냅니다.
+    다시 말해, <em>참</em>을 반환하면 이벤트를 처리했으며 여기에서 중단해야 한다는 것을 의미하며
+<em>거짓</em>을 반환하면 이벤트가 아직 미처리 상태이며/거나 이 이벤트를 다른
 온-키 수신기로 계속 진행해야 할지 나타내는 것입니다.</li>
-  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> - 
-이것은 부울 값을 반환하여 수신기가 이 이벤트를 사용하는지 아닌지를 나타냅니다. 여기서 중요한 점은 
-이 이벤트에는 서로 연달아 발생하는 여러 개의 작업이 있을 수 있다는 것입니다. 그러므로 '아래로' 작업 이벤트를 수신했을 때 <em>거짓</em>을 반환하면, 
-해당 이벤트를 사용하지 않았으며 이 이벤트로부터 이어지는 이후의 작업에 
-흥미가 없음을 나타내는 것이 됩니다. 따라서 이 이벤트 내의 다른 모든 작업에 대해 
+  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> -
+이것은 부울 값을 반환하여 수신기가 이 이벤트를 사용하는지 아닌지를 나타냅니다. 여기서 중요한 점은
+이 이벤트에는 서로 연달아 발생하는 여러 개의 작업이 있을 수 있다는 것입니다. 그러므로 '아래로' 작업 이벤트를 수신했을 때 <em>거짓</em>을 반환하면,
+해당 이벤트를 사용하지 않았으며 이 이벤트로부터 이어지는 이후의 작업에
+흥미가 없음을 나타내는 것이 됩니다. 따라서 이 이벤트 내의 다른 모든 작업에 대해
 호출되지 않습니다(예: 손가락 동작 또는 최종적인 '위로' 작업 이벤트 등).</li>
 </ul>
 
-<p>하드웨어 키 이벤트는 항상 현재 초점의 중심에 있는 보기로 전달된다는 점을 명심하십시오. 이들은 보기 계층의 맨 위에서 시작하여 
-아래 방향으로 발송되어 적절한 목적지에 도달할 때까지 계속합니다. 보기(또는 보기의 하위)에 
+<p>하드웨어 키 이벤트는 항상 현재 초점의 중심에 있는 보기로 전달된다는 점을 명심하십시오. 이들은 보기 계층의 맨 위에서 시작하여
+아래 방향으로 발송되어 적절한 목적지에 도달할 때까지 계속합니다. 보기(또는 보기의 하위)에
 현재 초점이 맞춰져 있으면, 이벤트가 <code>{@link android.view.View#dispatchKeyEvent(KeyEvent)
-dispatchKeyEvent()}</code> 메서드를 통과하여 이동하는 것을 확인할 수 있습니다. 보기를 통해 키 이벤트를 캡처하는 대신, 액티비티 내부의 모든 이벤트를 <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>및 
+dispatchKeyEvent()}</code> 메서드를 통과하여 이동하는 것을 확인할 수 있습니다. 보기를 통해 키 이벤트를 캡처하는 대신, 액티비티 내부의 모든 이벤트를 <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>및
 
 <code>{@link android.app.Activity#onKeyUp(int,KeyEvent) onKeyUp()}</code>을 사용하여 수신할 수도 있습니다.</p>
 
-<p>또한, 애플리케이션에 대한 텍스트 입력의 경우 대다수의 기기에는 소프트웨어 입력 메서드만 있다는 사실을 
-명심하십시오. 그러한 메서드는 반드시 키 기반이 아니어도 됩니다. 음성 입력, 손글씨 등을 사용하는 것도 있습니다. 입력 
-메서드가 키보드 같은 인터페이스를 표시하더라도 일반적으로 
-<code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code> 이벤트군을 트리거하지는 <strong>않습니다</strong>. 특정 키 누름을 
-제어해야만 하는 UI는 절대 구축하면 안 됩니다. 이렇게 하면 애플리케이션이 하드웨어 키보드가 있는 
-기기에만 한정됩니다. 특히, 사용자가 리턴 키를 누르면 입력의 유효성을 검사하는 데 이와 같은 메서드에 
-의존해서는 안 됩니다. 대신, {@link android.view.inputmethod.EditorInfo#IME_ACTION_DONE}과 같은 작업을 사용하여 애플리케이션이 반응할 것으로 기대되는 방식에 해당되는 
-입력 메서드를 신호하여 의미 있는 방식으로 UI를 변경할 수 있게 하는 것이 좋습니다. 소프트웨어 입력 메서드가 
+<p>또한, 애플리케이션에 대한 텍스트 입력의 경우 대다수의 기기에는 소프트웨어 입력 메서드만 있다는 사실을
+명심하십시오. 그러한 메서드는 반드시 키 기반이 아니어도 됩니다. 음성 입력, 손글씨 등을 사용하는 것도 있습니다. 입력
+메서드가 키보드 같은 인터페이스를 표시하더라도 일반적으로
+<code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code> 이벤트군을 트리거하지는 <strong>않습니다</strong>. 특정 키 누름을
+제어해야만 하는 UI는 절대 구축하면 안 됩니다. 이렇게 하면 애플리케이션이 하드웨어 키보드가 있는
+기기에만 한정됩니다. 특히, 사용자가 리턴 키를 누르면 입력의 유효성을 검사하는 데 이와 같은 메서드에
+의존해서는 안 됩니다. 대신, {@link android.view.inputmethod.EditorInfo#IME_ACTION_DONE}과 같은 작업을 사용하여 애플리케이션이 반응할 것으로 기대되는 방식에 해당되는
+입력 메서드를 신호하여 의미 있는 방식으로 UI를 변경할 수 있게 하는 것이 좋습니다. 소프트웨어 입력 메서드가
 어떻게 작동할지 임의로 추정하지 마시고, 이미 서식 지정된 텍스트를 애플리케이션에 제공해줄 것이라 믿으면 됩니다.</p>
 
-<p class="note"><strong>참고:</strong> Androids는 우선 이벤트 처리기부터 호출하고, 그 다음에 클래스 정의로부터 가져온 
-적절한 기본 처리기를 두 번째로 호출합니다. 따라서, 이와 같은 이벤트 수신기에서 <em>참</em>을 반환하면 이벤트가 
-다른 이벤트 수신기로 전파되는 것을 중지시킬 뿐만 아니라 보기에 있는 
+<p class="note"><strong>참고:</strong> Androids는 우선 이벤트 처리기부터 호출하고, 그 다음에 클래스 정의로부터 가져온
+적절한 기본 처리기를 두 번째로 호출합니다. 따라서, 이와 같은 이벤트 수신기에서 <em>참</em>을 반환하면 이벤트가
+다른 이벤트 수신기로 전파되는 것을 중지시킬 뿐만 아니라 보기에 있는
 기본 이벤트 처리기로의 콜백도 차단하게 됩니다. 따라서 <em>참</em>을 반환하는 경우 해당 이벤트를 종료하고 싶은 것인지 확신해야 합니다.</p>
 
 
 <h2 id="EventHandlers">이벤트 처리기</h2>
 
-<p>보기에서 사용자 지정 구성 요소를 구축하는 경우, 기본 이벤트 처리기로 사용될 콜백 메서드를 
+<p>보기에서 사용자 지정 구성 요소를 구축하는 경우, 기본 이벤트 처리기로 사용될 콜백 메서드를
 여러 개 정의할 수 있게 됩니다.
 <a href="{@docRoot}guide/topics/ui/custom-components.html">사용자 지정
-구성 요소</a>에 대한 문서를 보면 이벤트 처리에 사용되는 몇 가지 보편적인 콜백을 확인할 수 있습니다. 
+구성 요소</a>에 대한 문서를 보면 이벤트 처리에 사용되는 몇 가지 보편적인 콜백을 확인할 수 있습니다.
 다음은 그 몇 가지 예입니다.</p>
 <ul>
   <li><code>{@link  android.view.View#onKeyDown}</code> - 새로운 키 이벤트가 발생하면 호출합니다.</li>
@@ -176,68 +176,68 @@
   <li><code>{@link  android.view.View#onTouchEvent}</code> - 터치 스크린 동작 이벤트가 발생하면 호출합니다.</li>
   <li><code>{@link  android.view.View#onFocusChanged}</code> - 보기가 초점을 취하거나 이를 잃으면 호출합니다.</li>
 </ul>
-<p>개발자 여러분이 알아두어야 하는 다른 메서드가 몇 가지 더 있습니다. 이들은 보기 클래스의 일부분이 아니지만, 
-이벤트를 처리할 수 있는 방식에 직접적으로 영향을 미칠 수 있는 것들입니다. 그러니, 레이아웃 안에서 좀 더 복잡한 이벤트를 관리하는 경우, 
+<p>개발자 여러분이 알아두어야 하는 다른 메서드가 몇 가지 더 있습니다. 이들은 보기 클래스의 일부분이 아니지만,
+이벤트를 처리할 수 있는 방식에 직접적으로 영향을 미칠 수 있는 것들입니다. 그러니, 레이아웃 안에서 좀 더 복잡한 이벤트를 관리하는 경우,
 이와 같은 다른 메서드도 고려하십시오.</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> - 이것을 사용하면 {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> - 이것을 사용하면 {@link
     android.app.Activity}로 하여금 모든 터치 이벤트가 창으로 발송되기 전에 이들을 가로채도록 할 수 있습니다.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - 이것을 사용하면 {@link
     android.view.ViewGroup}으로 하여금 이벤트가 하위 보기로 발송되는 것을 지켜보도록 할 수 있습니다.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
-    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - 이것을 
-호출하는 것은 상위 보기에 <code>{@link 
+    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - 이것을
+호출하는 것은 상위 보기에 <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>가 있는 터치 이벤트를 가로채면 안 된다고 나타낼 때입니다.</li>
 </ul>
 
 <h2 id="TouchMode">터치 모드</h2>
 <p>
-사용자가 방향 키 또는 트랙볼을 사용하여 사용자 인터페이스를 탐색하고 있는 경우, 
-조치 가능한 항목(예: 버튼)에 초점을 맞춰 어느 것이 입력을 허용할지 사용자가 
-볼 수 있도록 해야 합니다.  하지만 기기에 터치 기능이 있고 사용자가 
-인터페이스를 터치하여 인터페이스와의 상호 작용을 시작하는 경우라면, 더 이상 항목을 강조 표시하거나 
-특정 보기에 초점을 맞추지 않아도 됩니다.  따라서 "터치 모드"라고 불리는 상호 작용에 대한 
-모드가 따로 있습니다. 
+사용자가 방향 키 또는 트랙볼을 사용하여 사용자 인터페이스를 탐색하고 있는 경우,
+조치 가능한 항목(예: 버튼)에 초점을 맞춰 어느 것이 입력을 허용할지 사용자가
+볼 수 있도록 해야 합니다.  하지만 기기에 터치 기능이 있고 사용자가
+인터페이스를 터치하여 인터페이스와의 상호 작용을 시작하는 경우라면, 더 이상 항목을 강조 표시하거나
+특정 보기에 초점을 맞추지 않아도 됩니다.  따라서 "터치 모드"라고 불리는 상호 작용에 대한
+모드가 따로 있습니다.
 </p>
 <p>
-터치 기능이 있는 기기의 경우, 사용자가 화면을 터치하면 기기가 터치 모드에 
-진입하게 됩니다.  이 시점부터는 
-{@link android.view.View#isFocusableInTouchMode}가 참인 보기에만 초점을 맞출 수 있습니다. 예를 들어 텍스트 편집 위젯이 이에 해당됩니다. 
-버튼처럼 터치할 수 있는 다른 보기의 경우 터치해도 주의를 끌 수 없으며 이를 누르면 그저 
+터치 기능이 있는 기기의 경우, 사용자가 화면을 터치하면 기기가 터치 모드에
+진입하게 됩니다.  이 시점부터는
+{@link android.view.View#isFocusableInTouchMode}가 참인 보기에만 초점을 맞출 수 있습니다. 예를 들어 텍스트 편집 위젯이 이에 해당됩니다.
+버튼처럼 터치할 수 있는 다른 보기의 경우 터치해도 주의를 끌 수 없으며 이를 누르면 그저
 온-클릭 수신기를 실행시키기만 합니다.
 </p>
 <p>
-사용자가 방향 키를 누르거나 트랙볼로 스크롤 동작을 할 때마다 기기가 
-터치 모드를 종료하고 초점을 맞출 보기를 찾습니다. 이제 사용자는 사용자 인터페이스와 
+사용자가 방향 키를 누르거나 트랙볼로 스크롤 동작을 할 때마다 기기가
+터치 모드를 종료하고 초점을 맞출 보기를 찾습니다. 이제 사용자는 사용자 인터페이스와
 상호 작용을 재개해도 되며, 화면을 터치하지 않아도 됩니다.
 </p>
 <p>
-터치 모드 상태는 시스템 전체를 통틀어 유지됩니다(모든 창과 액티비티 포함). 
-현재 상태를 쿼리하려면 
+터치 모드 상태는 시스템 전체를 통틀어 유지됩니다(모든 창과 액티비티 포함).
+현재 상태를 쿼리하려면
 {@link android.view.View#isInTouchMode}를 호출하여 기기가 현재 터치 모드에 있는지 확인하면 됩니다.
 </p>
 
 
 <h2 id="HandlingFocus">초점 처리하기</h2>
 
-<p>프레임워크가 사용자 입력에 응답하여 일상적인 초점 이동을 처리합니다. 
-여기에는 보기가 제거되거나 숨겨지는 것, 또는 새 보기를 사용할 수 있게 됨에 따라 
-초점을 변경하는 것이 포함됩니다. 보기는 초점을 취하고자 하는 의향을 
-<code>{@link android.view.View#isFocusable()}</code> 메서드를 통해 나타냅니다. 보기가 초점을 취할 수 있는지 여부를 변경하려면 
-<code>{@link android.view.View#setFocusable(boolean) setFocusable()}</code>을 호출합니다.  터치 모드에 있는 경우, 
-어느 보기가 <code>{@link android.view.View#isFocusableInTouchMode()}</code>로 초점을 취하는 것을 허용하는지 여부를 쿼리할 수 있습니다. 
+<p>프레임워크가 사용자 입력에 응답하여 일상적인 초점 이동을 처리합니다.
+여기에는 보기가 제거되거나 숨겨지는 것, 또는 새 보기를 사용할 수 있게 됨에 따라
+초점을 변경하는 것이 포함됩니다. 보기는 초점을 취하고자 하는 의향을
+<code>{@link android.view.View#isFocusable()}</code> 메서드를 통해 나타냅니다. 보기가 초점을 취할 수 있는지 여부를 변경하려면
+<code>{@link android.view.View#setFocusable(boolean) setFocusable()}</code>을 호출합니다.  터치 모드에 있는 경우,
+어느 보기가 <code>{@link android.view.View#isFocusableInTouchMode()}</code>로 초점을 취하는 것을 허용하는지 여부를 쿼리할 수 있습니다.
 이것은 <code>{@link android.view.View#setFocusableInTouchMode(boolean) setFocusableInTouchMode()}</code>로 변경하면 됩니다.
 </p>
 
-<p>초점 이동은 주어진 방향에서 가장 가까운 이웃을 찾아내는 알고리즘을 기반으로 
-합니다. 드문 일이지만 기본 알고리즘이 개발자가 의도한 행동과 일치하지 않는 
-경우도 있습니다. 이러한 상황이라면, 레이아웃 파일에서 다음과 같은 XML 속성을 
+<p>초점 이동은 주어진 방향에서 가장 가까운 이웃을 찾아내는 알고리즘을 기반으로
+합니다. 드문 일이지만 기본 알고리즘이 개발자가 의도한 행동과 일치하지 않는
+경우도 있습니다. 이러한 상황이라면, 레이아웃 파일에서 다음과 같은 XML 속성을
 사용하여 명시적 재정의를 제공하면 됩니다.
 <var>nextFocusDown</var>, <var>nextFocusLeft</var>, <var>nextFocusRight</var>, 및
-<var>nextFocusUp</var>입니다. 이와 같은 속성 중 한 가지를 초점이 <em>떠나고</em> 있는 보기에 
-추가합니다. 속성의 값을 초점을 
+<var>nextFocusUp</var>입니다. 이와 같은 속성 중 한 가지를 초점이 <em>떠나고</em> 있는 보기에
+추가합니다. 속성의 값을 초점을
 <em>맞춰야 할</em> 보기의 ID가 되도록 정의합니다. 예:</p>
 <pre>
 &lt;LinearLayout
@@ -252,18 +252,18 @@
 &lt;/LinearLayout>
 </pre>
 
-<p>보통은 이런 수직 레이아웃에서 첫 버튼부터 위로 이동하면 아무 데도 갈 수 없고, 
-두 번째 버튼에서 아래로 이동해도 마찬가지입니다. 이제 맨 위 버튼이 맨 아래 버튼을 다음과 같이 
-정의했습니다. <var>nextFocusUp</var> (반대쪽도 마찬가지) 따라서 이동 초점은 위에서 아래로 갔다가 
+<p>보통은 이런 수직 레이아웃에서 첫 버튼부터 위로 이동하면 아무 데도 갈 수 없고,
+두 번째 버튼에서 아래로 이동해도 마찬가지입니다. 이제 맨 위 버튼이 맨 아래 버튼을 다음과 같이
+정의했습니다. <var>nextFocusUp</var> (반대쪽도 마찬가지) 따라서 이동 초점은 위에서 아래로 갔다가
 아래에서 위로 순환하게 됩니다.</p>
 
-<p>보기를 UI에서 초점을 맞출 수 있는 것으로 선언하고자 하는 경우(일반적으로는 그렇지 않음), 
-보기에 레이아웃 선언에서 <code>android:focusable</code> XML 속성을 추가합니다. 
-이 값을 <var>참</var>으로 설정합니다. 터치 모드에 있을 때에도 보기를 초점을 맞출 수 있는 것으로 
+<p>보기를 UI에서 초점을 맞출 수 있는 것으로 선언하고자 하는 경우(일반적으로는 그렇지 않음),
+보기에 레이아웃 선언에서 <code>android:focusable</code> XML 속성을 추가합니다.
+이 값을 <var>참</var>으로 설정합니다. 터치 모드에 있을 때에도 보기를 초점을 맞출 수 있는 것으로
 선언할 수 있습니다. <code>android:focusableInTouchMode</code>를 사용하면 됩니다.</p>
 <p>특정 보기에 초점을 맞추기를 요청하려면, <code>{@link android.view.View#requestFocus()}</code>를 호출하십시오.</p>
-<p>초점 이벤트를 수신 대기하려면(어떤 보기에 초점이 맞춰지거나 이를 잃는 경우 알림을 받으려면), 
-<code>{@link android.view.View.OnFocusChangeListener#onFocusChange(View,boolean) onFocusChange()}</code>를 사용하면 됩니다. 
+<p>초점 이벤트를 수신 대기하려면(어떤 보기에 초점이 맞춰지거나 이를 잃는 경우 알림을 받으려면),
+<code>{@link android.view.View.OnFocusChangeListener#onFocusChange(View,boolean) onFocusChange()}</code>를 사용하면 됩니다.
 이는 위의 <a href="#EventListeners">이벤트 수신기</a> 섹션에서 이야기한 바와 같습니다.</p>
 
 
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/ko/preview/api-overview.jd b/docs/html-intl/intl/ko/preview/api-overview.jd
index fdae4061..5cffdfb 100644
--- a/docs/html-intl/intl/ko/preview/api-overview.jd
+++ b/docs/html-intl/intl/ko/preview/api-overview.jd
@@ -311,7 +311,7 @@
 <h2 id="vulkan">Vulkan API</h2>
 
 <p>
-  Android N은 새로운 3D 렌더링 API인 <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>을 플랫폼에 통합합니다. 
+  Android N은 새로운 3D 렌더링 API인 <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>을 플랫폼에 통합합니다.
 <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
  ES</a>와 마찬가지로, Vulkan은 Khronos Group에 의해 관리되는 3D 그래픽 및 렌더링을 위한
  공개 표준입니다.
@@ -502,7 +502,7 @@
 이모티콘에 대한 시각적 표시를 제공해야 하며, 사용자가 선호하는 피부 색조를 선택하도록
 허용해야 합니다. 어떤 시스템 이모티콘에 피부 색조
 한정자가 있는지 확인하려면 {@link android.graphics.Paint#hasGlyph(String)}
-메서드를 사용하세요. 
+메서드를 사용하세요.
 <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
 유니코드 설명서</a>를 읽어보면 어떤 이모티콘에서 피부 색조가 사용되는지 확인할 수 있습니다.
   </li>
@@ -857,7 +857,7 @@
 앱 개발자는 N Developer Preview에 있는 이
 새 API를 Nexus 6P 기기에서만 시험해 볼 수 있습니다. 이 기능을 사용하려면
 지속적인 성능 모드에서 실행하려는 기간에 대해
-지속적인 성능 기간 플래그를 설정하세요. 
+지속적인 성능 기간 플래그를 설정하세요.
 {@code Window.setSustainedPerformanceMode()} 메서드를 사용하여 이 플래그를 설정하세요. 해당 기간이 포커스 안에 없을 때는
 이 모드가 자동으로 비활성화됩니다.
 </p>
diff --git a/docs/html-intl/intl/ko/preview/behavior-changes.jd b/docs/html-intl/intl/ko/preview/behavior-changes.jd
index 709ccfc..5d325e1 100644
--- a/docs/html-intl/intl/ko/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/ko/preview/behavior-changes.jd
@@ -167,7 +167,7 @@
  Android N 기기를 올바로 대상으로 삼을 수 있도록 이들 인텐트에 대한 종속성을 최대한 빨리 제거해야 합니다.
   Android 프레임워크는 이러한 암시적 브로드캐스트의
  필요성을 줄이기 위한 여러 가지 해결책을 제공합니다. 예를 들어, {@link
- android.app.job.JobScheduler} API는 지정된 조건(예: 
+ android.app.job.JobScheduler} API는 지정된 조건(예:
 고정 요금제 네트워크에 연결)이 충족될 경우 네트워크 운영을 예약할 수 있는
 강력한 메커니즘을 제공합니다. 심지어 {@link
  android.app.job.JobScheduler}를 사용하여 콘텐츠 공급자의 변경 사항에 대응할 수도 있습니다.
@@ -224,7 +224,7 @@
 대상으로 하는 앱은 {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}에 액세스할 때 {@link java.lang.SecurityException}을
 트리거합니다.
 
-    
+
 {@link
  android.app.DownloadManager.Request#setDestinationInExternalFilesDir
  DownloadManager.Request.setDestinationInExternalFilesDir()} 또는
@@ -562,7 +562,7 @@
 </li>
 
 <li>
-{@code Debug.startMethodTracing()} 계열에 속하는 메서드는, 
+{@code Debug.startMethodTracing()} 계열에 속하는 메서드는,
 SD 카드의 최상위 레벨에 저장하는 것이 아니라, 이제 공유 저장소의
 패키지별 디렉터리에 출력을 기본적으로
 저장합니다.  즉, 앱은 이들 API를 사용하기 위해 {@code WRITE_EXTERNAL_STORAGE} 권한을 요청할 필요가 더 이상 없습니다.
diff --git a/docs/html-intl/intl/ko/preview/features/direct-boot.jd b/docs/html-intl/intl/ko/preview/features/direct-boot.jd
index 981c3e0..2674481 100644
--- a/docs/html-intl/intl/ko/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/ko/preview/features/direct-boot.jd
@@ -18,7 +18,7 @@
 </div>
 </div>
 
-<p>기기에 전원이 들어와 있지만 <i>사용자가 기기의 잠금을 해제하지</i> 않았을 경우 Android N은 안전한 
+<p>기기에 전원이 들어와 있지만 <i>사용자가 기기의 잠금을 해제하지</i> 않았을 경우 Android N은 안전한
 직접 부팅
  모드에서 실행됩니다. 이를 지원하기 위해 시스템에서 다음과 같은 두 가지 데이터 저장소 위치를 제공합니다.</p>
 
@@ -125,7 +125,7 @@
 <h2 id="migrating">기존 데이터 마이그레이션</h2>
 
 <p>직접 부팅 모드를 사용하도록 사용자가 자신의 기기를 업데이트하는 경우,
-여러분이 기존 데이터를 기기 암호화 저장소로 마이그레이션해야 할 수도 있습니다. 
+여러분이 기존 데이터를 기기 암호화 저장소로 마이그레이션해야 할 수도 있습니다.
 <code>Context.moveSharedPreferencesFrom()</code>과
 <code>Context.moveDatabaseFrom()</code>을 사용하여 자격 증명 암호화 저장소와 기기 암호화 저장소 간에
 기본 설정과 데이터베이스 데이터를 마이그레이션합니다.</p>
diff --git a/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd b/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
index f626bff..921873d 100644
--- a/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
@@ -50,7 +50,7 @@
 
 <p>
   Android N은
-<code>com.ibm.icu</code>가 아니라 <code>android.icu</code> 패키지를 통해 ICU4J API의 하위 세트를 노출합니다. 
+<code>com.ibm.icu</code>가 아니라 <code>android.icu</code> 패키지를 통해 ICU4J API의 하위 세트를 노출합니다.
 Android 프레임워크는 여러 가지 이유로
 ICU4J API를 노출하지 않을 수 있습니다. 예컨대 Android N은
 일부 사용 중단된 API나 ICU 팀에서 안정적이라고 선언하지 않은 API를
diff --git a/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd b/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
index f353cc6..fa557bc 100644
--- a/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
@@ -81,7 +81,7 @@
 전송하는 역할을 담당합니다.</p>
 
 <p>시스템이 <code>RecordingSession.onTune()</code>을 호출하면
-채널 URI에 전달되고, URI가 지정하는 채널에 맞춰 조정됩니다. 
+채널 URI에 전달되고, URI가 지정하는 채널에 맞춰 조정됩니다.
 <code>notifyTuned()</code>를 호출해서 앱이 원하는 채널에 맞춰졌음을 시스템에 알리거나
 앱이 적절한 채널에 맞출 수 없으면
 <code>notifyError()</code>를 호출합니다.</p>
diff --git a/docs/html-intl/intl/ko/preview/setup-sdk.jd b/docs/html-intl/intl/ko/preview/setup-sdk.jd
index 03727a3..c2a0380 100644
--- a/docs/html-intl/intl/ko/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/ko/preview/setup-sdk.jd
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
diff --git a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/index.jd
index e66e8d1..4fd4af2 100644
--- a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/index.jd
@@ -35,11 +35,11 @@
 </div>
 
 <p>사용자가 앱을 탐색하고, 앱에서 나가고, 앱으로 다시 돌아가면, 앱의
-{@link android.app.Activity} 인스턴스는 
+{@link android.app.Activity} 인스턴스는
 수명 주기 안에서 서로 다른 상태 간에 전환됩니다. 예를 들어
 액티비티가 처음 시작되는 경우, 시스템의 전면에 표시되어 사용자의
 포커스를 받습니다. 이 과정에서 Android 시스템은 사용자 인터페이스 및 다른 구성요소에 설정된
-액티비티에 대해 일련의 수명 주기 메서드를 호출합니다. 사용자가 다른 액티비티를 시작하거나 다른 앱으로 전환하는 
+액티비티에 대해 일련의 수명 주기 메서드를 호출합니다. 사용자가 다른 액티비티를 시작하거나 다른 앱으로 전환하는
 작업을 수행하면, 백그라운드(액티비티가 더
 이상 보이지 않지만 인스턴스와 해당 상태는 그대로 유지되는 상태)로 전환되면서 시스템은 액티비티에 대해 또 다른
 수명 주기 메서드 세트를 호출합니다.</p>
@@ -55,7 +55,7 @@
 사용자가 원하는 작업을 하고, 액티비티가 필요로 하지 않을 때 시스템 리소스 소비를 방지하는 방법에 대해서도 설명합니다.</p>
 
 <h2>과정</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">액티비티 시작하기</a></b></dt>
   <dd>액티비티 수명 주기의 기본사항, 사용자가 앱을 시작하는 방법, 그리고 기본 액티비티 생성 작업을 수행하는
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">액티비티 재생성하기</a></b></dt>
   <dd>액티비티가 소멸되면 어떤 동작이 발생하는지, 그리고 필요 시 액티비티
 상태를 재구축하는 방법에 대해 설명합니다.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/pausing.jd
index b0497cd..98e2afd 100644
--- a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>이 과정에서 다루는 내용</h2>
     <ol>
       <li><a href="#Pause">액티비티 일지정지하기</a></li>
       <li><a href="#Resume">액티비티 재개하기</a></li>
     </ol>
-    
+
     <h2>필독 항목</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">액티비티</a>
@@ -31,7 +31,7 @@
   </div>
 </div>
 
-<p>일반적인 앱 사용 중에 가끔 다른 
+<p>일반적인 앱 사용 중에 가끔 다른
 비주얼 구성요소로 인해 전면의 액티비티가 <em>일시정지</em>되는 경우가 있습니다.  예를 들어, 대화 상자 스타일과 같은 반투명
 액티비티가 열리면, 그 이전 액티비티는 일시정지됩니다. 액티비티가
 부분적으로 보이지만 현재 포커스 내에 있지 않는 한 일시정지된 상태로 유지됩니다.</p>
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">액티비티 일지정지하기</h2>
-      
+
 <p>시스템이 액티비티에 대해 {@link android.app.Activity#onPause()}를 호출하면, 이는
 엄밀해 말해 액티비티가 여전히 부분적으로 보일 수 있음을 의미하지만,
 대개의 경우 사용자가 액티비티를 떠나 곧 정지 상태로 전환될 것임을 나타냅니다.  일반적으로 다음 작업을 수행할 때
diff --git a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/recreating.jd
index 79fb92b..2408cac 100644
--- a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>이 과정에서 다루는 내용</h2>
     <ol>
       <li><a href="#SaveState">액티비티 상태 저장하기</a></li>
       <li><a href="#RestoreState">액티비티 상태 복원하기</a></li>
     </ol>
-    
+
     <h2>필독 항목</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">다양한
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}를 구현하도록 선택할 수 있습니다. 시스템은 복원할 저장
 상태가 있을 경우에만 {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}를 호출합니다. 따라서 {@link android.os.Bundle}이 null인지 확인할 필요가 없습니다.</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/starting.jd
index ef13487..68b4562 100644
--- a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>이 과정에서 다루는 내용</h2>
 <ol>
   <li><a href="#lifecycle-states">수명 주기 콜백 이해하기</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">새로운 인스턴스 생성하기</a></li>
   <li><a href="#Destroy">액티비티 소멸하기</a></li>
 </ol>
-    
+
     <h2>필독 항목</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">액티비티</a></li>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">앱 시작 관리자 액티비티 지정하기</h2> 
+<h2 id="launching-activity">앱 시작 관리자 액티비티 지정하기</h2>
 
 <p>사용자가 홈 화면에서 앱 아이콘을 선택하면, 시스템이 앱에서 "시작 관리자"(또는 "메인") 액티비티로 선언한 {@link android.app.Activity}에 대한 {@link
 android.app.Activity#onCreate onCreate()} 메서드를
@@ -151,7 +151,7 @@
 <p>앱의 메인 액티비티는 {@link
 android.content.Intent#ACTION_MAIN MAIN} 작업 및{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} 카테고리를 포함하는 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a>와 함께
-매니페스트 파일에 선언되어야 합니다. 예를 들면 다음과 같습니다.</p> 
+매니페스트 파일에 선언되어야 합니다. 예를 들면 다음과 같습니다.</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/stopping.jd
index 79e713a..2800095 100644
--- a/docs/html-intl/intl/ko/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/ko/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>이 과정에서 다루는 내용</h2>
     <ol>
       <li><a href="#Stop">액티비티 정지하기</a></li>
       <li><a href="#Start">액티비티 시작/재시작하기</a></li>
     </ol>
-    
+
     <h2>필독 항목</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">액티비티</a>
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html-intl/intl/ko/training/basics/data-storage/databases.jd b/docs/html-intl/intl/ko/training/basics/data-storage/databases.jd
index e7ca166..70f8961 100644
--- a/docs/html-intl/intl/ko/training/basics/data-storage/databases.jd
+++ b/docs/html-intl/intl/ko/training/basics/data-storage/databases.jd
@@ -118,15 +118,15 @@
 액세스할 수 없기 때문에 저장된 데이터는 안전하게 유지됩니다.</p>
 
 <p>유용한 API 집합이 {@link
-android.database.sqlite.SQLiteOpenHelper} 클래스에서 제공됩니다. 
+android.database.sqlite.SQLiteOpenHelper} 클래스에서 제공됩니다.
 데이터베이스에 대한 참조를 가져오기 위해 이 클래스를 사용하는 경우, 시스템은
-필요한 경우에 한해서만 데이터베이스 생성 및 업데이트와 같이 
+필요한 경우에 한해서만 데이터베이스 생성 및 업데이트와 같이
 장시간 실행될 수 있는 작업을
-수행하며, <em>앱이 시작되는 동안에는 이러한 작업을 수행하지 않습니다</em>. 
-{@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} 또는 
+수행하며, <em>앱이 시작되는 동안에는 이러한 작업을 수행하지 않습니다</em>.
+{@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} 또는
 {@link android.database.sqlite.SQLiteOpenHelper#getReadableDatabase}를 호출하기만 하면 됩니다.</p>
 
-<p class="note"><strong>참고:</strong> 이러한 작업은 장시간 실행될 수도 있기 때문에 
+<p class="note"><strong>참고:</strong> 이러한 작업은 장시간 실행될 수도 있기 때문에
 {@link android.os.AsyncTask} 또는 {@link android.app.IntentService}와 같이 백그라운드 스레드에서 {@link
 android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} 또는 {@link
 android.database.sqlite.SQLiteOpenHelper#getReadableDatabase}를
diff --git a/docs/html-intl/intl/ko/training/material/animations.jd b/docs/html-intl/intl/ko/training/material/animations.jd
index e8c6267..79710c1 100644
--- a/docs/html-intl/intl/ko/training/material/animations.jd
+++ b/docs/html-intl/intl/ko/training/material/animations.jd
@@ -47,7 +47,7 @@
 
 <ul>
 <li>제한된 물결의 경우, <code>?android:attr/selectableItemBackground</code></li>
-<li>뷰를 넘어 확장되는 물결의 경우, <code>?android:attr/selectableItemBackgroundBorderless</code> 
+<li>뷰를 넘어 확장되는 물결의 경우, <code>?android:attr/selectableItemBackgroundBorderless</code>
  이 경우 물결이 null이 아닌 배경을 가진 뷰의 가장 가까운 상위 요소 위에 그려지고 해당 상위 요소까지로 제한됩니다.
 </li>
 </ul>
@@ -139,7 +139,7 @@
   </video>
   </div>
   <div style="font-size:10pt;margin-left:20px;margin-bottom:30px">
-    <p class="img-caption" style="margin-top:3px;margin-bottom:10px"><strong>그림 1</strong> - 
+    <p class="img-caption" style="margin-top:3px;margin-bottom:10px"><strong>그림 1</strong> -
     공유 요소를 이용한 전환.</p>
     <em>영화를 재생하려면 기기 화면을 클릭하세요.</em>
   </div>
@@ -263,7 +263,7 @@
  그렇지 않으면 호출하는 액티비티가 나가기 전환을 시작하지만, 배율 또는 페이드와 같은 창 전환이 나타납니다.
 </p>
 
-<p>들어가기 전환을 최대한 빨리 시작하려면 호출되는 액티비티에서 
+<p>들어가기 전환을 최대한 빨리 시작하려면 호출되는 액티비티에서
 {@link android.view.Window#setAllowEnterTransitionOverlap Window.setAllowEnterTransitionOverlap()}
  메서드를 사용하세요. 그러면 더욱 인상적인 들어가기 전환이 가능합니다.</p>
 
@@ -317,7 +317,7 @@
 });
 </pre>
 
-<p>코드에서 생성하는 공유된 동적 뷰의 경우, 
+<p>코드에서 생성하는 공유된 동적 뷰의 경우,
 {@link android.view.View#setTransitionName View.setTransitionName()} 메서드를 사용하여 두 액티비티의 공통 요소 이름을 지정합니다.
 </p>
 
@@ -414,7 +414,7 @@
 &lt;/selector>
 </pre>
 
-<p>사용자지정 뷰 상태 애니메이션을 뷰에 첨부하려면 이 예와 같이 XML 리소스 파일의 
+<p>사용자지정 뷰 상태 애니메이션을 뷰에 첨부하려면 이 예와 같이 XML 리소스 파일의
 <code>selector</code> 요소를 사용하여 애니메이터를 정의한 후에 <code>android:stateListAnimator</code> 특성을 통해 뷰에 할당합니다.
  코드에서 뷰에 상태 목록 애니메이터를 할당하려면 {@link android.animation.AnimatorInflater#loadStateListAnimator
 AnimationInflater.loadStateListAnimator()} 메서드를 사용하고,
diff --git a/docs/html-intl/intl/ko/training/material/lists-cards.jd b/docs/html-intl/intl/ko/training/material/lists-cards.jd
index 28fdf22..b8d6e79 100644
--- a/docs/html-intl/intl/ko/training/material/lists-cards.jd
+++ b/docs/html-intl/intl/ko/training/material/lists-cards.jd
@@ -204,7 +204,7 @@
 확장하고 카드 내의 정보를 플랫폼에서 일관된 모습으로 표시할 수 있도록 합니다. {@link
 android.support.v7.widget.CardView} 위젯은 그림자와 둥근 모서리를 가질 수 있습니다.</p>
 
-<p>그림자가 있는 카드를 생성하려면 <code>card_view:cardElevation</code> 특성을 사용합니다. 
+<p>그림자가 있는 카드를 생성하려면 <code>card_view:cardElevation</code> 특성을 사용합니다.
 {@link android.support.v7.widget.CardView}는 Android 5.0(API 레벨 21) 이상에서 실제 엘리베이션 및 동적 그림자를 사용하며, 이전 버전에서는 이전의 프로그래밍 방식의 그림자 구현으로 환원됩니다. 자세한 내용은 <a href="{@docRoot}training/material/compatibility.html">호환성 유지</a>를 참조하세요.
 
 
diff --git a/docs/html-intl/intl/ko/training/material/shadows-clipping.jd b/docs/html-intl/intl/ko/training/material/shadows-clipping.jd
index e04d0c5..9d1a679 100644
--- a/docs/html-intl/intl/ko/training/material/shadows-clipping.jd
+++ b/docs/html-intl/intl/ko/training/material/shadows-clipping.jd
@@ -121,7 +121,7 @@
 <p>뷰를 클리핑하면 뷰의 모양을 손쉽게 바꿀 수 있습니다. 다른 디자인 요소와의 일관성을 위해, 또는 사용자 입력에 응답하여 뷰의 모양을 바꾸기 위해 뷰를 클리핑할 수 있습니다. {@link android.view.View#setClipToOutline
 View.setClipToOutline()} 메서드나 <code>android:clipToOutline</code> 특성을 사용하여 뷰를 해당 윤곽선 영역까지 클리핑할 수 있습니다.
 
- 
+
 {@link android.graphics.Outline#canClip Outline.canClip()} 메서드에서 결정된 대로 사각형, 원형 및 둥근 사각형의 윤곽선만 클리핑을 지원합니다.
 </p>
 
diff --git a/docs/html-intl/intl/ko/training/monitoring-device-state/battery-monitoring.jd b/docs/html-intl/intl/ko/training/monitoring-device-state/battery-monitoring.jd
index 2eacccf..058cf85 100644
--- a/docs/html-intl/intl/ko/training/monitoring-device-state/battery-monitoring.jd
+++ b/docs/html-intl/intl/ko/training/monitoring-device-state/battery-monitoring.jd
@@ -7,8 +7,8 @@
 next.link=docking-monitoring.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>강의 목표</h2>
@@ -24,9 +24,9 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 <p>백그라운드 업데이트가 배터리 수명에 미치는 영향을 줄이기 위하여 백그라운드 업데이트 빈도수를 변경하는 경우, 현재 배터리 수준과 충전 상태부터 확인하는 것이 좋습니다.</p>
 
 <p>애플리케이션 업데이트 수행이 배터리 수명에 미치는 영향은 배터리 수준 및 기기의 충전 상태에 따라 다릅니다. 기기를 AC 충전기로 충전하는 동안 업데이트 수행이 미치는 영향은 무시해도 좋습니다. 따라서 기기가 범용 충전기에 연결되어 있을 때는 대부분 새로고침 빈도를 최대화할 수 있습니다. 반대로 기기가 충전 중이 아니라면, 업데이트 빈도를 줄이는 것이 배터리 수명 연장에 도움이 됩니다.</p>
@@ -34,8 +34,8 @@
 <p>마찬가지로 배터리가 거의 방전된 경우, 업데이트 빈도를 줄이거나 중단할 수 있습니다.</p>
 
 
-<h2 id="DetermineChargeState">현재 충전 상태 확인</h2> 
- 
+<h2 id="DetermineChargeState">현재 충전 상태 확인</h2>
+
 <p>먼저 현재 충전 상태를 확인하는 것부터 시작합니다. {@link android.os.BatteryManager}는 배터리 충전 상태 등 충전 정보를 스티키 {@link android.content.Intent}를 통해 브로드캐스트합니다.</p>
 
 <p>스티키 인텐트이므로 {@link android.content.BroadcastReceiver}를 등록할 필요가 없으며 아래 코드 상의 리시버와 같이 간단히 {@code registerReceiver}을(를) 호출하여 {@code null}에 제출하면 현재 배터리 상태가 담긴 인텐트가 반환됩니다. 여기에 실제 {@link android.content.BroadcastReceiver} 개체 사용할 수 있으나, 이후 섹션에서 업데이트를 다루게 되므로 그럴 필요는 없습니다.</p>
@@ -58,7 +58,7 @@
 <p>일반적으로 기기가 AC 충전기에 연결된 경우 백그라운드 업데이트 빈도를 최대화합니다. USB를 통해 충전하는 경우 업데이트 빈도를 낮춥니다. 배터리가 방전 중이라면 빈도를 더 많이 낮추도록 합니다.</p>
 
 
-<h2 id="MonitorChargeState">충전 상태 변경사항 모니터링</h2> 
+<h2 id="MonitorChargeState">충전 상태 변경사항 모니터링</h2>
 
 <p>충전 상태는 수시로 변하므로 충전 상태의 변경사항을 확인하고 이에 따라 업데이트 주기를 변경하는 것이 중요합니다.</p>
 
@@ -75,11 +75,11 @@
 
 <pre>public class PowerConnectionReceiver extends BroadcastReceiver {
     &#64;Override
-    public void onReceive(Context context, Intent intent) { 
+    public void onReceive(Context context, Intent intent) {
         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                             status == BatteryManager.BATTERY_STATUS_FULL;
-    
+
         int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
         boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
         boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
@@ -87,7 +87,7 @@
 }</pre>
 
 
-<h2 id="CurrentLevel">현재 배터리 수준 확인</h2> 
+<h2 id="CurrentLevel">현재 배터리 수준 확인</h2>
 
 <p>현재 배터리 수준을 확인하는 것이 유용한 경우도 있습니다. 배터리 충전이 수준 이하인 경우 백그라운드 업데이트 빈도를 줄일 수 있습니다.</p>
 
@@ -99,7 +99,7 @@
 float batteryPct = level / (float)scale;</pre>
 
 
-<h2 id="MonitorLevel">배터리 수준 중요 변경사항 모니터링</h2> 
+<h2 id="MonitorLevel">배터리 수준 중요 변경사항 모니터링</h2>
 
 <p>배터리 상태를 지속적으로 확인하는 것은 쉽지 않지만, 꼭 그럴 필요도 없습니다.</p>
 
diff --git a/docs/html-intl/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html-intl/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
index 5666b98..377f85f 100644
--- a/docs/html-intl/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html-intl/intl/ko/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>강의 목표</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>반복 알람과 백그라운드 서비스는 일반적으로 인터넷 리소스 및 캐시 데이터로부터 애플리케이션의 업데이트를 예약하거나 긴 시간이 필요한 다운로드를 실행하는 데 사용됩니다. 하지만 인터넷에 연결되어 있지 않거나 연결이 매우 느려 다운로드를 완료하지 못한다면 업데이트 예약을 해도 소용이 없겠죠?</p>
@@ -35,18 +35,18 @@
 <p>인터넷에 연결되었는지, 어떤 연결 방식인지를 확인하기 위하여 {@link android.net.ConnectivityManager}를 사용할 수 있습니다.</p>
 
 
-<h2 id="DetermineConnection">인터넷에 연결되어 있는지 확인</h2> 
- 
+<h2 id="DetermineConnection">인터넷에 연결되어 있는지 확인</h2>
+
 <p>인터넷에 연결되어 있지 않는 경우 인터넷 리소스를 기반으로 한 업데이트 예약을 할 필요가 없습니다. 다음은 활성 네트워크를 쿼리하고 인터넷이 연결되어 있는지 확인하기 위한 {@link android.net.ConnectivityManager} 사용법을 보여줍니다.</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">인터넷 연결 유형 확인</h2> 
+<h2 id="DetermineType">인터넷 연결 유형 확인</h2>
 
 <p>현재 사용할 수 있는 인터넷 연결 유형을 확인할 수도 있습니다.</p>
 
@@ -59,7 +59,7 @@
 <p>업데이트를 비활성화한 경우, 인터넷 연결이 재개되면 업데이트를 다시 시작하기 위해 연결 변경사항을 알고 있는 것이 중요합니다.</p>
 
 
-<h2 id="MonitorChanges">연결 변경사항 모니터링</h2> 
+<h2 id="MonitorChanges">연결 변경사항 모니터링</h2>
 
 <p>연결 정보가 변경될 때마다 {@link android.net.ConnectivityManager}는 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}({@code "android.net.conn.CONNECTIVITY_CHANGE"}) 액션을 브로드캐스트합니다. 변경사항을 수신하거나 적절히 백그라운드 업데이트를 다시 시작 또는 일시 중지하기 위해 매니페스트에서 브로드캐스트 리시버를 등록할 수 있습니다.</p>
 
diff --git a/docs/html-intl/intl/ko/training/monitoring-device-state/docking-monitoring.jd b/docs/html-intl/intl/ko/training/monitoring-device-state/docking-monitoring.jd
index 0cd61a0..f3cf36d 100644
--- a/docs/html-intl/intl/ko/training/monitoring-device-state/docking-monitoring.jd
+++ b/docs/html-intl/intl/ko/training/monitoring-device-state/docking-monitoring.jd
@@ -10,7 +10,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>강의 목표</h2>
@@ -26,7 +26,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Android 기기는 여러 종류의 도크로 도킹될 수 있습니다. 여기에는 카폰 또는 홈 도크와 디지털 및 아날로그 도크가 포함됩니다. 많은 도크가 도킹된 기기에 전기를 공급하므로 일반적으로 충전 상태와 도크 상태는 밀접한 관련이 있습니다.</p>
@@ -36,8 +36,8 @@
 <p>도크 상태는 스티키 {@link android.content.Intent}로 브로드캐스트되어 기기가 도킹되었는지 여부와 도킹되었다면 어떤 종류의 도크인지 알아낼 수 있습니다. </p>
 
 
-<h2 id="CurrentDockState">현재 도킹 상태 확인</h2> 
- 
+<h2 id="CurrentDockState">현재 도킹 상태 확인</h2>
+
 <p>도크 상태의 세부사항은 {@link android.content.Intent#ACTION_DOCK_EVENT} 액션의 스티키 브로드캐스트 내에 추가로 포함됩니다. 스티키 브로드캐스트이므로 {@link android.content.BroadcastReceiver}를 등록할 필요가 없습니다. 다음 스니펫에 표시된 브로드캐스트 수신기와 같이 간단히 {@link android.content.Context#registerReceiver registerReceiver()}를 호출하여 {@code null}에 제출할 수 있습니다. </p>
 
 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
@@ -49,9 +49,9 @@
 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
 
 
-<h2 id="DockType">현재 도크 유형 확인</h2> 
+<h2 id="DockType">현재 도크 유형 확인</h2>
 
-<p>4가지 유형의 도크가 있습니다. 
+<p>4가지 유형의 도크가 있습니다.
 <ul><li>카폰</li>
 <li>데스크</li>
 <li>저가형(아날로그) 데스크</li>
@@ -60,12 +60,12 @@
 <p>마지막 두 가지 옵션은 API 수준 11의 Android에만 제공되어 있으므로, 디지털 또는 아날로그에 상관하지 않고 관심 있는 세 가지 도크 유형에 대해 확인하는 것이 좋습니다.</p>
 
 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
+boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
 
 
-<h2 id="MonitorDockState">도크 상태 또는 유형 변경사항 모니터링</h2> 
+<h2 id="MonitorDockState">도크 상태 또는 유형 변경사항 모니터링</h2>
 
 <p>도킹 상태가 바뀌면 {@link android.content.Intent#ACTION_DOCK_EVENT} 액션이 브로드캐스트됩니다. 기기의 도크 상태 변경사항을 모니터링하려면 아래에 표시된 대로 애플리케이션 매니페스트에서 브로드캐스트 리시버를 등록하세요.</p>
 
diff --git a/docs/html-intl/intl/ko/training/monitoring-device-state/index.jd b/docs/html-intl/intl/ko/training/monitoring-device-state/index.jd
index f96e2e1..030701f 100644
--- a/docs/html-intl/intl/ko/training/monitoring-device-state/index.jd
+++ b/docs/html-intl/intl/ko/training/monitoring-device-state/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>요구사항과 선행조건</h2> 
+<h2>요구사항과 선행조건</h2>
 <ul>
   <li>Android 2.0(API 수준 5) 또는 이상</li>
   <li> <a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a> 사용 경험</li>
@@ -21,19 +21,19 @@
   <li><a href="{@docRoot}guide/components/services.html">서비스</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>좋은 앱은 호스트 기기의 배터리 수명에 미치는 영향이 미미해야 합니다. 강의를 통해 호스트 기기의 상태에 따라 기능과 동작을 수정하는 것을 모니터링하는 앱을 구축할 수 있게 됩니다.</p>
 
 <p>연결이 끊겼을 때 백그라운드 서비스 업데이트를 사용 중지하거나, 배터리 수준이 낮을 때 업데이트 빈도를 줄이는 조치를 취하여, 사용자 환경을 손상시키지 않고 배터리 수명에 미치는 영향을 최소화할 수 있습니다.</p>
 
-<h2>강의</h2> 
- 
+<h2>강의</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="battery-monitoring.html">배터리 수준 및 충전 상태 모니터링</a></b></dt>
   <dd>충전 상태에서 현재 배터리 수준 및 변경사항을 확인 및 모니터링하여 앱의 업데이트 빈도를 변경하는 법을 알아보세요.</dd>
@@ -46,4 +46,4 @@
 
   <dt><b><a href="manifest-receivers.html">온디맨드로 브로드캐스트 수신기 조작</a></b></dt>
   <dd>매니페스트 내에 선언했던 브로드캐스트 리시버는 현재 기기 상태에서 필요 없는 것을 사용 중지하도록 런타임 때 전환될 수 있습니다. 기기가 특정 상태에 도달할 때까지 상태 변화 리시버 및 지연 액션을 전환 및 단계적으로 연결하여 효율성을 향상하는 법을 알아보세요.</dd>
-</dl> 
\ No newline at end of file
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/training/monitoring-device-state/manifest-receivers.jd b/docs/html-intl/intl/ko/training/monitoring-device-state/manifest-receivers.jd
index c5c311b..0eefe08 100644
--- a/docs/html-intl/intl/ko/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html-intl/intl/ko/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>강의 목표</h2>
@@ -23,7 +23,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">인텐트 및 인텐트 필터</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>기기 상태 변경을 모니터링하는 가장 간단한 방법은 모니터링하는 각 상태에 대해 {@link android.content.BroadcastReceiver}를 만들어 각각을 애플리케이션 매니페스트에 등록하는 것입니다. 그러면 각 리시버 내에서 현재 기기 상태를 기반으로 반복 알람의 일정을 간단히 변경할 수 있습니다.</p>
@@ -31,10 +31,10 @@
 <p>이 방법의 부작용은 리시버 중 하나라도 실행되면 매번 앱이 기기의 절전 모드를 해제시킨다는 것입니다.</p>
 
 <p>더 나은 방법은 런타임 때 브로드캐스트 리시버를 사용 중지 또는 사용하도록 설정하는 것입니다. 이렇게 하면 매니페스트에 선언한 리시버를 필요할 때만 시스템 이벤트에 의해 실행되는 수동적인 알람으로 사용할 수 있습니다.</p>
- 
 
-<h2 id="ToggleReceivers">효율성 향상을 위한 상태 변화 수신기의 전환 및 단계적 연결 </h2> 
- 
+
+<h2 id="ToggleReceivers">효율성 향상을 위한 상태 변화 수신기의 전환 및 단계적 연결 </h2>
+
 <p>{@link android.content.pm.PackageManager}를 사용하여 아래에서 표시된 대로 모든 사용 또는 사용 중지하기 원하는 브로드캐스트 리시버를 포함하여 매니페스트 내에 정의된 모든 요소의 사용 가능 상태를 전환할 수 있습니다.</p>
 
 <pre>ComponentName receiver = new ComponentName(context, myReceiver.class);
diff --git a/docs/html-intl/intl/ko/training/multiscreen/adaptui.jd b/docs/html-intl/intl/ko/training/multiscreen/adaptui.jd
index cb7b66c..a8d2fc1 100644
--- a/docs/html-intl/intl/ko/training/multiscreen/adaptui.jd
+++ b/docs/html-intl/intl/ko/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>강의 목표</h2>
 
 <ol>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">태블릿 및 휴대전화 지원</a></li>
 </ul>
- 
+
 <h2>다운로드 </h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">샘플 앱 다운로드</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>현재 애플리케이션이 표시하는 레이아웃에 따라 UI 플로가 달라질 수 있습니다. 예를 들어 애플리케이션이 이중 창 모드로 되어 있는 경우에는 왼쪽 창에 있는 항목을 클릭하면 오른쪽 창에 콘텐츠가 표시되고, 단일 창 모드로 되어 있는 경우에는 콘텐츠가 해당 창에 표시됩니다(다른 액티비티에서).</p>
 
@@ -56,7 +56,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -116,7 +116,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -168,7 +168,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html-intl/intl/ko/training/multiscreen/index.jd b/docs/html-intl/intl/ko/training/multiscreen/index.jd
index dd152ae..0a30f92 100644
--- a/docs/html-intl/intl/ko/training/multiscreen/index.jd
+++ b/docs/html-intl/intl/ko/training/multiscreen/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>요구사항과 선행조건</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>요구사항과 선행조건</h2>
 
 <ul>
   <li>Android 1.6 이상(샘플 앱의 경우  2.1 이상)</li>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">다양한 화면 지원</a></li>
 </ul>
- 
-<h2>다운로드 </h2> 
- 
-<div class="download-box"> 
+
+<h2>다운로드 </h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">샘플 앱 다운로드</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>Android는 소형 휴대전화에서부터 대형 TV에 이르기까지 다양한 화면 크기의 수많은 기기 유형을 지원합니다. 따라서 애플리케이션이 모든 화면 크기와 호환되어 최대한 많은 사용자가 사용할 수 있도록 디자인하는 것이 중요합니다.</p>
 
 <p>하지만 다양한 기기 유형과 호환되는 것만으로는 충분하지 않습니다. 각 화면 크기에 따라 사용자 상호작용에 유리한 점과 불리한 점이 다릅니다. 따라서 사용자에게 만족을 주고 깊은 인상을 심어주려면 애플리케이션이 단지 여러 화면을 <em>지원</em>하는 데 그치지 않고 화면 구성별로 사용자 환경을 <em>최적화</em>해야 합니다.</p>
@@ -48,17 +48,17 @@
 
 <p class="note"><strong>참고:</strong> 이 강의 및 강의와 관련된 샘플은 <a
 href="{@docRoot}tools/support-library/index.html">호환성 라이브러리</a>를 사용하며 이는 Android 3.0 이하 버전에서 <PH>{@link android.app.Fragment}</PH> API를 사용하기 위해서입니다. 이 강의에서 API를 모두 사용하려면 라이브러리를 다운로드하여 애플리케이션에 추가해야 합니다.</p>
- 
 
-<h2>강의</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">다양한 화면 크기 지원</a></b></dt> 
-    <dd>이 강의에서는 여러 다양한 화면 크기에 조정되는 레이아웃을 디자인하는 방법(유연한 보기 크기, <PH>{@link android.widget.RelativeLayout}</PH>, 화면 크기 및 방향 한정자, 별칭 필터 및 나인-패치 비트맵 사용하기)을 안내합니다.</dd> 
- 
-  <dt><b><a href="screendensities.html">다양한 화면 밀도 지원</a></b></dt> 
-    <dd>이 강의에서는 다양한 픽셀 밀도를 가진 화면을 지원하는 방법(밀도 독립형 픽셀(density-independent pixel) 사용하기 및 밀도별로 적합한 비트맵 제공하기)을 설명합니다.</dd> 
- 
-  <dt><b><a href="adaptui.html">조정형 UI 플로우 구현</a></b></dt> 
-    <dd>이 강의에서는 여러 화면 크기/밀도 조합에 조정되도록 UI 플로우를 구현하는 방법(활성 레이아웃의 런타임 감지, 현재 레이아웃에 따른 대응, 화면 구성 변경 처리)을 설명합니다.</dd> 
-</dl> 
+
+<h2>강의</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">다양한 화면 크기 지원</a></b></dt>
+    <dd>이 강의에서는 여러 다양한 화면 크기에 조정되는 레이아웃을 디자인하는 방법(유연한 보기 크기, <PH>{@link android.widget.RelativeLayout}</PH>, 화면 크기 및 방향 한정자, 별칭 필터 및 나인-패치 비트맵 사용하기)을 안내합니다.</dd>
+
+  <dt><b><a href="screendensities.html">다양한 화면 밀도 지원</a></b></dt>
+    <dd>이 강의에서는 다양한 픽셀 밀도를 가진 화면을 지원하는 방법(밀도 독립형 픽셀(density-independent pixel) 사용하기 및 밀도별로 적합한 비트맵 제공하기)을 설명합니다.</dd>
+
+  <dt><b><a href="adaptui.html">조정형 UI 플로우 구현</a></b></dt>
+    <dd>이 강의에서는 여러 화면 크기/밀도 조합에 조정되도록 UI 플로우를 구현하는 방법(활성 레이아웃의 런타임 감지, 현재 레이아웃에 따른 대응, 화면 구성 변경 처리)을 설명합니다.</dd>
+</dl>
diff --git a/docs/html-intl/intl/ko/training/multiscreen/screendensities.jd b/docs/html-intl/intl/ko/training/multiscreen/screendensities.jd
index 5d6e2f3..dfaa44f 100644
--- a/docs/html-intl/intl/ko/training/multiscreen/screendensities.jd
+++ b/docs/html-intl/intl/ko/training/multiscreen/screendensities.jd
@@ -12,8 +12,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>강의 목표</h2>
 <ol>
@@ -29,15 +29,15 @@
 </ul>
 
 <h2>다운로드 </h2>
- 
-<div class="download-box"> 
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">샘플 앱 다운로드</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>이 강의에서는 다양한 리소스를 제공하고 해상도 독립형(resolution-independent) 측정 단위를 사용함으로써 다양한 화면 밀도를 지원하는 방법을 설명합니다.</p>
 
@@ -48,8 +48,8 @@
 <p>예를 들어 두 개의 보기 사이에 여백을 지정할 때 <code>px</code>가 아닌 <code>dp</code>를 사용합니다.</p>
 
 <pre>
-&lt;Button android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+&lt;Button android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:text="&#64;string/clickme"
     android:layout_marginTop="20dp" /&gt;
 </pre>
@@ -57,8 +57,8 @@
 <p>텍스트 크기를 지정할 때에는 항상 <code>sp</code>를 사용합니다.</p>
 
 <pre>
-&lt;TextView android:layout_width="match_parent" 
-    android:layout_height="wrap_content" 
+&lt;TextView android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:textSize="20sp" /&gt;
 </pre>
 
diff --git a/docs/html-intl/intl/ko/training/multiscreen/screensizes.jd b/docs/html-intl/intl/ko/training/multiscreen/screensizes.jd
index f2e77a6..984923d 100644
--- a/docs/html-intl/intl/ko/training/multiscreen/screensizes.jd
+++ b/docs/html-intl/intl/ko/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>강의 목표</h2>
 <ol>
@@ -30,26 +30,26 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">다양한 화면 지원</a></li>
 </ul>
 
-<h2>다운로드 </h2> 
- 
-<div class="download-box"> 
+<h2>다운로드 </h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">샘플 앱 다운로드</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>이 강의에서는 다양한 화면 크기를 지원하는 방법을 설명합니다.</p>
-<ul> 
-  <li>화면에 맞게 레이아웃 크기 조정</li> 
-  <li>화면 구성에 따라 적합한 UI 레이아웃 제공</li> 
+<ul>
+  <li>화면에 맞게 레이아웃 크기 조정</li>
+  <li>화면 구성에 따라 적합한 UI 레이아웃 제공</li>
   <li>올바른 화면에 올바른 레이아웃 적용</li>
-  <li>정확하게 확대되는 비트맵 제공</li> 
-</ul> 
+  <li>정확하게 확대되는 비트맵 제공</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">'wrap_content' 및 'match_parent' 사용</h2> 
+<h2 id="TaskUseWrapMatchPar">'wrap_content' 및 'match_parent' 사용</h2>
 
 <p>레이아웃이 다양한 화면 크기에 따라 유연하게 조정되도록 하려면 일부 뷰 구성요소의 너비와 높이에 <code>"wrap_content"</code> 및 <code>"match_parent"</code>를 사용해야 합니다. <code>"wrap_content"</code>를 사용하면 뷰의 너비와 높이가 해당 뷰 내에 콘텐츠가 들어가는데 필요한 최소 크기로 설정되는 반면, <code>"match_parent"</code>(API 수준 8 이전에는 <code>"fill_parent"</code>라고도 함)를 사용하면 구성요소가 확장되어 부모뷰의 크기와 일치하게 됩니다.</p>
 
@@ -65,7 +65,7 @@
 <p class="img-caption"><strong>그림 1.</strong> 세로 모드(왼쪽) 및 가로 모드(오른쪽)에서의 뉴스 리더 샘플 앱</p>
 
 
-<h2 id="TaskUseRelativeLayout">RelativeLayout 사용</h2> 
+<h2 id="TaskUseRelativeLayout">RelativeLayout 사용</h2>
 
 <p>비교적 복잡한 레이아웃을 만들려면 <PH>{@link android.widget.LinearLayout}의 중첩 인스턴스와</PH> <code>"wrap_content"</code> 및 <code>"match_parent"</code> 크기의 조합을 사용합니다. 하지만 <PH>{@link android.widget.LinearLayout}</PH> 을 사용하면 자식뷰의 여백 관계를 정확하게 제어할 수 없으며 <PH>{@link android.widget.LinearLayout}</PH> 단순히 나란하게 표시됩니다. 자식뷰를 일직선이 아닌 다양한 방향으로 표시해야 하는 경우 구성요소 사이의 여백 관계를 중심으로 레이아웃을 지정할 수 있는 <PH>{@link android.widget.RelativeLayout}</PH>을 사용하는 것이 더 좋은 방법일 수 있습니다. 예를 들어 화면 왼쪽에 하나의 자식뷰를, 오른쪽에 다른 자식뷰를 정렬할 수 있습니다.</p>
 
@@ -115,8 +115,8 @@
 
 <p>구성요소의 크기가 변하더라도 여백 관계가  <PH>{@link android.widget.RelativeLayout.LayoutParams}</PH>.</p>
 
- 
-<h2 id="TaskUseSizeQuali">크기 한정자 사용</h2> 
+
+<h2 id="TaskUseSizeQuali">크기 한정자 사용</h2>
 
 <p>이전 섹션에서 다룬 유연한 레이아웃이나 상대적 레이아웃으로는 한계가 있습니다. 이러한 레이아웃이 구성요소 내부 및 주위의 여백을 확장하여 다양한 화면에 맞게 조정되긴 하지만 화면 크기별로 최적의 사용자 환경을 제공하지는 못할 수 있습니다. 따라서 애플리케이션은 유연한 레이아웃을 구현할 뿐 아니라 다양한 화면 구성을 타겟팅할 수 있도록 다양한 대체 레이아웃을 제공해야 합니다. 그 방법은 런타임이 현재 기기의 구성에 따라 적합한 리소스(예: 화면 크기별로 다른 레이아웃 디자인)를 자동으로 선택하도록 해 주는 <a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">구성 한정자</a>를 사용하는 것입니다.</p>
 
@@ -158,7 +158,7 @@
 <p>하지만 Android 3.2 이전 기기는 <code>sw600dp</code>를 크기 한정자로 인식하지 않기 때문에 최소 너비 한정자가 제대로 작동하지 않으며 따라서 <code>large</code> 한정자도 계속 사용해야 합니다. 따라서 <code>res/layout-large/main.xml</code>라는 이름의 파일이 있어야 하며 이 파일은 <code>res/layout-sw600dp/main.xml</code>과 동일한 파일입니다. 다음 섹션에서는 이런 식으로 레이아웃 파일이 중복되지 않게 하는 기술을 살펴보겠습니다.</p>
 
 
-<h2 id="TaskUseAliasFilters">레이아웃 별칭 사용</h2> 
+<h2 id="TaskUseAliasFilters">레이아웃 별칭 사용</h2>
 
 <p>최소 너비 한정자는 Android 3.2 이상 버전에서만 사용할 수 있습니다. 따라서 이전 버전과 호환되도록 하려면 추상화 크기 빈(소형, 보통, 대형 및 초대형)을 계속 사용해야 합니다. 예를 들어 휴대전화에서는 단일 창 UI가 표시되고 7인치 태블릿, TV 및 기타 대형 기기에서는 다중 창 UI가 표시되도록 UI를 디자인하려면 다음 파일을 제공해야 합니다.</p>
 
@@ -202,7 +202,7 @@
 <PH>{@code large}</PH>,3.2 이후 버전은 <code>sw600dp</code>와 일치).</p>
 
 
-<h2 id="TaskUseOriQuali">방향 한정자 사용</h2> 
+<h2 id="TaskUseOriQuali">방향 한정자 사용</h2>
 
 <p>일부 레이아웃은 가로 및 세로 방향 모두에서 잘 작동하지만 대부분의 레이아웃은 조정을 통해 많은 이점을 누릴 수 있습니다. 다음은 뉴스 리더 샘플 앱에서 화면 크기와 방향별로 레이아웃이 어떻게 작동하는지 보여줍니다.</p>
 
diff --git a/docs/html-intl/intl/pt-br/about/versions/android-5.0.jd b/docs/html-intl/intl/pt-br/about/versions/android-5.0.jd
index 23904b3..5408793 100644
--- a/docs/html-intl/intl/pt-br/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/pt-br/about/versions/android-5.0.jd
@@ -426,7 +426,7 @@
 <p>Quando o sistema detectar uma rede adequada, ele se conectará à rede e chamará a chamada de retorno {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()}. É possível usar o objeto {@link android.net.Network} da chamada de retorno a fim de receber mais informações sobre a rede ou direcionar o tráfego para que a rede selecionada seja usada.</p>
 
 <h3 id="BluetoothBroadcasting">Bluetooth Low Energy</h3>
-<p>O Android 4.3 apresentou o suporte de plataforma para o <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth Low Energy</a>(<em>Bluetooth LE</em>) na função central. No Android 5.0, um dispositivo Android agora pode agir como um <em>dispositivo periférico</em> de Bluetooth LE. Os apps podem usar esse recurso para fazer com que sua presença seja percebida pelos dispositivos vizinhos. É possível, por exemplo, criar apps que permitem que um dispositivo funcione como um pedômetro ou um monitor de integridade de dados e envie seus dados para outro dispositivo Bluetooth LE.</p> 
+<p>O Android 4.3 apresentou o suporte de plataforma para o <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">Bluetooth Low Energy</a>(<em>Bluetooth LE</em>) na função central. No Android 5.0, um dispositivo Android agora pode agir como um <em>dispositivo periférico</em> de Bluetooth LE. Os apps podem usar esse recurso para fazer com que sua presença seja percebida pelos dispositivos vizinhos. É possível, por exemplo, criar apps que permitem que um dispositivo funcione como um pedômetro ou um monitor de integridade de dados e envie seus dados para outro dispositivo Bluetooth LE.</p>
 <p>As novas APIs de {@link android.bluetooth.le} permitem que seus apps divulguem anúncios, verifiquem respostas e formem conexões com dispositivos Bluetooth LE vizinhos. Para usar os novos recursos de publicidade e varredura, adicione a permissão {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} no manifesto. Quando os usuários atualizam ou fazem o download do seu app a partir da Play Store, eles são solicitados a conceder a seguinte permissão para seu app: "Informações da conexão Bluetooth: permite que o app controle o Bluetooth, incluindo a divulgação para dispositivos Bluetooth vizinhos ou a busca de informações sobre esses dispositivos."</p>
 
 <p>Para começar a publicidade de Bluetooth LE para que outros dispositivos possam descobrir seu app, chame {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()} e passe uma implementação da classe {@link android.bluetooth.le.AdvertiseCallback}. O objeto de chamada de retorno recebe um relatório do sucesso ou da falha da operação de publicidade.</p>
diff --git a/docs/html-intl/intl/pt-br/design/get-started/principles.jd b/docs/html-intl/intl/pt-br/design/get-started/principles.jd
index 82e28cc..81b3524 100644
--- a/docs/html-intl/intl/pt-br/design/get-started/principles.jd
+++ b/docs/html-intl/intl/pt-br/design/get-started/principles.jd
@@ -8,7 +8,7 @@
 tipos de dispositivo.</p>
 
 <p>
-Considere estes princípios ao aplicar 
+Considere estes princípios ao aplicar
 sua criatividade e sua mentalidade de projeto. Desvie-se de forma objetiva.
 </p>
 
@@ -18,7 +18,7 @@
   <div class="col-7">
 
 <h4 id="delight-me">Agrade-me de formas surpreendentes</h4>
-<p>Uma bela superfície, uma animação cuidadosamente posicionada ou um efeito sonoro no momento certo 
+<p>Uma bela superfície, uma animação cuidadosamente posicionada ou um efeito sonoro no momento certo
  contribui para a boa experiência. Efeitos sutis contribuem para uma sensação de facilidade e de que algo
 poderoso está à mão.</p>
 
diff --git a/docs/html-intl/intl/pt-br/design/material/index.jd b/docs/html-intl/intl/pt-br/design/material/index.jd
index 5368d2d..e2f0b47 100644
--- a/docs/html-intl/intl/pt-br/design/material/index.jd
+++ b/docs/html-intl/intl/pt-br/design/material/index.jd
@@ -39,10 +39,10 @@
 
 
 
-<p itemprop="description">O Material Design é um guia abrangente para design visual, de movimento e de 
+<p itemprop="description">O Material Design é um guia abrangente para design visual, de movimento e de
 interação para diversas plataformas e dispositivos. O Android agora é compatível com
-aplicativos do Material Design. Para usar o Material Design nos aplicativos Android, siga as orientações definidas 
-nas <a href="http://www.google.com/design/spec">especificações do Material Design</a> e use os novos 
+aplicativos do Material Design. Para usar o Material Design nos aplicativos Android, siga as orientações definidas
+nas <a href="http://www.google.com/design/spec">especificações do Material Design</a> e use os novos
 componentes e funcionalidades disponíveis no Android 5.0 (API de nível 21) e em posteriores.</p>
 
 <p>O Android fornece os seguintes elementos para criar aplicativos do Material Design:</p>
@@ -59,7 +59,7 @@
 
 <h3>Tema do Material</h3>
 
-<p>O tema do Material fornece um novo estilo para o seu aplicativo, widgets de sistema que permitem 
+<p>O tema do Material fornece um novo estilo para o seu aplicativo, widgets de sistema que permitem
 definir a paleta de cores e as animações padrão para feedback de toque e transições de atividades.</p>
 
 <!-- two columns -->
@@ -79,13 +79,13 @@
 <br style="clear:left"/>
 </div>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/theme.html">Como usar o tema 
+<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/theme.html">Como usar o tema
 do Material</a>.</p>
 
 
 <h3>Listas e cartões</h3>
 
-<p>O Android fornece dois novos widgets para exibir cartões e listas com estilos e animações do 
+<p>O Android fornece dois novos widgets para exibir cartões e listas com estilos e animações do
 Material Design:</p>
 
 <!-- two columns -->
@@ -97,19 +97,19 @@
 </div>
 <div style="float:left;width:250px;margin-right:0px;">
   <img src="{@docRoot}design/material/images/card_travel.png" width="500" height="426" />
-  <p>O novo widget <code>CardView</code> permite exibir informações importantes dentro de 
+  <p>O novo widget <code>CardView</code> permite exibir informações importantes dentro de
   cartões que têm aparência consistente.</p>
 </div>
 <br style="clear:left"/>
 </div>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/lists-cards.html">Como criar 
+<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/lists-cards.html">Como criar
 listas e cartões</a>.</p>
 
 
 <h3>Sombras de vistas</h3>
 
-<p>Além das propriedades X e Y, vistas no Android agora têm uma propriedade 
+<p>Além das propriedades X e Y, vistas no Android agora têm uma propriedade
 Z. Essa nova propriedade representa a elevação de uma vista, que determina:</p>
 
 <ul>
@@ -130,7 +130,7 @@
   </div>
 </div>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/shadows-clipping.html">Como 
+<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/shadows-clipping.html">Como
 definir sombras e recortar visualizações</a>.</p>
 
 
@@ -165,7 +165,7 @@
 <p>Animações de feedback de toque são integradas em várias vistas padrão, como botões. As novas APIs
 permitem personalizar essas animações e adicioná-las às vistas personalizadas.</p>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/animations.html">Como definir 
+<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/animations.html">Como definir
 animações personalizadas</a>.</p>
 
 
@@ -182,5 +182,5 @@
 imagem de mapa de bits.</li>
 </ul>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/drawables.html">Como trabalhar 
+<p>Para obter mais informações, consulte <a href="{@docRoot}training/material/drawables.html">Como trabalhar
 com desenháveis</a>.</p>
diff --git a/docs/html-intl/intl/pt-br/design/patterns/compatibility.jd b/docs/html-intl/intl/pt-br/design/patterns/compatibility.jd
index 775af0c..bd4ec30 100644
--- a/docs/html-intl/intl/pt-br/design/patterns/compatibility.jd
+++ b/docs/html-intl/intl/pt-br/design/patterns/compatibility.jd
@@ -57,7 +57,7 @@
   <div class="col-6">
 
 <h4>Aplicativos legados em telefones com controles de navegação virtuais</h4>
-<p>Ao executar um aplicativo que foi desenvolvido para Android 2.3 ou anterior em um telefone com controles de 
+<p>Ao executar um aplicativo que foi desenvolvido para Android 2.3 ou anterior em um telefone com controles de
 navegação virtuais, um controle de ações adicionais é exibido no lado direito da barra de navegação virtual. É possível
 tocar no controle para exibir as ações do aplicativo no estilo tradicional de menu do Android.</p>
 
diff --git a/docs/html-intl/intl/pt-br/design/patterns/navigation.jd b/docs/html-intl/intl/pt-br/design/patterns/navigation.jd
index 8ed12f7..89eab9a 100644
--- a/docs/html-intl/intl/pt-br/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/pt-br/design/patterns/navigation.jd
@@ -66,7 +66,7 @@
 <li>Mudar características de exibição (como mudar o zoom)</li>
 </ul>
 <h4>Navegação entre telas de mesmo nível</h4>
-<p>Quando o aplicativo suporta navegação de uma lista de itens para uma vista de detalhes de um desses itens, 
+<p>Quando o aplicativo suporta navegação de uma lista de itens para uma vista de detalhes de um desses itens,
 frequentemente é desejável dar suporte à navegação de direção daquele item para outro anterior ou
 posterior a ele na lista. Por exemplo, no Gmail, é fácil deslizar para a esquerda ou para a direita em uma
 conversa para visualizar uma mais nova ou mais antiga na mesma Caixa de entrada. Assim como ao mudar a vista dentro de uma tela, tal
@@ -82,9 +82,9 @@
 
 <img src="{@docRoot}design/media/navigation_between_siblings_market1.png">
 
-<p>Você tem a capacidade de deixar o comportamento de Para Cima ainda mais inteligente com base em seu conhecimento da 
+<p>Você tem a capacidade de deixar o comportamento de Para Cima ainda mais inteligente com base em seu conhecimento da
 vista de detalhe. Estendendo o exemplo da Play Store acima, imagine que o usuário navegou do último
-Livro visualizado para os detalhes da adaptação do Filme. Nesse caso, Para Cima pode retornar a um contêiner 
+Livro visualizado para os detalhes da adaptação do Filme. Nesse caso, Para Cima pode retornar a um contêiner
 (filmes) pelo qual o usuário não navegou anteriormente.</p>
 
 <img src="{@docRoot}design/media/navigation_between_siblings_market2.png">
@@ -116,7 +116,7 @@
 
 <h4>Notificações indiretas</h4>
 
-<p>Quando o aplicativo precisa apresentar simultaneamente informações sobre vários eventos, ele pode usar 
+<p>Quando o aplicativo precisa apresentar simultaneamente informações sobre vários eventos, ele pode usar
 uma única notificação que direcione o usuário a uma tela intersticial. Essa tela resume esses
 eventos e fornece caminhos para que o usuário mergulhe profundamente no aplicativo. Notificações desse estilo são
 chamadas de <em>notificações indiretas</em>.</p>
@@ -128,7 +128,7 @@
 navegando dentro do aplicativo em vez de voltar à tela intersticial.</p>
 
 <p>Por exemplo, suponha que um usuário no Gmail receba uma notificação indireta do Agenda. Tocar nessa
-notificação abrirá a tela intersticial, que exibirá lembretes para vários 
+notificação abrirá a tela intersticial, que exibirá lembretes para vários
 eventos. Tocar em Voltar na tela intersticial retornará o usuário ao Gmail. Tocar em um determinado evento
 levará o usuário da tela intersticial ao aplicativo completo do Agenda para exibir detalhes do
 evento. Dos detalhes do evento, Para Cima e Voltar navegam para a vista de nível superior do Agenda.</p>
@@ -169,7 +169,7 @@
 atividades, consistindo em atividades que você cria e naquelas que reutiliza de outros aplicativos.</p>
 
 <p>Uma <strong>tarefa</strong> é a sequência de atividades que um usuário segue para atingir um objetivo. Uma
-única tarefa pode usar atividades apenas de um aplicativo ou pode retirar atividades de uma série 
+única tarefa pode usar atividades apenas de um aplicativo ou pode retirar atividades de uma série
 de outros aplicativos.</p>
 
 <p>Uma <strong>intenção</strong> é um mecanismo para que um aplicativo sinalize que gostaria a assistência de outro
@@ -188,7 +188,7 @@
 
 <img src="{@docRoot}design/media/navigation_between_apps_inward.png">
 
-<p>Quando o usuário seleciona o compartilhamento via Gmail, a atividade de composição do Gmail é adicionada como uma continuação da 
+<p>Quando o usuário seleciona o compartilhamento via Gmail, a atividade de composição do Gmail é adicionada como uma continuação da
 Tarefa A &mdash; nenhuma tarefa nova é criada. Se o Gmail tivesse a própria tarefa em execução em segundo plano, ela não
 seria afetada.</p>
 
@@ -209,5 +209,5 @@
 pela Tarefa B &mdash; o contexto anterior é abandonado em favor do novo objetivo do usuário.</p>
 
 <p>Quando o aplicativo é registrado para tratar intenções com uma atividade em um ponto profundo da hierarquia do aplicativo,
-consulte <a href="#into-your-app">Navegação para o seu aplicativo pelos widgets de tela 
+consulte <a href="#into-your-app">Navegação para o seu aplicativo pelos widgets de tela
 inicial e notificações</a> para ver orientações sobre como especificar a navegação Para Cima.</p>
diff --git a/docs/html-intl/intl/pt-br/design/patterns/notifications.jd b/docs/html-intl/intl/pt-br/design/patterns/notifications.jd
index efea610..5560e85 100644
--- a/docs/html-intl/intl/pt-br/design/patterns/notifications.jd
+++ b/docs/html-intl/intl/pt-br/design/patterns/notifications.jd
@@ -43,12 +43,12 @@
 funcionais:</p>
 
 <ul>
-  <li>As notificações passaram por mudanças visuais consistentes com o novo 
+  <li>As notificações passaram por mudanças visuais consistentes com o novo
 tema do Material Design.</li>
   <li> As notificações agora estão disponíveis na tela de bloqueio do dispositivo, enquanto que
 o conteúdo sensível ainda pode
 ficar oculto atrás dela.</li>
-  <li>Notificações de alta prioridade recebidas enquanto o dispositivo está em uso agora usam um novo formato, chamado de 
+  <li>Notificações de alta prioridade recebidas enquanto o dispositivo está em uso agora usam um novo formato, chamado de
 notificações heads-up.</li>
   <li>Notificações sincronizadas na nuvem: descartar uma notificação em um dos
 dispositivos Android a descarta
@@ -62,7 +62,7 @@
 
 <h2 id="Anatomy">Anatomia de uma notificação</h2>
 
-<p>Esta seção aborda as partes básicas de uma notificação e como elas 
+<p>Esta seção aborda as partes básicas de uma notificação e como elas
 podem aparecer em diferentes tipos de dispositivos.</p>
 
 <h3 id="BaseLayout">Layout básico</h3>
@@ -83,7 +83,7 @@
 para versões anteriores da plataforma têm a mesma aparência e o mesmo funcionamento no Android
 5.0, com apenas mudanças menores de estilo que o sistema
 entrega a você. Para obter mais informações sobre notificações em versões
-anteriores do Android, consulte 
+anteriores do Android, consulte
 <a href="./notifications_k.html">Notificações no Android 4.4 ou em anteriores</a>.</p></p>
 
 
@@ -92,7 +92,7 @@
 
 <div style="clear:both;margin-top:20px">
       <p class="img-caption">
-      Layout básico de uma notificação em dispositivo portátil (à esquerda) e a mesma notificação em Wear (à direita), 
+      Layout básico de uma notificação em dispositivo portátil (à esquerda) e a mesma notificação em Wear (à direita),
 com uma foto do usuário e um ícone de notificação
     </p>
   </div>
@@ -110,8 +110,8 @@
 compacto e expandido.
  Para notificações de um evento, o Android fornece três modelos de layout
 expandido (texto, caixa de entrada e
- imagem) para usar em seu aplicativo. As imagens a seguir mostram como 
-se parecem notificações de um evento em 
+ imagem) para usar em seu aplicativo. As imagens a seguir mostram como
+se parecem notificações de um evento em
  dispositivos portáteis (à esquerda) e usados junto ao corpo (à direita).</p>
 
 <img style="margin-top:30px"
@@ -168,7 +168,7 @@
 e um nome de ação.
  Adicionar ações a um layout básico simples torna a notificação expansível,
 mesmo se a
-notificação não tiver um layout expandido. Como as ações são exibidas apenas para notificações 
+notificação não tiver um layout expandido. Como as ações são exibidas apenas para notificações
 expandidas
  e que ficam de outra forma ocultas, certifique-se de que qualquer ação que um
 usuário possa invocar de dentro de uma
@@ -207,7 +207,7 @@
 <h3 id="MakeItPersonal">Torne-a pessoal</h3>
 
 <p>Para notificações de itens enviados por outra pessoa (como uma mensagem ou
-atualização de status), inclua a imagem da pessoa usando 
+atualização de status), inclua a imagem da pessoa usando
 {@link android.app.Notification.Builder#setLargeIcon setLargeIcon()}. Anexe também informações sobre
 a pessoa nos metadados da notificação (consulte {@link android.app.Notification#EXTRA_PEOPLE}).</p>
 
@@ -235,8 +235,8 @@
 <em>Navegação para o seu aplicativo pelos widgets de página inicial e notificações</em> no padrão de projeto de <a href="{@docRoot}design/patterns/navigation.html#into-your-app">Navegação</a>.
 </p>
 
-<h3 id="correctly_set_and_manage_notification_priority">Definição e gerenciamento 
-corretos da prioridade das 
+<h3 id="correctly_set_and_manage_notification_priority">Definição e gerenciamento
+corretos da prioridade das
 notificações</h3>
 
 <p>O Android tem suporte para um sinalizador de prioridade para notificações. Esse sinalizador permite
@@ -311,11 +311,11 @@
 </table>
 
 
-<h4 id="how_to_choose_an_appropriate_priority"><strong>Como escolher uma prioridade 
+<h4 id="how_to_choose_an_appropriate_priority"><strong>Como escolher uma prioridade
 adequada
 </strong></h4>
 
-<p><code>DEFAULT</code>, <code>HIGH</code> e <code>MAX</code> são níveis de prioridade de interrupção e arriscam 
+<p><code>DEFAULT</code>, <code>HIGH</code> e <code>MAX</code> são níveis de prioridade de interrupção e arriscam
 interromper a atividade
 do usuário. Para evitar irritar os usuários de seu aplicativo, reserve níveis de prioridade de interrupção para
 notificações que:</p>
@@ -359,7 +359,7 @@
 href="/reference/android/app/Notification.html#CATEGORY_CALL">CATEGORY_CALL</a></code></p>
 </td>
     <td>
-<p>Chamada recebida (voz ou vídeo) ou solicitação similar de 
+<p>Chamada recebida (voz ou vídeo) ou solicitação similar de
 comunicação síncrona</p>
 </td>
  </tr>
@@ -508,7 +508,7 @@
 
 <p style="clear:left; padding-top:30px; padding-bottom:20px">Você pode fornecer
 mais detalhes sobre as notificações individuais que compõem um
-resumo usando o layout resumido expandido. Essa abordagem permite que os usuários 
+resumo usando o layout resumido expandido. Essa abordagem permite que os usuários
 entendam melhor quais
 notificações estão pendentes e decidam se estão interessados o suficiente para lê-las
 em detalhes dentro
@@ -525,13 +525,13 @@
 
 <p>Os usuários devem sempre controlar as notificações. Permita que o usuário
 desative as notificações
-de seu aplicativo ou altere as propriedades de alerta, como som de alerta e 
+de seu aplicativo ou altere as propriedades de alerta, como som de alerta e
 se a vibração será usada,
 adicionando um item de configuração da notificação nas configurações do aplicativo.</p>
 
 <h3 id="use_distinct_icons">Use ícones distintos</h3>
 <p>Ao olhar para a área de notificação, o usuário deverá ser capaz de discernir
-que tipos de 
+que tipos de
 notificações estão atualmente pendentes.</p>
 
 <div class="figure">
@@ -545,7 +545,7 @@
 
     <p><strong>O que fazer</strong></p>
     <p>Use o <a href="/design/style/iconography.html#notification">estilo de ícone de notificação</a> apropriado
- para ícones pequenos e o 
+ para ícones pequenos e o
     <a href="/design/style/iconography.html#action-bar">estilo de ícone de barra
 de ação</a> da luminosidade do Material para os ícones
     de ação.</p>
@@ -564,7 +564,7 @@
 </div>
 <p style="clear:both"><strong>O que não fazer</strong></p>
 
-<p>Use cores para distinguir o seu aplicativo dos outros. Ícones de notificação devem 
+<p>Use cores para distinguir o seu aplicativo dos outros. Ícones de notificação devem
 somente ser uma imagem com fundo branco sobre transparente.</p>
 
 
@@ -599,7 +599,7 @@
 
 <p>Para criar um aplicativo que as pessoas gostem de usar, é importante
 reconhecer que a atenção e o foco
-do usuário são recursos que devem ser protegidos. Apesar de o sistema de 
+do usuário são recursos que devem ser protegidos. Apesar de o sistema de
 notificação do Android ter
 sido projetado para minimizar o impacto das notificações na atenção do usuário,
 ainda é
@@ -617,7 +617,7 @@
    Exemplos de notificação que depende de tempo
   </p>
 
-<p>Apesar de aplicativos bem comportados geralmente se manifestarem apenas quando ocorre interação com eles, alguns 
+<p>Apesar de aplicativos bem comportados geralmente se manifestarem apenas quando ocorre interação com eles, alguns
 casos justificam que o aplicativo interrompa o usuário com uma notificação não solicitada.</p>
 
 <p>Use notificações principalmente para <strong>eventos que dependam de tempo</strong>, especialmente
@@ -625,11 +625,11 @@
 exemplo, um bate-papo recebido
 é uma forma síncrona em tempo real de comunicação: outro usuário
 espera ativamente a resposta. Eventos de calendário são outro exemplo bom de quando usar uma
-notificação e atrair a 
+notificação e atrair a
 atenção do usuário, pois o evento é iminente e eventos de calendário frequentemente
 envolvem outras pessoas.</p>
 
-<h3 style="clear:both" id="when_not_to_display_a_notification">Quando não exibir 
+<h3 style="clear:both" id="when_not_to_display_a_notification">Quando não exibir
 uma notificação</h3>
 
 <div class="figure" style="margin-top:60px">
@@ -646,8 +646,8 @@
 que fluem por uma rede social geralmente não justificam uma interrupção
 em tempo real. Para os usuários que se importam
 com elas, deixe que decidam recebê-las.</li>
-  <li> Não crie uma notificação se as informações novas relevantes estiverem 
-atualmente na tela. Em vez disso, 
+  <li> Não crie uma notificação se as informações novas relevantes estiverem
+atualmente na tela. Em vez disso,
 use a IU do próprio aplicativo para notificar o usuário das novas informações
 diretamente no contexto.
   Por exemplo, um aplicativo de bate-papo não deve criar notificações de sistema enquanto o
@@ -655,12 +655,12 @@
   <li> Não interrompa o usuário para realizar operações técnicas de baixo nível, como salvar
 ou sincronizar informações, nem atualize um aplicativo se o aplicativo ou o sistema puder resolver
 o problema sem envolver o usuário.</li>
-  <li> Não interrompa o usuário para informar um erro se o aplicativo 
-puder se recuperar dele por conta própria, sem que o usuário 
+  <li> Não interrompa o usuário para informar um erro se o aplicativo
+puder se recuperar dele por conta própria, sem que o usuário
 tome qualquer ação.</li>
   <li> Não crie notificações que não tenham conteúdo real de notificação e
 que meramente anunciem o seu
-aplicativo. Uma notificação deve fornecer informações úteis, oportunas e novas e 
+aplicativo. Uma notificação deve fornecer informações úteis, oportunas e novas e
 não deve ser usada
 meramente para executar um aplicativo.</li>
   <li> Não crie notificações supérfluas apenas para colocar sua marca na frente
@@ -673,7 +673,7 @@
 tela inicial.</li>
 </ul>
 
-<h2 style="clear:left" id="interacting_with_notifications">Interação com 
+<h2 style="clear:left" id="interacting_with_notifications">Interação com
 notificações</h2>
 
 <p>Notificações são indicadas por ícones na barra de status e podem ser acessadas
@@ -692,7 +692,7 @@
   </p>
 </div>
 <p>Notificações contínuas mantêm os usuários informados sobre um processo em andamento em
-segundo plano. 
+segundo plano.
 Por exemplo, reprodutores de música anunciam a faixa em reprodução no
 sistema de notificação e
 continuam a fazer isso até que o usuário interrompa a reprodução. Notificações contínuas também podem
@@ -701,7 +701,7 @@
 manualmente uma notificação contínua da gaveta de notificações.</p>
 
 <h3 id="ongoing_notifications">Reprodução de mídia</h3>
-<p>No Android 5.0, a tela de bloqueio não mostra controles de transporte por causa da classe 
+<p>No Android 5.0, a tela de bloqueio não mostra controles de transporte por causa da classe
 {@link android.media.RemoteControlClient} obsoleta. Mas ela <em>mostra</em> notificações, portanto, a notificação de reprodução
 de cada aplicativo agora é a forma
 principal para que os usuários controlem a reprodução em um estado bloqueado. Esse comportamento dá aos aplicativos mais
@@ -724,12 +724,12 @@
 
 <p>Notificações são notícias e, portanto, são essencialmente exibidas
 em ordem cronológica inversa, com
-consideração especial para a 
+consideração especial para a
 <a href="#correctly_set_and_manage_notification_priority">prioridade</a> da notificação declarada no aplicativo.</p>
 
 <p>Notificações são uma parte importante da tela de bloqueio e são exibidas proeminentemente
 sempre
-que a tela do dispositivo é exibida. O espaço na tela de bloqueio é restrito, portanto, 
+que a tela do dispositivo é exibida. O espaço na tela de bloqueio é restrito, portanto,
 é mais importante
 do que nunca identificar as notificações mais urgentes ou relevantes. Por esse
 motivo, o Android tem um
@@ -762,14 +762,14 @@
 
 <h3>Na tela de bloqueio</h3>
 
-<p>Como as notificações são visíveis na tela de bloqueio, a privacidade do usuário é uma consideração 
+<p>Como as notificações são visíveis na tela de bloqueio, a privacidade do usuário é uma consideração
 especialmente
- importante. Notificações frequentemente contêm informações sensíveis e 
+ importante. Notificações frequentemente contêm informações sensíveis e
 não devem necessariamente estar visíveis
 para qualquer pessoa que ligar a tela do dispositivo.</p>
 
 <ul>
-  <li> Para dispositivos que têm uma tela de bloqueio segura (PIN, padrão ou senha), a interface tem 
+  <li> Para dispositivos que têm uma tela de bloqueio segura (PIN, padrão ou senha), a interface tem
 partes públicas e privadas. A interface pública pode ser exibida em uma tela de bloqueio segura e,
 portanto, vista por qualquer pessoa. A interface privada é o mundo atrás da tela de bloqueio e
 só é revelada depois que o usuário faz login no dispositivo.</li>
@@ -828,7 +828,7 @@
 celular ao relógio
 e vice-versa. Os desenvolvedores também podem controlar quais ações são transmitidas. Se o
 seu aplicativo inclui
-ações que não podem ser executadas com um toque, oculte essas ações 
+ações que não podem ser executadas com um toque, oculte essas ações
 na sua notificação do Wear
 ou considere colocá-las em um aplicativo do Wear, permitindo que o usuário
 termine a ação
diff --git a/docs/html-intl/intl/pt-br/guide/components/bound-services.jd b/docs/html-intl/intl/pt-br/guide/components/bound-services.jd
index aa02494..032950e 100644
--- a/docs/html-intl/intl/pt-br/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/bound-services.jd
@@ -334,7 +334,7 @@
 </div>
 </div>
 
-<p>Caso precise que o serviço comunique-se com processos remotos, é possível usar 
+<p>Caso precise que o serviço comunique-se com processos remotos, é possível usar
 o {@link android.os.Messenger} para fornecer a interface ao serviço. Esta técnica permite
 estabelecer comunicação entre processos (IPC) sem precisar usar a AIDL.</p>
 
@@ -348,7 +348,7 @@
   <li>O {@link android.os.Messenger} cria um {@link android.os.IBinder} que o serviço
 retorna aos clientes a partir de {@link android.app.Service#onBind onBind()}.</li>
   <li>Os clientes usam {@link android.os.IBinder} para instanciar o {@link android.os.Messenger}
-(que menciona o {@link android.os.Handler} do serviço), que usam para enviar objetos 
+(que menciona o {@link android.os.Handler} do serviço), que usam para enviar objetos
 {@link android.os.Message} para o serviço.</li>
   <li>O serviço recebe cada {@link android.os.Message} em seu {@link
 android.os.Handler} &mdash; especificamente, no método {@link android.os.Handler#handleMessage
@@ -538,7 +538,7 @@
   </li>
 </ol>
 
-<p>Por exemplo, o fragmento a seguir conecta o cliente ao serviço criado acima 
+<p>Por exemplo, o fragmento a seguir conecta o cliente ao serviço criado acima
 <a href="#Binder">estendendo a classe Binder</a> para que tudo que ele tenha que fazer seja lançar
 o {@link android.os.IBinder} retornado para a classe {@code LocalService} e solicitar a instância de {@code
 LocalService}:</p>
@@ -637,7 +637,7 @@
 com qualquer cliente.</p>
 
 <p>Além disso, se o serviço for iniciado e aceitar vínculos, quando o sistema chamar
-o método {@link android.app.Service#onUnbind onUnbind()}, será possível retornar 
+o método {@link android.app.Service#onUnbind onUnbind()}, será possível retornar
 {@code true} opcionalmente se você quiser receber uma chamada de {@link android.app.Service#onRebind
 onRebind()} na próxima vez em que um cliente vincular-se ao serviço (em vez de receber uma chamada de {@link
 android.app.Service#onBind onBind()}). {@link android.app.Service#onRebind
diff --git a/docs/html-intl/intl/pt-br/guide/components/fragments.jd b/docs/html-intl/intl/pt-br/guide/components/fragments.jd
index 7b1acf9e..74f3dfe 100644
--- a/docs/html-intl/intl/pt-br/guide/components/fragments.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>Veja também</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Construção de uma IU dinâmica com Fragmentos</a></li>
@@ -361,8 +361,8 @@
 findFragmentByTag()}.</p>
 
 <p>Para ver uma atividade de exemplo que usa um fragmento como um trabalhador de segundo plano, sem uma IU, consulte o exemplo de {@code
-FragmentRetainInstance.java}, incluso nos exemplos do SDK (disponibilizados pelo 
-Android SDK Manager) e localizado no sistema como 
+FragmentRetainInstance.java}, incluso nos exemplos do SDK (disponibilizados pelo
+Android SDK Manager) e localizado no sistema como
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>.</p>
 
 
@@ -378,7 +378,7 @@
   <li>Adquirir fragmentos existentes na atividade, com {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (para fragmentos que forneçam uma IU
 no layout da atividade) ou {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()} (para fragmentos que forneçam ou não uma IU).</li> 
+findFragmentByTag()} (para fragmentos que forneçam ou não uma IU).</li>
   <li>Retire os fragmentos da pilha de retorno com {@link
 android.app.FragmentManager#popBackStack()} (simulando um comando de <em>Voltar</em> do usuário).</li>
   <li>Registre uma escuta para as alterações na pilha de retorno com {@link
@@ -600,7 +600,7 @@
 
 <h3 id="ActionBar">Adição de itens à barra de ação</h3>
 
-<p>Os fragmentos podem contribuir com itens de menu para o <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">menu de opções</a> da atividade (e, consequentemente, para a <a href="{@docRoot}guide/topics/ui/actionbar.html">barra de ação</a>) implementando 
+<p>Os fragmentos podem contribuir com itens de menu para o <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">menu de opções</a> da atividade (e, consequentemente, para a <a href="{@docRoot}guide/topics/ui/actionbar.html">barra de ação</a>) implementando
 {@link android.app.Fragment#onCreateOptionsMenu(Menu,MenuInflater) onCreateOptionsMenu()}. Para que este método
 receba chamadas, no entanto, você deve chamar {@link
 android.app.Fragment#setHasOptionsMenu(boolean) setHasOptionsMenu()} durante {@link
@@ -785,7 +785,7 @@
 
 <p>O segundo fragmento, {@code DetailsFragment}, exibe o resumo da peça para o item selecionado
 na lista de {@code TitlesFragment}:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>Uma nova chamada da classe {@code TitlesFragment}, ou seja, se o usuário clicar em um item de lista
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>Observe que esta atividade finaliza-se se a configuração for de paisagem,
 pois a atividade principal pode tomar o controle e exibir {@code DetailsFragment} juntamente com {@code TitlesFragment}.
 Isto pode acontecer se o usuário iniciar {@code DetailsActivity} enquanto estiver na orientação de retrato,
diff --git a/docs/html-intl/intl/pt-br/guide/components/fundamentals.jd b/docs/html-intl/intl/pt-br/guide/components/fundamentals.jd
index 47b9845..2fb8553 100644
--- a/docs/html-intl/intl/pt-br/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/fundamentals.jd
@@ -379,7 +379,7 @@
 aos usuários quando buscam esses aplicativos para seu dispositivo.</p>
 
 <p>Por exemplo: se o aplicativo exige uma câmera e usa APIs introduzidas no Android 2.1 (<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API de nível</a> 7),
-deve-se declarar esses requisitos no arquivo de manifesto da seguinte forma:</p> 
+deve-se declarar esses requisitos no arquivo de manifesto da seguinte forma:</p>
 
 <pre>
 &lt;manifest ... >
@@ -393,7 +393,7 @@
 <p>Assim, dispositivos que <em>não</em> tenham câmera e tenham
 versão Android <em>anterior</em> a 2.1 não poderão instalar o aplicativo a partir do Google Play.</p>
 
-<p>No entanto, também é possível declarar que o aplicativo usa a câmera como recurso 
+<p>No entanto, também é possível declarar que o aplicativo usa a câmera como recurso
 <em>não obrigatório</em>. Nesse caso, o aplicativo precisa definir o atributo <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#required">{@code required}</a>
  como {@code "false"} e verificar em tempo de execução
 se o dispositivo tem câmera e desativar os recursos da câmera conforme o necessário.</p>
diff --git a/docs/html-intl/intl/pt-br/guide/components/index.jd b/docs/html-intl/intl/pt-br/guide/components/index.jd
index 02fcaa6..5131ead 100644
--- a/docs/html-intl/intl/pt-br/guide/components/index.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=Componentes do aplicativo
 page.landing=true
-page.landing.intro=A estrutura de aplicativo do Android permite criar aplicativos ricos e inovadores usando um conjunto de componentes reutilizáveis. Esta seção explica como criar os componentes que definem os blocos de construção do aplicativo e como conectá-los usando intenções. 
-page.metaDescription=A estrutura de aplicativo do Android permite criar aplicativos ricos e inovadores usando um conjunto de componentes reutilizáveis. Esta seção mostra como criar os componentes que definem os blocos de construção do aplicativo e como conectá-los usando intenções. 
+page.landing.intro=A estrutura de aplicativo do Android permite criar aplicativos ricos e inovadores usando um conjunto de componentes reutilizáveis. Esta seção explica como criar os componentes que definem os blocos de construção do aplicativo e como conectá-los usando intenções.
+page.metaDescription=A estrutura de aplicativo do Android permite criar aplicativos ricos e inovadores usando um conjunto de componentes reutilizáveis. Esta seção mostra como criar os componentes que definem os blocos de construção do aplicativo e como conectá-los usando intenções.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>Artigos de blogue</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>Uso de DialogFragments</h4>
       <p>Nesta publicação, mostrarei como usar DialogFragments com a biblioteca de suporte v4 (para compatibilidade retroativa em dispositivos anteriores a Honeycomb) para mostrar uma caixa de diálogo de edição simples e retornar um resultado para a Atividade chamadora usando uma interface.</p>
@@ -21,7 +21,7 @@
       <h4>Fragmentos para todos</h4>
       <p>Hoje, lançamos uma biblioteca estática que expõe a mesma API Fragments (bem como o novo LoaderManager e algumas outras classes) para que aplicativos compatíveis com Android 1.6 e posteriores possam usar fragmentos para criar interfaces de usuário compatíveis com tablets. </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>Multiencadeamento para desempenho</h4>
       <p>Uma boa prática para criar aplicativos responsivos é garantir que o encadeamento principal da IU
@@ -32,11 +32,11 @@
 
   <div class="col-6">
     <h3>Treinamento</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>Gerenciamento do ciclo de vida da atividade</h4>
       <p>Essa lição explica a importância dos métodos de retorno de chamada do ciclo de vida que cada instância de
-Atividade recebe e como utilizá-los para que a atividade faça o que o usuário espera e não consuma recursos 
+Atividade recebe e como utilizá-los para que a atividade faça o que o usuário espera e não consuma recursos
 do sistema quando não estiver em uso.</p>
     </a>
 
diff --git a/docs/html-intl/intl/pt-br/guide/components/loaders.jd b/docs/html-intl/intl/pt-br/guide/components/loaders.jd
index f3c4209..c69cbbfd 100644
--- a/docs/html-intl/intl/pt-br/guide/components/loaders.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Classes principais</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>Exemplos relacionados</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 quando são recriados após uma alteração de configuração. Portanto, eles não precisam reconsultar
 os dados.</li>
   </ul>
- 
+
 <h2 id="summary">Resumo da API de carregador</h2>
 
 <p>Há várias classes e interfaces que podem ser envolvidas no uso
@@ -68,7 +68,7 @@
 {@link android.app.Fragment} para gerenciar uma ou mais instâncias de {@link
 android.content.Loader}. Isto ajuda um aplicativo a gerenciar
 operações executadas por longos períodos juntamente com o ciclo de vida de {@link android.app.Activity}
-ou {@link android.app.Fragment}; o uso mais comum disto é com 
+ou {@link android.app.Fragment}; o uso mais comum disto é com
 {@link android.content.CursorLoader}. No entanto, os aplicativos têm a liberdade de criar
 os próprios carregadores para outros tipos de dados.
     <br />
@@ -129,7 +129,7 @@
 para carregar dados de outra origem.</li>
   <li>Uma implementação de {@link android.app.LoaderManager.LoaderCallbacks}.
 É aqui que é possível criar novos carregadores e gerenciar as referências
-a carregadores existentes.</li> 
+a carregadores existentes.</li>
 <li>Uma maneira de exibir os dados do carregador, como um {@link
 android.widget.SimpleCursorAdapter}.</li>
   <li>Uma origem de dados, como um {@link android.content.ContentProvider}, ao usar
@@ -140,7 +140,7 @@
 <p>O {@link android.app.LoaderManager} gerencia uma ou mais instâncias de {@link
 android.content.Loader} dentro de uma {@link android.app.Activity}
 ou um {@link android.app.Fragment}. Há apenas um {@link
-android.app.LoaderManager} por atividade ou fragmento.</p> 
+android.app.LoaderManager} por atividade ou fragmento.</p>
 
 <p>Geralmente,
 inicializa-se um {@link android.content.Loader} dentro do método {@link
@@ -157,13 +157,13 @@
 <ul>
   <li>Um ID único que identifica o carregador. Neste exemplo, o ID é 0.</li>
 <li>Argumentos opcionais para fornecer ao carregador
-em construção (<code>null</code> neste exemplo).</li> 
+em construção (<code>null</code> neste exemplo).</li>
 
 <li>Uma implementação de {@link android.app.LoaderManager.LoaderCallbacks},
 que {@link android.app.LoaderManager} chama para relatar eventos do carregador. Nesse exemplo,
  a classe local implementa a interface de {@link
 android.app.LoaderManager.LoaderCallbacks}, para que ela passe uma referência
-para si, {@code this}.</li> 
+para si, {@code this}.</li>
 </ul>
 <p>A chamada de {@link android.app.LoaderManager#initLoader initLoader()} garante que o carregador
 foi inicializado e que está ativo. Ela possui dois possíveis resultados:</p>
@@ -193,7 +193,7 @@
 inicia e interrompe o carregamento quando necessário, além de manter o estado do carregador
 e do conteúdo associado. À medida que isso ocorre, você raramente interage com os carregadores
 diretamente (para ver um exemplo de métodos para aprimorar o comportamento
-de um carregador, consulte o exemplo de <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>). 
+de um carregador, consulte o exemplo de <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>).
 Geralmente, usam-se os métodos {@link
 android.app.LoaderManager.LoaderCallbacks} para intervir no processo de carregamento
 quando determinados eventos ocorrem. Para obter mais informações sobre este assunto, consulte <a href="#callback">Uso dos retornos de chamada de LoaderManager</a>.</p>
@@ -245,7 +245,7 @@
 — chamado quando um carregador anteriormente criado termina o seu carregamento.
 </li></ul>
 <ul>
-  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}  
+  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}
     — chamado quando um carregador anteriormente criado é reiniciado,
 tornando os dados indisponíveis.
 </li>
@@ -343,7 +343,7 @@
 <p>Este método é chamado quando um carregador anteriormente criado é reiniciado,
 tornando os dados indisponíveis. Este retorno de chamada permite que você descubra quando os dados
 estão prestes a serem liberados para que seja possível remover a referência a eles.  </p>
-<p>Esta implementação chama 
+<p>Esta implementação chama
 {@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}
 com um valor de <code>null</code>:</p>
 
@@ -366,7 +366,7 @@
 android.app.Fragment} que exibe uma {@link android.widget.ListView} contendo
 os resultados de uma consulta aos provedores de conteúdo de contatos. Ela usa um {@link
 android.content.CursorLoader} para gerenciar a consulta no provedor.</p>
- 
+
 <p>Para um aplicativo acessar os contatos de um usuário, como neste exemplo,
 o manifesto deverá incluir a permissão
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}.</p>
diff --git a/docs/html-intl/intl/pt-br/guide/components/processes-and-threads.jd b/docs/html-intl/intl/pt-br/guide/components/processes-and-threads.jd
index c8e636d..9bd335d 100644
--- a/docs/html-intl/intl/pt-br/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/processes-and-threads.jd
@@ -120,7 +120,7 @@
 
       <ul>
         <li>Se ele hospedar um {@link android.app.Activity} que não esteja em primeiro plano,
-mas ainda seja visível para o usuário (o seu método {@link android.app.Activity#onPause onPause()} tiver sido chamado). 
+mas ainda seja visível para o usuário (o seu método {@link android.app.Activity#onPause onPause()} tiver sido chamado).
 Isto poderá ocorrer, por exemplo, se a atividade em primeiro plano iniciar um diálogo, o que permitirá
 que a atividade anterior seja vista por trás dela.</li>
 
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/pt-br/guide/components/recents.jd b/docs/html-intl/intl/pt-br/guide/components/recents.jd
index 467f620..9f75885 100644
--- a/docs/html-intl/intl/pt-br/guide/components/recents.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/recents.jd
@@ -41,7 +41,7 @@
 atividades</a> e <a href="{@docRoot}guide/components/tasks-and-back-stack.html">tarefas</a> acessadas recentemente. O
 usuário pode navegar pela lista e selecionar uma tarefa a retomar ou remover uma tarefa da
 lista deslizando-a para fora. Com a versão 5.0 do Android (API de nível 21), várias instâncias da
-mesma atividade contendo diferentes documentos podem aparecer como tarefas na tela de visão geral. Por exemplo, o 
+mesma atividade contendo diferentes documentos podem aparecer como tarefas na tela de visão geral. Por exemplo, o
 Google Drive pode ter uma tarefa para cada um dos vários documentos do Google. Cada documento aparece como uma
 tarefa na tela de visão geral.</p>
 
@@ -158,8 +158,8 @@
 <dl>
   <dt>"{@code intoExisting}"</dt>
   <dd>A atividade reutiliza uma tarefa existente para o documento. Isso é o mesmo que configurar o
-  sinalizador {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} <em>sem</em> configurar 
-  o sinalizador {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}, como descrito em 
+  sinalizador {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT} <em>sem</em> configurar
+  o sinalizador {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}, como descrito em
   <a href="#flag-new-doc">Uso do sinalizador Intent para adicionar uma tarefa</a> acima.</dd>
 
   <dt>"{@code always}"</dt>
@@ -169,7 +169,7 @@
 
   <dt>"{@code none”}"</dt>
   <dd>A atividade não cria uma nova tarefa para o documento. A tela de visão geral trata a
-  atividade como aconteceria por padrão: ela exibe uma tarefa para o aplicativo, que 
+  atividade como aconteceria por padrão: ela exibe uma tarefa para o aplicativo, que
   retoma a atividade invocada por último pelo usuário.</dd>
 
   <dt>"{@code never}"</dt>
@@ -205,7 +205,7 @@
 
 <h3 id="#apptask-remove">Uso da classe AppTask para remover tarefas</h3>
 
-<p>Na atividade que cria uma nova tarefa na tela de visão geral, é possível 
+<p>Na atividade que cria uma nova tarefa na tela de visão geral, é possível
 especificar quando remover a tarefa e terminar todas as atividades associadas a ela chamando
 o método {@link android.app.ActivityManager.AppTask#finishAndRemoveTask() finishAndRemoveTask()}.</p>
 
diff --git a/docs/html-intl/intl/pt-br/guide/components/services.jd b/docs/html-intl/intl/pt-br/guide/components/services.jd
index 123d90a..564ac80 100644
--- a/docs/html-intl/intl/pt-br/guide/components/services.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/services.jd
@@ -185,7 +185,7 @@
 <p>Como atividades (e outros componentes), você deve declarar todos os serviços no arquivo de manifesto
 do aplicativo.</p>
 
-<p>Para declarar o serviço, adicione um elemento <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 
+<p>Para declarar o serviço, adicione um elemento <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a>
 como filho do elemento <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
 . Por exemplo:</p>
 
@@ -494,7 +494,7 @@
 
 <h3 id="StartingAService">Início de um serviço</h3>
 
-<p>É possível iniciar um dispositivo de uma atividade ou outro componente do aplicativo passando uma 
+<p>É possível iniciar um dispositivo de uma atividade ou outro componente do aplicativo passando uma
 {@link android.content.Intent} a {@link
 android.content.Context#startService startService()}. O sistema Android chama o método {@link
 android.app.Service#onStartCommand onStartCommand()} do serviço e passa a ele a {@link
diff --git a/docs/html-intl/intl/pt-br/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/pt-br/guide/components/tasks-and-back-stack.jd
index d309c67..8e485b0 100644
--- a/docs/html-intl/intl/pt-br/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/pt-br/guide/components/tasks-and-back-stack.jd
@@ -77,7 +77,7 @@
 </div>
 -->
 
-<p>A tela inicial do dispositivo é o ponto de partida para a maioria das tarefas. Quando o usuário toca em um ícone no inicializador do 
+<p>A tela inicial do dispositivo é o ponto de partida para a maioria das tarefas. Quando o usuário toca em um ícone no inicializador do
 aplicativo
  (ou em um atalho na tela inicial), essa tarefa do aplicativo acontece em primeiro plano. Se não
 existir nenhuma tarefa para o aplicativo (se o aplicativo não tiver sido usado recentemente), uma nova tarefa
@@ -85,7 +85,7 @@
 
 <p>Quando a atividade atual inicia outra, a nova atividade é colocada no topo da pilha
 e recebe foco. A atividade anterior permanece na pilha, mas é interrompida. Quando uma atividade
-para, o sistema retém o estado atual da interface do usuário. Quando o usuário pressiona o botão 
+para, o sistema retém o estado atual da interface do usuário. Quando o usuário pressiona o botão
 <em>Voltar</em>
 , a atividade atual é retirada do topo da pilha (a atividade é destruída)
 e a atividade anterior reinicia (o estado anterior da IU é restaurado). Atividades na pilha nunca
@@ -103,7 +103,7 @@
 destruída e a atividade anterior reinicia.</p>
 
 
-<p>Se o usuário continua pressionando <em>Voltar</em>, cada atividade na pilha é retirada para 
+<p>Se o usuário continua pressionando <em>Voltar</em>, cada atividade na pilha é retirada para
 revelar
 a anterior até que o usuário retorne à tela inicial (ou a qualquer atividade que estivesse em execução
 no começo da tarefa). Quando todas as atividades forem removidas da pilha, a tarefa não existirá mais.</p>
@@ -295,7 +295,7 @@
 
 <p>O atributo <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
 launchMode}</a> especifica uma instrução sobre como a atividade deve ser inicializada
-em uma tarefa. Há quatro modos diferentes de inicialização que podem ser designados ao atributo 
+em uma tarefa. Há quatro modos diferentes de inicialização que podem ser designados ao atributo
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">launchMode</a></code>:
 </p>
 
@@ -334,7 +334,7 @@
 a intenção àquela instância por meio de uma chamada do método {@link
 android.app.Activity#onNewIntent onNewIntent()} em vez de criar uma nova instância. Somente
 uma instância da atividade pode existir por vez.
-  <p class="note"><strong>Observação:</strong> embora a atividade inicie em uma nova tarefa, o botão 
+  <p class="note"><strong>Observação:</strong> embora a atividade inicie em uma nova tarefa, o botão
 <em>Voltar</em> ainda direciona o usuário à atividade anterior.</p></dd>
 <dt>{@code "singleInstance"}.</dt>
   <dd>Igual à {@code "singleTask"}, exceto que o sistema não inicializa nenhuma outra atividade
@@ -505,7 +505,7 @@
 href="{@docRoot}guide/topics/manifest/activity-element.html#clear">clearTaskOnLaunch</a></code></dt>
 <dd>Se esse atributo for definido como {@code "true"} na atividade raiz de uma tarefa,
 a pilha será apagada da atividade raiz sempre que o usuário sair da tarefa
-e retornar a ela.  Em outras palavras, é o oposto de 
+e retornar a ela.  Em outras palavras, é o oposto de
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#always">
 {@code alwaysRetainTaskState}</a>. O usuário sempre retorna à tarefa
 no estado inicial, mesmo ao retirar-se da tarefa somente por um momento.</dd>
@@ -557,13 +557,13 @@
 <em>Página inicial</em>. A tarefa é enviada para segundo plano e não fica mais visível. O usuário não tem como voltar
 à tarefa porque ela não é representada no inicializador do aplicativo.</p>
 
-<p>Para esses casos em que se deseja que o usuário não seja capaz de retornar a uma atividade, defina 
+<p>Para esses casos em que se deseja que o usuário não seja capaz de retornar a uma atividade, defina
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#finish">{@code finishOnTaskLaunch}</a>
- do elemento 
+ do elemento
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 como {@code "true"} (consulte <a href="#Clearing">Apagar a pilha</a>).</p>
 
-<p>Veja mais informações sobre a representação e o gerenciamento de atividades 
+<p>Veja mais informações sobre a representação e o gerenciamento de atividades
 na tela de visão geral em <a href="{@docRoot}guide/components/recents.html">
 Tela de visão geral</a>.</p>
 
diff --git a/docs/html-intl/intl/pt-br/guide/index.jd b/docs/html-intl/intl/pt-br/guide/index.jd
index ab39647..74151cc 100644
--- a/docs/html-intl/intl/pt-br/guide/index.jd
+++ b/docs/html-intl/intl/pt-br/guide/index.jd
@@ -29,7 +29,7 @@
 em segundo plano de forma independente.</p>
 
 <p>De um componente, é possível executar outro componente usando uma <em>intenção</em>. É possível até mesmo
-iniciar um componente em um aplicativo diferente, como uma atividade em um aplicativo de mapas para mostrar um endereço. Esse modelo 
+iniciar um componente em um aplicativo diferente, como uma atividade em um aplicativo de mapas para mostrar um endereço. Esse modelo
 fornece vários pontos de entrada para um único aplicativo e permite que qualquer aplicativo se comporte como o "padrão" de um usuário
 para uma ação que outros aplicativos podem invocar.</p>
 
@@ -53,7 +53,7 @@
 de layout para diversos tamanhos de tela e o sistema
 determina qual layout deverá aplicar com base no tamanho da tela do dispositivo atual.</p>
 
-<p>Você pode consultar a disponibilidade dos recursos do dispositivo em tempo de execução se qualquer recurso do 
+<p>Você pode consultar a disponibilidade dos recursos do dispositivo em tempo de execução se qualquer recurso do
 aplicativo exigir hardware específico, como uma câmera. Se necessário, também é possível declarar recursos que o aplicativo exige,
 para que mercados como a Google Play Store não permitam a instalação em dispositivos que não sejam compatíveis
 com aquele recurso.</p>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/pt-br/guide/topics/manifest/manifest-intro.jd
index e337796..639b6db 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/manifest/manifest-intro.jd
@@ -34,14 +34,14 @@
 <li>Descrever os componentes do aplicativo &mdash; as atividades,
 os serviços, os receptores de transmissão e os provedores de conteúdo que compõem
 o aplicativo.  Nomear as classes que implementam os componentes
-e publicam seus recursos (por exemplo, que mensagens {@link android.content.Intent 
+e publicam seus recursos (por exemplo, que mensagens {@link android.content.Intent
 Intent} eles podem tratar).  Essas declarações permitem ao sistema Android
 saber quais são os componentes e em que condições eles podem ser iniciados.</li>
 
-<li>Determinar que processos hospedarão componentes de aplicativo.</li>  
+<li>Determinar que processos hospedarão componentes de aplicativo.</li>
 
 <li>Declarar as permissões que o aplicativo deve ter para acessar
-partes protegidas da API e interagir com outros aplicativos.</li>  
+partes protegidas da API e interagir com outros aplicativos.</li>
 
 <li>Declarar também as permissões que outros devem ter
 para interagir com os componentes do aplicativo.</li>
@@ -66,7 +66,7 @@
 são documentados na totalidade em um arquivo separado.  Para exibir informações detalhadas
 sobre cada elemento, clique no nome do elemento no diagrama,
 na lista de elementos em ordem alfabética que acompanha o diagrama
-ou em qualquer outra menção ao nome do elemento. 
+ou em qualquer outra menção ao nome do elemento.
 </p>
 
 <pre>
@@ -128,7 +128,7 @@
 <p>
 Todos os elementos que podem aparecer no arquivo de manifesto estão
 relacionados abaixo em ordem alfabética.  Estes são os únicos elementos legais. Não é possível
-adicionar elementos ou atributos próprios.  
+adicionar elementos ou atributos próprios.
 </p>
 
 <p style="margin-left: 2em">
@@ -158,7 +158,7 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">Convenções de arquivos</h2>
 
@@ -172,25 +172,25 @@
 <dd>Somente os elementos
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
 e <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
-são necessários — eles devem estar presentes e ocorrer somente uma vez.  
+são necessários — eles devem estar presentes e ocorrer somente uma vez.
 A maioria dos outros pode ocorrer diversas vezes ou nunca &mdash; embora
 pelo menos alguns deles devam estar presentes para que o manifesto
 realize algo significativo.
 
 <p>
-Se um elemento contiver qualquer coisa, ele conterá outros elementos.  
+Se um elemento contiver qualquer coisa, ele conterá outros elementos.
 Todos os valores são definidos por meio de atributos, e não como dados de caracteres dentro de um elemento.
 </p>
 
 <p>
 Elementos de mesmo nível geralmente não são ordenados.  Por exemplo: os elementos
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
-e <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 
-podem ser combinados entre si em qualquer sequência.  (O elemento 
+e <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
+podem ser combinados entre si em qualquer sequência.  (O elemento
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
-é uma exceção a essa regra:  ele deve seguir o 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
+é uma exceção a essa regra:  ele deve seguir o
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 para o qual é alias.)
 </p></dd>
 
@@ -200,32 +200,32 @@
 a documentação como guia.  Para atributos verdadeiramente opcionais, ele menciona
 um valor padrão ou declara o que acontece na ausência de uma especificação.
 
-<p>Exceto por alguns atributos do elemento 
+<p>Exceto por alguns atributos do elemento
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
-raiz, todos os nomes de atributo têm um prefixo {@code android:} &mdash; 
+raiz, todos os nomes de atributo têm um prefixo {@code android:} &mdash;
 por exemplo, {@code android:alwaysRetainTaskState}.  Como o prefixo é universal,
 a documentação geralmente o omite ao referir-se a atributos
 pelo nome.</p></dd>
 
 <dt><b>Declaração de nomes de classe</b></dt>
 <dd>Muitos elementos correspondem a objetos Java, inclusive elementos do próprio
-aplicativo (o elemento 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-) e seus componentes principais &mdash; atividades 
-(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>), 
-serviços 
-(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>), 
-receptores de transmissão 
-(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>) 
-e provedores de conteúdo 
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).  
+aplicativo (o elemento
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+) e seus componentes principais &mdash; atividades
+(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>),
+serviços
+(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>),
+receptores de transmissão
+(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>)
+e provedores de conteúdo
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).
 
 <p>
-Se uma subclasse for definida, como quase sempre acontece para classes de componentes 
-({@link android.app.Activity}, {@link android.app.Service}, 
-{@link android.content.BroadcastReceiver} e {@link android.content.ContentProvider}), 
+Se uma subclasse for definida, como quase sempre acontece para classes de componentes
+({@link android.app.Activity}, {@link android.app.Service},
+{@link android.content.BroadcastReceiver} e {@link android.content.ContentProvider}),
 a subclasse será declarada por meio de um atributo {@code name}.  O nome deve conter
-toda a designação do pacote.  
+toda a designação do pacote.
 Por exemplo: uma subclasse {@link android.app.Service} pode ser declarada assim:
 </p>
 
@@ -240,11 +240,11 @@
 
 <p>
 No entanto, para encurtar, se o primeiro caractere da string for um ponto,
-a string será acrescentada ao nome do pacote do aplicativo (conforme especificado pelo atributo 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code> 
- do elemento 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
-).  A seguinte atribuição é igual à atribuição acima: 
+a string será acrescentada ao nome do pacote do aplicativo (conforme especificado pelo atributo
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
+ do elemento
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
+).  A seguinte atribuição é igual à atribuição acima:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -257,13 +257,13 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Ao iniciar um componente, o Android cria uma instância da subclasse nomeada.  
+Ao iniciar um componente, o Android cria uma instância da subclasse nomeada.
 Se nenhuma subclasse for especificada, ele criará uma instância da classe base.
 </p></dd>
 
 <dt><b>Vários valores</b></dt>
 <dd>Se for especificado mais de um valor, o elemento sempre será repetido
-em vez de listar os vários valores dentro de um único elemento.  
+em vez de listar os vários valores dentro de um único elemento.
 Por exemplo, um filtro de intenção pode listar algumas ações:
 
 <pre>&lt;intent-filter . . . &gt;
@@ -276,22 +276,22 @@
 <dt><b>Valores de recurso</b></dt>
 <dd>Alguns atributos têm valores que podem ser exibidos aos usuários &mdash; por exemplo,
 uma etiqueta e um ícone de uma atividade.  Os valores desses atributos
-devem ser localizados e, por tanto, definidos a partir de um recurso ou tema.  Os valores 
+devem ser localizados e, por tanto, definidos a partir de um recurso ou tema.  Os valores
 de recurso são expressos no formato a seguir:</p>
 
 <p style="margin-left: 2em">{@code @[<i>pacote</i>:]<i>tipo</i>:<i>nome</i>}</p>
 
 <p>
 em que o nome do <i>pacote</i> pode ser omitido se o recurso estiver no mesmo pacote
-que o aplicativo <i>tipo</i> é um tipo de recurso &mdash; como uma "string" ou 
-"drawable" (desenhável) &mdash; e <i>nome</i> é o nome que identifica o recurso específico.  
+que o aplicativo <i>tipo</i> é um tipo de recurso &mdash; como uma "string" ou
+"drawable" (desenhável) &mdash; e <i>nome</i> é o nome que identifica o recurso específico.
 Por exemplo:
 </p>
 
 <pre>&lt;activity android:icon="@drawable/smallPic" . . . &gt</pre>
 
 <p>
-Os valores de um tema são expressos de forma semelhante, mas, com um '{@code ?}' 
+Os valores de um tema são expressos de forma semelhante, mas, com um '{@code ?}'
 em vez de '{@code @}':
 </p>
 
@@ -299,8 +299,8 @@
 </p></dd>
 
 <dt><b>Valores de string</b></dt>
-<dd>Quando o valor de um atributo é uma string, devem-se usar duas barras invertidas ('{@code \\}') 
-para caracteres de escape &mdash; por exemplo, '{@code \\n}' para 
+<dd>Quando o valor de um atributo é uma string, devem-se usar duas barras invertidas ('{@code \\}')
+para caracteres de escape &mdash; por exemplo, '{@code \\n}' para
 uma nova linha ou '{@code \\uxxxx}' para um caractere Unicode.</dd>
 </dl>
 
@@ -320,7 +320,7 @@
 de transmissão) são ativados por <i>intenções</i>.  Intenções são
 pacotes de informações (objetos {@link android.content.Intent}) que descrevem
 uma ação desejada &mdash; inclusive os dados usados em ações, a categoria
-do componente que deve executar a ação e outras instruções pertinentes.  
+do componente que deve executar a ação e outras instruções pertinentes.
 O Android localiza um componente adequado para responder à intenção, inicia
 uma nova instância do componente se necessário e passa-o
 ao objeto da intenção.
@@ -330,7 +330,7 @@
 Os componentes anunciam seus recursos &mdash; os tipos de intenção aos quais eles podem
 responder &mdash; por meio de <i>filtros de intenções</i>.  Como o sistema Android
 precisa saber que intenções um componente pode tratar antes de iniciá-lo, os filtros
-de intenções são especificados no manifesto como elementos 
+de intenções são especificados no manifesto como elementos
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
 .  Os componentes podem ter qualquer quantidade de filtros, em que cada um descreve
 um recurso diferente.
@@ -345,8 +345,8 @@
 
 <p>
 Para ver como os objetos de intenção são testados em relação aos filtros de intenções,
-consulte o documento 
-<a href="{@docRoot}guide/components/intents-filters.html">Intenções 
+consulte o documento
+<a href="{@docRoot}guide/components/intents-filters.html">Intenções
 e filtros de intenções</a> em separado.
 </p>
 
@@ -355,41 +355,41 @@
 
 <p>
 Alguns elementos têm atributos {@code icon} e {@code label} de um pequeno ícone
-e uma etiqueta de texto que pode ficar visível para os usuários.  Alguns deles também têm um atributo 
-{@code description} para um texto explicativo mais longo que também pode ser 
-exibido na tela.  Por exemplo: o elemento 
+e uma etiqueta de texto que pode ficar visível para os usuários.  Alguns deles também têm um atributo
+{@code description} para um texto explicativo mais longo que também pode ser
+exibido na tela.  Por exemplo: o elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-tem todos os três atributos; assim, quando o usuário é consultado para dar 
-permissão a um aplicativo que a solicitou, serão apresentados ao usuário um ícone 
-que representa a permissão, o nome da permissão e uma descrição 
+tem todos os três atributos; assim, quando o usuário é consultado para dar
+permissão a um aplicativo que a solicitou, serão apresentados ao usuário um ícone
+que representa a permissão, o nome da permissão e uma descrição
 de tudo o que está envolvido.
 </p>
 
 <p>
-Em todo caso, o ícone e a etiqueta definidos em um elemento recipiente se tornam as configurações 
-{@code icon} e {@code label} padrão de todos os subelementos do contêiner.  
-Assim, o ícone e a etiqueta definidos no elemento 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-são o ícone e a etiqueta padrão para cada um dos componentes do aplicativo.  
-Da mesma forma, o ícone e a etiqueta definidos para um componente &mdash; por exemplo, um elemento 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
- &mdash; são as configurações padrão para cada um dos elementos 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
+Em todo caso, o ícone e a etiqueta definidos em um elemento recipiente se tornam as configurações
+{@code icon} e {@code label} padrão de todos os subelementos do contêiner.
+Assim, o ícone e a etiqueta definidos no elemento
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+são o ícone e a etiqueta padrão para cada um dos componentes do aplicativo.
+Da mesma forma, o ícone e a etiqueta definidos para um componente &mdash; por exemplo, um elemento
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+ &mdash; são as configurações padrão para cada um dos elementos
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
 do componente.  Se um elemento
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-define uma etiqueta, mas uma atividade e seu filtro de intenção não definem, 
-a etiqueta do aplicativo é tratada como a etiqueta de atividade 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+define uma etiqueta, mas uma atividade e seu filtro de intenção não definem,
+a etiqueta do aplicativo é tratada como a etiqueta de atividade
 e do filtro de intenção.
 </p>
 
 <p>
-O ícone e a etiqueta definidos para um filtro de intenção são usados para representar um componente 
+O ícone e a etiqueta definidos para um filtro de intenção são usados para representar um componente
 apresentado para o usuário para preencher a função
-anunciada pelo filtro.  Por exemplo: um filtro com as configurações 
-"{@code android.intent.action.MAIN}" e 
-"{@code android.intent.category.LAUNCHER}" anuncia uma atividade 
+anunciada pelo filtro.  Por exemplo: um filtro com as configurações
+"{@code android.intent.action.MAIN}" e
+"{@code android.intent.category.LAUNCHER}" anuncia uma atividade
 como uma que inicia um aplicativo &mdash; ou seja,
-que deve ser exibida no inicializador do aplicativo.  O ícone e a etiqueta 
+que deve ser exibida no inicializador do aplicativo.  O ícone e a etiqueta
 definidos no filtro são, portanto, as exibidas no inicializador.
 </p>
 
@@ -397,14 +397,14 @@
 <h3 id="perms">Permissões</h3>
 
 <p>
-As <i>permissões</i> são restrições que limitam o acesso a parte do código 
-ou aos dados de um dispositivo.   A limitação é imposta para proteger dados 
-essenciais que podem sofrer mau uso e distorções ou prejudicar a experiência do usuário.  
+As <i>permissões</i> são restrições que limitam o acesso a parte do código
+ou aos dados de um dispositivo.   A limitação é imposta para proteger dados
+essenciais que podem sofrer mau uso e distorções ou prejudicar a experiência do usuário.
 </p>
 
 <p>
-Cada permissão é identificada por uma etiqueta exclusiva.  Geralmente a etiqueta indica 
-a ação que foi restringida.  A seguir há alguns exemplos de permissões definidas 
+Cada permissão é identificada por uma etiqueta exclusiva.  Geralmente a etiqueta indica
+a ação que foi restringida.  A seguir há alguns exemplos de permissões definidas
 pelo Android:
 </p>
 
@@ -418,25 +418,25 @@
 </p>
 
 <p>
-Se um aplicativo precisar de acesso a um recurso protegido por uma permissão, 
-ele deve declarar que precisa da permissão com um elemento 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-no manifesto.  Assim, quando o aplicativo é instalado 
-no dispositivo, o instalador determina se concederá ou não a permissão 
-solicitada, marcando as autoridades que assinaram os certificados 
-do aplicativo e, em alguns casos, perguntando ao usuário.  
-Se a permissão for concedida, o aplicativo será capaz de usar os recursos 
-protegidos.  Caso contrário, sua tentativa de acessar esses recursos simplesmente falhará 
-sem nenhuma notificação ao usuário. 
+Se um aplicativo precisar de acesso a um recurso protegido por uma permissão,
+ele deve declarar que precisa da permissão com um elemento
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+no manifesto.  Assim, quando o aplicativo é instalado
+no dispositivo, o instalador determina se concederá ou não a permissão
+solicitada, marcando as autoridades que assinaram os certificados
+do aplicativo e, em alguns casos, perguntando ao usuário.
+Se a permissão for concedida, o aplicativo será capaz de usar os recursos
+protegidos.  Caso contrário, sua tentativa de acessar esses recursos simplesmente falhará
+sem nenhuma notificação ao usuário.
 </p>
 
 <p>
-Um aplicativo também pode proteger seus componentes (atividades, serviços, 
-receptores de transmissão e provedores de conteúdo) com permissões.  Ele pode empregar 
-qualquer uma das permissões definidas pelo Android (listadas em 
-{@link android.Manifest.permission android.Manifest.permission}) ou declaradas 
-por outros aplicativos.  Ou então, ele pode definir as suas próprias.  As novas permissões são declaradas 
-com o elemento 
+Um aplicativo também pode proteger seus componentes (atividades, serviços,
+receptores de transmissão e provedores de conteúdo) com permissões.  Ele pode empregar
+qualquer uma das permissões definidas pelo Android (listadas em
+{@link android.Manifest.permission android.Manifest.permission}) ou declaradas
+por outros aplicativos.  Ou então, ele pode definir as suas próprias.  As novas permissões são declaradas
+com o elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>.
   Por exemplo: uma atividade pode ser protegida da seguinte forma:
 </p>
@@ -458,41 +458,41 @@
 
 <p>
 Observe que, nesse exemplo, a permissão {@code DEBIT_ACCT}, além de declarada
-com o elemento 
+com o elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-, tem seu uso solicitado com o elemento 
+, tem seu uso solicitado com o elemento
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>.
   Ela deve ser solicitada para que outros componentes do aplicativo
-iniciem a atividade protegida, mesmo que a proteção 
-seja imposta pelo próprio aplicativo.  
+iniciem a atividade protegida, mesmo que a proteção
+seja imposta pelo próprio aplicativo.
 </p>
 
 <p>
 Se, no mesmo exemplo, o atributo {@code permission} fosse definido
-como uma permissão declarada em outro lugar 
+como uma permissão declarada em outro lugar
 (como {@code android.permission.CALL_EMERGENCY_NUMBERS}), não seria
-necessário declará-la novamente com um elemento 
+necessário declará-la novamente com um elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>.
-  No entanto, ainda seria necessário solicitar seu uso com 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>. 
+  No entanto, ainda seria necessário solicitar seu uso com
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>.
 </p>
 
 <p>
-O elemento 
-<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code> 
-declara um espaço de nome de um grupo de permissões que será definido 
-no código.  E 
+O elemento
+<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code>
+declara um espaço de nome de um grupo de permissões que será definido
+no código.  E
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-define um etiqueta de um conjunto de permissões (os dois declarados no manifesto com elementos 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-e as declaradas em outro lugar).  Ele afeta somente a forma com que as permissões estão 
-agrupadas quando apresentadas ao usuário.  O elemento 
+define um etiqueta de um conjunto de permissões (os dois declarados no manifesto com elementos
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+e as declaradas em outro lugar).  Ele afeta somente a forma com que as permissões estão
+agrupadas quando apresentadas ao usuário.  O elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-não especifica que permissões pertencem ao grupo; 
+não especifica que permissões pertencem ao grupo;
 ele só dá um nome ao grupo.  Para incluir uma permissão no grupo,
-designa-se o nome do grupo ao atributo 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code> 
- do elemento 
+designa-se o nome do grupo ao atributo
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code>
+ do elemento
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>.
 
 </p>
@@ -501,17 +501,17 @@
 <h3 id="libs">Bibliotecas</h3>
 
 <p>
-Todo aplicativo está vinculado à biblioteca Android padrão, que 
-contém os pacotes básicos para programar aplicativos (com classes comuns 
+Todo aplicativo está vinculado à biblioteca Android padrão, que
+contém os pacotes básicos para programar aplicativos (com classes comuns
 tais como Activity, Service, Intent, View, Button, Application, ContentProvider
 etc.).
 </p>
 
 <p>
-No entanto, alguns pacotes residem em suas próprias bibliotecas.  Se o aplicativo 
-usar código de algum desses pacotes, ele deve receber solicitação explícita para ser 
-vinculado a eles.  O manifesto deve conter um elemento 
+No entanto, alguns pacotes residem em suas próprias bibliotecas.  Se o aplicativo
+usar código de algum desses pacotes, ele deve receber solicitação explícita para ser
+vinculado a eles.  O manifesto deve conter um elemento
 <code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code>
- separado para nomear cada uma das bibliotecas  (o nome da biblioteca se encontra 
+ separado para nomear cada uma das bibliotecas  (o nome da biblioteca se encontra
 na documentação do pacote).
 </p>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/calendar-provider.jd
index ce72b7d..42a517b 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">Uso de intenções para exibir dados de agenda</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">Adaptadores de sincronização</a></li>
 </ol>
 
@@ -113,26 +113,26 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>Essa tabela contém
 as informações específicas da agenda. Cada linha nessa tabela contém os detalhes
 de uma única agenda, como nome, cor, informações de sincronização etc.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>Essa tabela contém
 as informações específicas do evento. Cada linha nessa tabela tem as informações de um único
 evento &mdash; por exemplo: título do evento, local, horário de início, horário
 de término etc. O evento pode ocorrer uma vez ou diversas vezes. Os participantes,
-lembretes e propriedades estendidas são armazenados em tabelas separadas. 
+lembretes e propriedades estendidas são armazenados em tabelas separadas.
 Cada um deles tem um {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 que referencia o {@link android.provider.BaseColumns#_ID} na tabela de eventos.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>Essa tabela contém os
 horários de início e término para cada ocorrência em um evento. Cada linha nessa tabela
 representa uma única ocorrência do evento. Para eventos de ocorrência única, há um mapeamento 1:1
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>Essa tabela contém
 as informações dos participantes (convidados) do evento. Cada linha representa um único convidado
 de um evento. Ela especifica o tipo de convidado e a resposta quanto à participação do convidado
@@ -149,7 +149,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>Essa tabela contém os
 dados de alerta/notificação. Cada linha representa um único alerta de um evento. Um evento
 pode ter vários lembretes. O número máximo de lembretes por evento
@@ -159,7 +159,7 @@
 que possui a agenda fornecida. Os lembretes são especificados em minutos antes do evento
 e têm um método que determina a forma de alertar o usuário.</td>
   </tr>
-  
+
 </table>
 
 <p>A API do Provedor de Agenda é projetada para ser flexível e poderosa. Ao mesmo tempo,
@@ -211,7 +211,7 @@
 
 <p>A tabela {@link android.provider.CalendarContract.Calendars} contém detalhes
 de agendas individuais. As colunas
-Agendas a seguir são graváveis tanto por aplicativos quanto por <a href="#sync-adapter">adaptadores de sincronização</a>. 
+Agendas a seguir são graváveis tanto por aplicativos quanto por <a href="#sync-adapter">adaptadores de sincronização</a>.
 Para obter uma lista completa de campos compatíveis, consulte
 a referência {@link android.provider.CalendarContract.Calendars}</p>
 <table>
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>Um booleano indicando se a agenda foi selecionada para ser exibida. Um valor
 de 0 indica que eventos associados a essa agenda não devem ser
 exibidos.  Um valor de 1 indica que eventos associados a essa agenda devem
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>Um booleano que indica se a agenda deve ser sincronizada e ter
 os eventos armazenados no dispositivo. Um valor de 0 indica a não sincronização dessa agenda
 e o não armazenamento dos eventos no dispositivo.  Um valor de 1 indica a sincronização dos eventos dessa agenda
@@ -253,7 +253,7 @@
 <p>A seguir há um exemplo que mostra como obter as agendas de propriedade de determinado
 usuário. Para simplificar o exemplo, a operação de consulta é exibida no
 encadeamento da interface do usuário ("encadeamento principal"). Na prática, isso deve ser feito em um encadeamento
-assíncrono em vez de no encadeamento principal. Para ver mais discussões, consulte 
+assíncrono em vez de no encadeamento principal. Para ver mais discussões, consulte
 <a href="{@docRoot}guide/components/loaders.html">Carregadores</a>. Se você não estiver somente
 lendo dados, mas modificando-os, consulte {@link android.content.AsyncQueryHandler}.
 </p>
@@ -268,13 +268,13 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Por que incluir
 ACCOUNT_TYPE?</h3> <p>Ao consultar um {@link
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} para agendas
 não associadas a nenhuma conta do dispositivo. Contas {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} não são
-sincronizadas.</p> </div> </div> 
+sincronizadas.</p> </div> </div>
 
 
 <p> Na próxima parte do exemplo, você construirá a consulta. A seleção
@@ -308,38 +308,38 @@
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>Essa próxima seção usa o cursor para avançar pelo conjunto de resultados. Ele usa
 as constantes definidas no início do exemplo para retornar os valores
 de cada campo.</p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">Modificação de uma agenda</h3>
 
 <p>Para realizar uma atualização de uma agenda, é possível fornecer o {@link
@@ -350,7 +350,7 @@
 ou como o primeiro item de seleção. A seleção
 deve iniciar com <code>&quot;_id=?&quot;</code> e o primeiro
 <code>selectionArg</code> deve ser o {@link
-android.provider.BaseColumns#_ID} da agenda. 
+android.provider.BaseColumns#_ID} da agenda.
 Também é possível realizar atualizações com codificações do ID na URI. Este exemplo altera
 o nome de exibição de uma agenda usando a
 abordagem
@@ -377,14 +377,14 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}.
 {@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 é um tipo de conta especial para agendas
-não associado a nenhuma conta do dispositivo. Agendas desse tipo não são sincronizadas com um servidor. Para 
+não associado a nenhuma conta do dispositivo. Agendas desse tipo não são sincronizadas com um servidor. Para
 ver discussões sobre adaptadores de sincronização, consulte <a href="#sync-adapter">Adaptadores de sincronização</a>.</p>
 
 <h2 id="events">Tabela de eventos</h2>
 
 <p>A tabela {@link android.provider.CalendarContract.Events} contém detalhes
 de eventos individuais. Para adicionar, atualizar ou excluir eventos, um aplicativo deve
-conter a permissão {@link android.Manifest.permission#WRITE_CALENDAR} 
+conter a permissão {@link android.Manifest.permission#WRITE_CALENDAR}
 no <a href="#manifest">arquivo de manifesto</a>.</p>
 
 <p>As colunas de Eventos a seguir são graváveis tanto por um aplicativo quanto por um adaptador
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>A duração do evento em formato <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RCF5545</a>.
 Por exemplo, um valor de <code>&quot;PT1H&quot;</code> indica que o evento
 deve durar uma hora, e um valor de <code>&quot;P2W&quot;</code> indica
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>Um valor de 1 indica que esse evento ocupa o dia inteiro, como definido
 pelo fuso horário local. Um valor de 0 indica que é um evento comum que pode iniciar
 e terminar a qualquer momento durante um dia.</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>A regra de recorrência do formato do evento. Por
 exemplo, <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>. Veja
 mais exemplos <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">aqui</a>.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>As datas de recorrência do evento. 
-    Normalmente, usa-se {@link android.provider.CalendarContract.EventsColumns#RDATE} 
-    em conjunto com {@link android.provider.CalendarContract.EventsColumns#RRULE} 
+    <td>As datas de recorrência do evento.
+    Normalmente, usa-se {@link android.provider.CalendarContract.EventsColumns#RDATE}
+    em conjunto com {@link android.provider.CalendarContract.EventsColumns#RRULE}
     para definir um conjunto agregado
 de ocorrências repetidas. Para ver mais discussões, consulte <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">Especificação RFC5545</a>.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>Se esse evento considera tempo ocupado ou se há tempo livre que pode ser
 reagendado. </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 a inserções de evento pela intenção {@link
 android.content.Intent#ACTION_INSERT INSERT} descrita em <a href="#intent-insert">Uso de uma intenção para inserir um evento</a> &mdash; nesta
 situação, é fornecido um fuso horário padrão.</li>
-  
+
   <li>Para eventos não recorrentes, é preciso incluir {@link
 android.provider.CalendarContract.EventsColumns#DTEND}. </li>
-  
-  
+
+
   <li>Para eventos recorrentes, é necessário incluir uma {@link
 android.provider.CalendarContract.EventsColumns#DURATION} além de uma {@link
 android.provider.CalendarContract.EventsColumns#RRULE} ou {@link
@@ -528,7 +528,7 @@
 é possível usar uma {@link
 android.provider.CalendarContract.EventsColumns#RRULE} em conjunto com {@link android.provider.CalendarContract.EventsColumns#DTSTART} e {@link android.provider.CalendarContract.EventsColumns#DTEND}. Desta forma, o aplicativo Agenda
 a converte em uma duração automaticamente.</li>
-  
+
 </ul>
 
 <p>A seguir há um exemplo de inserção de um evento: para simplificar, isso está sendo realizado
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -581,7 +581,7 @@
 de um evento, é possível fornecer o <code>_ID</code>
 do evento como um ID anexado à URI ({@link
 android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
-ou como o primeiro item de seleção. 
+ou como o primeiro item de seleção.
 A seleção deve iniciar com <code>&quot;_id=?&quot;</code> e o primeiro
 <code>selectionArg</code> deve ser o <code>_ID</code> do evento. Você também
 pode realizar atualizações usando uma seleção sem ID. A seguir há um exemplo de como atualizar
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -608,7 +608,7 @@
 <p>Pode-se excluir um evento tanto pelo {@link
 android.provider.BaseColumns#_ID} como um ID anexado na URI quanto usando-se
 a seleção padrão. Ao usar um ID anexado, não é possível fazer seleções.
-Há duas versões de exclusão: como aplicativo e como adaptador de sincronização. 
+Há duas versões de exclusão: como aplicativo e como adaptador de sincronização.
 A exclusão por um aplicativo define as colunas <em>excluídas</em> como 1. Esse sinalizador é que diz
 ao adaptador de sincronização que a linha foi excluída e que essa exclusão deve ser
 propagada para o servidor. A exclusão por um adaptador de sincronização remove o evento
@@ -625,7 +625,7 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Tabela de participantes</h2>
@@ -634,10 +634,10 @@
 representa um único participante ou convidado de um evento. Chamar
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 retorna uma lista de participantes para
-o evento com o {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} dado. 
+o evento com o {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} dado.
 Esse {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 deve corresponder ao {@link
-android.provider.BaseColumns#_ID} de determinado evento.</p> 
+android.provider.BaseColumns#_ID} de determinado evento.</p>
 
 <p>A tabela a seguir lista
 os campos graváveis. Ao inserir um novo participante, é necessário incluir todos eles
@@ -773,7 +773,7 @@
 
 <h2 id="instances">Tabela de instâncias</h2>
 
-<p>A tabela 
+<p>A tabela
 {@link android.provider.CalendarContract.Instances} contém
 os horários de início e término das ocorrência de um evento. Cada linha nessa tabela
 representa uma única ocorrência do evento. A tabela de instâncias não é gravável e fornece
@@ -782,7 +782,7 @@
 <p>A tabela a seguir relaciona alguns dos campos passíveis de consulta de uma instância. Observe
 que o fuso horário é definido por
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
-e 
+e
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}.</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>O dia final juliano da instância relativo ao fuso horário
-do Agenda. 
-    
+do Agenda.
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>O minuto final da instância calculado a partir de meia-noite
 no fuso horário do Agenda.</td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>O dia inicial juliano da instância relativo ao fuso horário do Agenda. 
+    <td>O dia inicial juliano da instância relativo ao fuso horário do Agenda.
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>O minuto inicial da instância calculado a partir de meia-noite, relativo
-ao fuso horário do Agenda. 
+ao fuso horário do Agenda.
 </td>
-    
+
   </tr>
 
 </table>
@@ -840,7 +840,7 @@
 na URI. Neste exemplo, {@link android.provider.CalendarContract.Instances}
 obtém acesso ao campo {@link
 android.provider.CalendarContract.EventsColumns#TITLE} por meio
-da sua implementação da interface {@link android.provider.CalendarContract.EventsColumns}. 
+da sua implementação da interface {@link android.provider.CalendarContract.EventsColumns}.
 Em outras palavras, {@link
 android.provider.CalendarContract.EventsColumns#TITLE} é retornado por uma
 vista do banco de dados, não pela consulta da tabela {@link
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -923,8 +923,8 @@
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
     Também pode-se consultar a URI com
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}. 
-Para ver um exemplo do uso dessa intenção, consulte <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Uso de intenções para exibir dados de calendários</a>. 
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}.
+Para ver um exemplo do uso dessa intenção, consulte <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Uso de intenções para exibir dados de calendários</a>.
 
     </td>
     <td>Abre a agenda no horário especificado por <code>&lt;ms_since_epoch&gt;</code>.</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
     Também é possível consultar a URI com
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Para ver um exemplo do uso dessa intenção, consulte <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Uso de intenções para exibir dados de calendários</a>.
-    
+
     </td>
     <td>Exibe o evento especificado por <code>&lt;event_id&gt;</code>.</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
   Também é possível consultar a URI com
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Para ver um exemplo do uso dessa intenção, consulte <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">Uso de uma intenção para editar um evento</a>.
-    
-    
+
+
     </td>
     <td>Edita o evento especificado por <code>&lt;event_id&gt;</code>.</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
+
    Também é possível consultar a URI com
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Para ver um exemplo do uso dessa intenção, consulte <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">Uso de uma intenção para inserir um evento</a>.
-    
+
     </td>
 
     <td>Cria um evento.</td>
@@ -996,7 +996,7 @@
     <td>Nome do evento.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>Horário de início do evento em milissegundos a partir da época.</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>Horário de término do evento em milissegundos a partir da época.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>Um booleano que indica que um evento acontece o dia inteiro. O valor pode ser
 <code>true</code> ou <code>false</code>.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>Local do evento.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>Descrição do evento.</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>Se o evento é privado ou público.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>Se esse evento considera tempo ocupado na contagem ou se há tempo livre que pode ser reagendado.</td>
-    
-</table> 
+
+</table>
 <p>As seções a seguir descrevem como usar estas intenções.</p>
 
 
@@ -1059,14 +1059,14 @@
 Com essa abordagem, o aplicativo não precisará ter a permissão {@link
 android.Manifest.permission#WRITE_CALENDAR} contida no <a href="#manifest">arquivo de manifesto</a>.</p>
 
-  
+
 <p>Quando usuários executam um aplicativo que usa essa abordagem, ele os direciona
 ao Agenda para finalizar a adição do evento. A intenção {@link
 android.content.Intent#ACTION_INSERT INSERT} usa campos extras para
 pré-preencher um formulário com os detalhes do evento na Agenda. Os usuários podem,
 então, cancelar o evento, editar o formulário conforme o necessário ou salvar o evento nas suas
 agendas.</p>
-  
+
 
 
 <p>A seguir há um fragmento de código que agenda um evento em 19 de janeiro de 2012, que acontece
@@ -1075,7 +1075,7 @@
 <ul>
   <li>Ele especifica {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}
  como a URI.</li>
-  
+
   <li>Ele usa os campos extras {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} e {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} para pré-preencher o formulário
 com o horário do evento. Os valores desses horários devem estar em milissegundos UTC
 da época.</li>
-  
+
   <li>Ele usa o campo extra {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
  para fornecer uma lista de termos separados por vírgula de convidados, especificados por endereço de e-mail.</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,12 +1158,12 @@
 
 <ul>
   <li>Um adaptador de sincronização precisa especificar que é um adaptador de sincronização que define {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} como <code>true</code>.</li>
-  
-  
+
+
   <li>Os adaptadores de sincronização precisam fornecer um {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} e um {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} como parâmetros da consulta na URI. </li>
-  
+
   <li>Os adaptadores de sincronização têm acesso de gravação a mais colunas do que um aplicativo ou widget.
   Por exemplo: um aplicativo só pode modificar algumas características de uma agenda,
 como nome, nome de exibição, configurações de visibilidade e se a agenda está
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>Para obter uma implementação de exemplo de um adaptador de sincronização (não especificamente relacionada ao Agenda), consulte 
+<p>Para obter uma implementação de exemplo de um adaptador de sincronização (não especificamente relacionada ao Agenda), consulte
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>.
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/contacts-provider.jd
index 0d42d2d..f3b7c58 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/contacts-provider.jd
@@ -113,14 +113,14 @@
     Este guia considera que o leitor conhece os preceitos dos provedores de conteúdo do Android. Para saber mais
     sobre provedores de conteúdo do Android, leia o guia
     <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
-    Preceitos do provedor de conteúdo</a>. 
+    Preceitos do provedor de conteúdo</a>.
     O aplicativo <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">Exemplo de adaptador de sincronização</a>
     é um exemplo de uso de um adaptador de sincronização que transfere dados entre o Provedor
     de contatos e um aplicativo de amostra hospedado pelo Google Web Services.
 </p>
 <h2 id="InformationTypes">Organização do Provedor de Contatos</h2>
 <p>
-    O Provedor de Contatos é um componente do provedor de conteúdo do Android. Ele mantém três tipos de 
+    O Provedor de Contatos é um componente do provedor de conteúdo do Android. Ele mantém três tipos de
     dados sobre uma pessoa, sendo cada um deles correspondente a uma tabela fornecida pelo provedor, como
     ilustrado na figura 1:
 </p>
@@ -199,7 +199,7 @@
             {@link android.provider.ContactsContract.SyncColumns#ACCOUNT_TYPE}.
         </td>
         <td>
-            O formato desse nome é específico deste tipo de conta. 
+            O formato desse nome é específico deste tipo de conta.
             Não se trata necessariamente de um endereço de e-mail.
         </td>
     </tr>
@@ -239,7 +239,7 @@
 <ul>
     <li>
         O nome de um contato bruto não é armazenado em sua linha em
-        {@link android.provider.ContactsContract.RawContacts}. Em vez disso, é armazenado na 
+        {@link android.provider.ContactsContract.RawContacts}. Em vez disso, é armazenado na
         tabela {@link android.provider.ContactsContract.Data}, em uma
         linha {@link android.provider.ContactsContract.CommonDataKinds.StructuredName}. Os contatos brutos
         têm apenas uma linha desse tipo na tabela {@link android.provider.ContactsContract.Data}.
@@ -275,7 +275,7 @@
     Configurações da <em>conta</em>.
 </p>
 <p>
-    Suponhamos que Emily Dickinson abra uma janela do navegador, acesse o Gmail como 
+    Suponhamos que Emily Dickinson abra uma janela do navegador, acesse o Gmail como
     <code>emily.dickinson@gmail.com</code>, abra
     Contatos e adicione "Thomas Higginson". Mais tarde, ela acessa o Gmail como
     <code>emilyd@gmail.com</code> e envia um e-mail para "Thomas Higginson", o que automaticamente
@@ -309,7 +309,7 @@
     tipo de dados, como endereços de e-mail ou números de telefone. Por exemplo: se
     "Thomas Higginson" para {@code emilyd@gmail.com}  (a linha do contato bruto de Thomas Higginson
     associada à conta Google <code>emilyd@gmail.com</code>) tem um endereço de e-mail pessoal
-    <code>thigg@gmail.com</code> e um de trabalho 
+    <code>thigg@gmail.com</code> e um de trabalho
     <code>thomas.higginson@gmail.com</code>, o Provedor de Contatos armazena as duas linhas de endereço de e-mail
     e vincula ambas ao contato bruto.
 </p>
@@ -490,7 +490,7 @@
     {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} do contato continuará
     apontado para a linha do contato para permitir o uso de
     {@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY}
-    e manter ligações com contatos "favoritos" e assim por diante. Essa coluna tem o próprio formato, que 
+    e manter ligações com contatos "favoritos" e assim por diante. Essa coluna tem o próprio formato, que
     não tem nenhuma relação com o formato da coluna {@code android.provider.BaseColumns#_ID}.
 </p>
 <p>
@@ -981,7 +981,7 @@
     {@code android.provider.BaseColumns#_ID} do contato bruto como
     o valor {@link android.provider.ContactsContract.DataColumns#RAW_CONTACT_ID}. Contudo, esse
     valor não está disponível ao criar a {@link android.content.ContentProviderOperation}
-    para a linha de dados porque 
+    para a linha de dados porque
     {@link android.content.ContentProviderOperation} ainda não foi aplicada à linha de contato bruto. Para trabalhar com isso,
     a classe {@link android.content.ContentProviderOperation.Builder} tem o método
     {@link android.content.ContentProviderOperation.Builder#withValueBackReference(String, int) withValueBackReference()}.
@@ -1403,7 +1403,7 @@
             RawContacts.CONTENT_TYPE}, tipo MIME para um grupo de contatos brutos.
         </td>
         <td>
-            Exibe a tela <strong>Adicionar contato</strong> do aplicativo de contatos do dispositivo. 
+            Exibe a tela <strong>Adicionar contato</strong> do aplicativo de contatos do dispositivo.
             São exibidos os valores extras adicionados à intenção. Se enviada com
         {@link android.app.Activity#startActivityForResult(Intent, int) startActivityForResult()},
             a URI de conteúdo do contato bruto recentemente adicionado é passada de volta
@@ -1636,7 +1636,7 @@
     a disponibilidade dos dados dos contatos mesmo quando o dispositivo não está conectado à rede.
 </p>
 <p>
-    Embora seja possível implementar a sincronização de diversos modos, o sistema Android fornece 
+    Embora seja possível implementar a sincronização de diversos modos, o sistema Android fornece
     uma estrutura de sincronização de extensão que automatiza as seguintes tarefas:
     <ul>
 
@@ -1652,7 +1652,7 @@
     </ul>
 <p>
     Para usar essa estrutura, deve-se fornecer uma extensão do adaptador de sincronização. Cada adaptador de sincronização é exclusivo
-    de um serviço e um provedor de conteúdo, mas pode tratar diversos nomes de conta do mesmo serviço. 
+    de um serviço e um provedor de conteúdo, mas pode tratar diversos nomes de conta do mesmo serviço.
     A estrutura também permite diversos adaptadores de sincronização para o mesmo serviço e provedor.
 </p>
 <h3 id="SyncClassesFiles">Classes e arquivos do adaptador de sincronização</h3>
@@ -1830,7 +1830,7 @@
 </p>
 <h3 id="StreamText">Textos de fluxos sociais</h3>
 <p>
-    Itens de fluxo sempre são associados a um contato bruto. 
+    Itens de fluxo sempre são associados a um contato bruto.
     O {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID} conecta-se ao
     valor <code>_ID</code> do contato bruto. O tipo e o nome da conta do contato
     bruto também são armazenados na linha do item de fluxo.
@@ -1861,17 +1861,17 @@
         ao inserir um item de fluxo:
         <ul>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_ID}: 
+                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_ID}:
                 o valor {@code android.provider.BaseColumns#_ID} do contato ao qual esse item
                 de fluxo está associado.
             </li>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_LOOKUP_KEY}: 
+                {@code android.provider.ContactsContract.StreamItemsColumns#CONTACT_LOOKUP_KEY}:
                 o valor{@code android.provider.ContactsContract.ContactsColumns#LOOKUP_KEY} do
                 contato ao qual esse item de fluxo está associado.
             </li>
             <li>
-                {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}: 
+                {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID}:
                 o valor {@code android.provider.BaseColumns#_ID} do contato bruto ao qual esse item
                 de fluxo está associado.
             </li>
@@ -2275,14 +2275,14 @@
     </dd>
     <dt>{@code android:icon}</dt>
     <dd>
-        
+
         <a href="{@docRoot}guide/topics/resources/drawable-resource.html">Recurso desenhável</a> do Android
         que o aplicativo de contatos exibe próximo aos dados. Use isso para indicar
         ao usuário que os dados são advindos do seu serviço.
     </dd>
     <dt>{@code android:summaryColumn}</dt>
     <dd>
-        O nome de coluna do primeiro de dois valores recuperados da linha de dados. 
+        O nome de coluna do primeiro de dois valores recuperados da linha de dados.
         O valor é exibido como a primeira linha da entrada para essa linha de dados. A primeira linha
         destina-se ao uso como um resumo dos dados, mas isso é opcional. Veja também
         <a href="#detailColumn">android:detailColumn</a>.
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-basics.jd
index 5005f92..7bbca94 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-basics.jd
@@ -216,7 +216,7 @@
     Os aplicativos acessam dados a partir de um provedor de conteúdo
     com um objeto cliente {@link android.content.ContentResolver}. Esse objeto tem métodos que chamam
     métodos de nome idêntico no objeto do provedor, uma instância de uma das subclasses
-    concretas de {@link android.content.ContentProvider}. 
+    concretas de {@link android.content.ContentProvider}.
     Os métodos {@link android.content.ContentResolver} fornecem as funções básicas
     do "CRUD" (criar, recuperar, atualizar e excluir) de armazenamento persistente.
 </p>
@@ -251,7 +251,7 @@
 </pre>
 <p>
     A tabela 2 mostra como os argumentos para
-    {@link android.content.ContentResolver#query 
+    {@link android.content.ContentResolver#query
     query(Uri,projection,selection,selectionArgs,sortOrder)} correspondem a uma declaração SQL SELECT:
 </p>
 <p class="table-caption">
@@ -310,7 +310,7 @@
     {@link android.provider.UserDictionary.Words#CONTENT_URI} contém a URI de conteúdo
     da tabela de "palavras" do dicionário do usuário. O objeto {@link android.content.ContentResolver}
     analisa a autoridade da URI e usa-na para "determinar" o provedor
-    comparando a autoridade a uma tabela de provedores conhecidos do sistema. 
+    comparando a autoridade a uma tabela de provedores conhecidos do sistema.
     O {@link android.content.ContentResolver} pode, então, enviar os argumentos da consulta ao provedor
     correto.
 </p>
@@ -344,7 +344,7 @@
 </p>
 <p class="note">
     <strong>Observação:</strong> as classes {@link android.net.Uri} e {@link android.net.Uri.Builder}
-    contêm métodos convenientes para a construção de objetos de URI bem formados a partir de strings. 
+    contêm métodos convenientes para a construção de objetos de URI bem formados a partir de strings.
     As {@link android.content.ContentUris} contêm métodos conveniente para anexar valores de ID
     a uma URI. O fragmento anterior usa {@link android.content.ContentUris#withAppendedId
     withAppendedId()} para anexar um ID à URI de conteúdo UserDictionary.
@@ -359,7 +359,7 @@
 </p>
 <p class="note">
     Por uma questão de clareza, os fragmentos de código nesta seção chamam
-    {@link android.content.ContentResolver#query ContentResolver.query()} no "encadeamento da IU". 
+    {@link android.content.ContentResolver#query ContentResolver.query()} no "encadeamento da IU".
     No código atual, contudo, deve-se realizar consultas assincronamente em um encadeamento separado. Um modo de fazê-lo
     é usar a classe {@link android.content.CursorLoader}, descrita
     com mais detalhes no guia <a href="{@docRoot}guide/components/loaders.html">
@@ -567,7 +567,7 @@
 <p>
     O método cliente {@link android.content.ContentResolver#query ContentResolver.query()} sempre
     retorna um {@link android.database.Cursor} contendo as colunas especificadas pela projeção
-    da consulta para as linhas que atendem aos critérios de seleção da consulta. 
+    da consulta para as linhas que atendem aos critérios de seleção da consulta.
     Um objeto {@link android.database.Cursor} fornece acesso para leitura aleatório para as linhas e colunas que
     contém. Usando métodos {@link android.database.Cursor}, é possível repetir as linhas
     nos resultados, determinar o tipo dos dados de cada coluna, extrair os dados de uma coluna e examinar
@@ -946,7 +946,7 @@
     Para acessar um provedor em "modo de lote",
     cria-se uma matriz de objetos {@link android.content.ContentProviderOperation} e, em seguida,
     envia-os a um provedor de conteúdo com
-    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. Confere-se a 
+    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. Confere-se a
     <em>autoridade</em> do provedor de conteúdo para esse método em vez de para uma URI de conteúdo específica.
     Isso permite que cada objeto {@link android.content.ContentProviderOperation} na matriz trabalhe
     com uma tabela diferente. Chamar {@link android.content.ContentResolver#applyBatch
@@ -954,7 +954,7 @@
 </p>
 <p>
     A descrição da classe de contrato {@link android.provider.ContactsContract.RawContacts}
-    contém um fragmento de código que demonstra a inserção em lote. 
+    contém um fragmento de código que demonstra a inserção em lote.
 O aplicativo de exemplo do <a href="{@docRoot}resources/samples/ContactManager/index.html">Gerente de contato</a>
     contém um exemplo de acesso em lote em seu
     arquivo de origem <code>ContactAdder.java</code>.
@@ -1089,7 +1089,7 @@
 </p>
 <p>
     Por exemplo: o Provedor de Dicionário do Usuário tem uma classe de contrato
-    {@link android.provider.UserDictionary} que contém constantes de URI de conteúdo e de nome de coluna. 
+    {@link android.provider.UserDictionary} que contém constantes de URI de conteúdo e de nome de coluna.
     A URI de conteúdo da tabela de "palavras" é definida na constante
     {@link android.provider.UserDictionary.Words#CONTENT_URI UserDictionary.Words.CONTENT_URI}.
     A classe {@link android.provider.UserDictionary.Words} também contém constantes de nome de coluna
@@ -1184,7 +1184,7 @@
 vnd.android.cursor.<strong>item</strong>/vnd.example.line2
 </pre>
 <p>
-    A maioria dos provedores define constantes de classe de contrato para os tipos MIME que usam. 
+    A maioria dos provedores define constantes de classe de contrato para os tipos MIME que usam.
     A classe de contrato {@link android.provider.ContactsContract.RawContacts} do Provedor de Contatos,
     por exemplo, define a constante
     {@link android.provider.ContactsContract.RawContacts#CONTENT_ITEM_TYPE} para o tipo MIME
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-creating.jd
index 11ad4c3..6ae7b2d6 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/content-provider-creating.jd
@@ -203,7 +203,7 @@
 <ul>
     <li>
         O sistema Android contém uma API de banco de dados SQLite que os provedores do Android usam
-    para armazenar dados orientados a tabela. 
+    para armazenar dados orientados a tabela.
         A classe {@link android.database.sqlite.SQLiteOpenHelper} ajuda a criar bancos de dados
         e a classe {@link android.database.sqlite.SQLiteDatabase} é a classe de base para acessar
         banco de dados.
@@ -539,7 +539,7 @@
     </dd>
 </dl>
 <p>
-    Observe que esses métodos têm a mesma assinatura dos métodos 
+    Observe que esses métodos têm a mesma assinatura dos métodos
         {@link android.content.ContentResolver} de mesmo nome.
 </p>
 <p>
@@ -569,7 +569,7 @@
 </ul>
 <h3 id="Query">Implementação do método query()</h3>
 <p>
-    
+
     O método {@link android.content.ContentProvider#query(Uri, String[], String, String[], String)
     ContentProvider.query()} precisa retornar um objeto {@link android.database.Cursor}  ou, se
     falhar, gerar uma {@link java.lang.Exception}. Se você estiver usando um banco de dados SQLite
@@ -778,7 +778,7 @@
     Para tipos de dados comuns como texto, HTML ou JPEG,
     {@link android.content.ContentProvider#getType(Uri) getType()} deve retornar o tipo MIME
     padrão daqueles dados. Há uma lista completa desse tipos de padrão
-    no site de 
+    no site de
     <a href="http://www.iana.org/assignments/media-types/index.htm">Tipos de mídia MIME IANA</a>.
 </p>
 <p>
@@ -981,7 +981,7 @@
         Permissão de leitura, gravação ou leitura/gravação para uma URI de conteúdo no provedor. Especifica-se
         cada URI que se deseja controlar
         com um elemento filho <code><a href="{@docRoot}guide/topics/manifest/path-permission-element.html">
-        &lt;path-permission&gt;</a></code> 
+        &lt;path-permission&gt;</a></code>
         do elemento <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
         &lt;provider&gt;</a></code>. Para cada URI de conteúdo, pode-se especificar
         uma permissão de leitura/gravação, uma permissão de leitura, uma permissão de gravação ou as três. As permissões
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/content-providers.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/content-providers.jd
index c9574f6..48f4cd4 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/content-providers.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/content-providers.jd
@@ -52,12 +52,12 @@
  padrão que conecta dados em um processo com código em execução em outro processo.
 </p>
 <p>
-    Quando desejar acessar dados em um provedor de conteúdo, você usa o 
-    objeto {@link android.content.ContentResolver} no 
+    Quando desejar acessar dados em um provedor de conteúdo, você usa o
+    objeto {@link android.content.ContentResolver} no
     {@link android.content.Context} do aplicativo para se comunicar com o provedor como cliente.
     O objeto {@link android.content.ContentResolver} se comunica com o objeto provedor, uma
     instância de uma classe que implementa {@link android.content.ContentProvider}. O objeto
-    provedor recebe solicitações de dados de clientes, realiza a ação solicitada e 
+    provedor recebe solicitações de dados de clientes, realiza a ação solicitada e
     devolve os resultados.
 </p>
 <p>
@@ -68,10 +68,10 @@
 </p>
 <p>
     O Android propriamente dito inclui provedores de conteúdo que gerenciam dados como áudio, vídeo, imagens e
-    informações de contato pessoais. Alguns deles estão listados na documentação de 
-    referência do 
+    informações de contato pessoais. Alguns deles estão listados na documentação de
+    referência do
     pacote <code><a href="{@docRoot}reference/android/provider/package-summary.html">android.provider</a>
-    </code>. Com algumas restrições, esses provedores podem ser acessados por qualquer aplicativo 
+    </code>. Com algumas restrições, esses provedores podem ser acessados por qualquer aplicativo
     Android.
 </p><p>
     Os tópicos a seguir descrevem provedores de conteúdo em mais detalhes:
diff --git a/docs/html-intl/intl/pt-br/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/pt-br/guide/topics/providers/document-provider.jd
index 25aab7a..b2e040e 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/providers/document-provider.jd
@@ -139,7 +139,7 @@
 cada um deles, por sua vez, podem indicar 1 a <em>N</em> documentos. </li>
 
 <li>Cada back-end de armazenamento apresenta
-arquivos e diretórios individuais referenciando-os com um 
+arquivos e diretórios individuais referenciando-os com um
 {@link android.provider.DocumentsContract.Document#COLUMN_DOCUMENT_ID} exclusivo.
 IDs de documentos devem ser exclusivos e não podem mudar depois de emitidos, pois são usados para concessões persistentes
 da URI em reinicializações do dispositivo.</li>
@@ -236,7 +236,7 @@
 </ul>
 
 
-<p>Esta seção descreve como programar aplicativos clientes com base nas intenções 
+<p>Esta seção descreve como programar aplicativos clientes com base nas intenções
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT}
 e {@link android.content.Intent#ACTION_CREATE_DOCUMENT}.</p>
 
@@ -521,7 +521,7 @@
 
 <p>Para evitar que isso aconteça, você pode manter as permissões que o sistema
 forneceu ao aplicativo. Efetivamente, o aplicativo "toma" a concessão de permissão da URI persistente
-que o sistema está oferecendo. Isso concede ao usuário um acesso contínuo aos arquivos 
+que o sistema está oferecendo. Isso concede ao usuário um acesso contínuo aos arquivos
 por meio do aplicativo mesmo se o dispositivo for reiniciado:</p>
 
 
@@ -624,7 +624,7 @@
 Se você deseja que o aplicativo seja compatível com {@link android.content.Intent#ACTION_GET_CONTENT}
 para adaptar-se a dispositivos que executam o Android 4.3 ou versões anteriores, é necessário
 desativar o filtro de intenção {@link android.content.Intent#ACTION_GET_CONTENT}
-no manifesto para dispositivos que executam Android 4.4 ou versões posteriores. 
+no manifesto para dispositivos que executam Android 4.4 ou versões posteriores.
 Um provedor de documentos e {@link android.content.Intent#ACTION_GET_CONTENT} devem ser avaliados
 de forma mutuamente exclusiva. Se houver compatibilidade com ambos simultaneamente, o aplicativo
 aparecerá duas vezes na IU do seletor do sistema, oferecendo dois meios de acesso
diff --git a/docs/html-intl/intl/pt-br/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/pt-br/guide/topics/resources/accessing-resources.jd
index f196dfe..de8b5df 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/resources/accessing-resources.jd
@@ -11,7 +11,7 @@
 {@code R.drawable.myimage}</li>
     <li>Recursos podem ser referenciados de recursos usando uma sintaxe XML especial, como {@code
 &#64;drawable/myimage}</li>
-    <li>Também é possível acessar os recursos do aplicativo com métodos em 
+    <li>Também é possível acessar os recursos do aplicativo com métodos em
 {@link android.content.res.Resources}</li>
   </ul>
 
@@ -43,10 +43,10 @@
 
 
 <p>Depois de fornecer um recurso no aplicativo (discutido em <a href="providing-resources.html">Fornecimento de recursos</a>), é possível aplicá-lo
-referenciando seu ID de recurso. Todos os IDs de recursos são definidos na classe {@code R} do projeto, que 
+referenciando seu ID de recurso. Todos os IDs de recursos são definidos na classe {@code R} do projeto, que
 a ferramenta {@code aapt} gera automaticamente.</p>
 
-<p>Quando o aplicativo é compilado, {@code aapt} gera a classe {@code R}, que contém 
+<p>Quando o aplicativo é compilado, {@code aapt} gera a classe {@code R}, que contém
 IDs de recursos para todos os recursos no diretório {@code
 res/}. Para cada tipo de recurso, há uma subclasse {@code R} (por exemplo,
 {@code R.drawable} para todos os recursos desenháveis) e, para cada recurso daquele tipo, há um número inteiro
@@ -60,7 +60,7 @@
 string}, {@code drawable} e {@code layout}. Para saber mais sobre os diferentes tipos, consulte <a href="available-resources.html">Tipos de recursos</a>.
   </li>
   <li>O <em>nome do recurso</em>, que é: o nome do arquivo,
-excluindo a extensão; ou o valor no atributo {@code android:name} do XML, se o 
+excluindo a extensão; ou o valor no atributo {@code android:name} do XML, se o
 recurso for um valor simples (como uma string).</li>
 </ul>
 
@@ -101,7 +101,7 @@
 <div class="sidebox">
 <h2>Acesso aos arquivos originais</h2>
 
-<p>Apesar de ser incomum, pode ser necessário acessar os arquivos e os diretórios originais. Nesse caso, 
+<p>Apesar de ser incomum, pode ser necessário acessar os arquivos e os diretórios originais. Nesse caso,
 salvar os arquivos em {@code res/} não funcionará, pois a única forma de ler um recurso de
 {@code res/} é com o ID do recurso. Em vez disso, é possível salvar os recursos no
 diretório {@code assets/}.</p>
@@ -139,7 +139,7 @@
 
 <h3>Casos de uso</h3>
 
-<p>Há muitos métodos que aceitam um parâmetro de ID de recurso e você pode recuperar recursos usando 
+<p>Há muitos métodos que aceitam um parâmetro de ID de recurso e você pode recuperar recursos usando
 métodos em {@link android.content.res.Resources}. É possível obter uma instância de {@link
 android.content.res.Resources} com {@link android.content.Context#getResources
 Context.getResources()}.</p>
@@ -176,7 +176,7 @@
 
 
 <p class="caution"><strong>Atenção:</strong> nunca modifique o arquivo {@code
-R.java} manualmente &mdash; ele é gerado pela ferramenta {@code aapt} quando o projeto é 
+R.java} manualmente &mdash; ele é gerado pela ferramenta {@code aapt} quando o projeto é
 compilado. As alterações serão sobrepostas na próxima compilação.</p>
 
 
@@ -209,7 +209,7 @@
 <ul>
   <li>{@code &lt;package_name&gt;} é o nome do pacote no qual o recurso está localizado (não
 é obrigatório ao referenciar recursos do mesmo pacote).</li>
-  <li>{@code &lt;resource_type&gt;} é a subclasse 
+  <li>{@code &lt;resource_type&gt;} é a subclasse
 {@code R} do tipo de recurso.</li>
   <li>{@code &lt;resource_name&gt;} é o nome do arquivo do recurso
 sem a extensão ou o valor do atributo {@code android:name} no elemento XML (para valores
@@ -260,10 +260,10 @@
 </pre>
 
 <p class="note"><strong>Observação:</strong> você deve usar recursos de string
-o tempo inteiro para que o seu aplicativo possa ser localizado para outros idiomas. 
+o tempo inteiro para que o seu aplicativo possa ser localizado para outros idiomas.
 Para obter informações sobre a criação de recursos
-alternativos (como strings localizadas), consulte <a href="providing-resources.html#AlternativeResources">Fornecimento de recursos 
-alternativos</a>. Para obter um guia completo para localizar o aplicativo para outros idiomas, 
+alternativos (como strings localizadas), consulte <a href="providing-resources.html#AlternativeResources">Fornecimento de recursos
+alternativos</a>. Para obter um guia completo para localizar o aplicativo para outros idiomas,
 consulte <a href="localization.html">Localização</a>.</p>
 
 <p>Você pode até mesmo usar recursos em XML para criar alias. Por exemplo, é possível criar um recurso
@@ -289,14 +289,14 @@
 essencialmente significa "usar o estilo que é definido por esse atributo no tema atual".</p>
 
 <p>Para referenciar um atributo de estilo, a sintaxe do nome é quase idêntica ao formato normal de recurso,
-mas, em vez de o símbolo arroba ({@code @}), use um ponto de interrogação ({@code ?}). Além disso, 
+mas, em vez de o símbolo arroba ({@code @}), use um ponto de interrogação ({@code ?}). Além disso,
 a parte do tipo de recurso é opcional. Por exemplo:</p>
 
 <pre class="classic">
 ?[<em>&lt;package_name&gt;</em>:][<em>&lt;resource_type&gt;</em>/]<em>&lt;resource_name&gt;</em>
 </pre>
 
-<p>Por exemplo, abaixo apresenta-se como você pode referenciar um atributo para definir a cor do texto para que corresponda à 
+<p>Por exemplo, abaixo apresenta-se como você pode referenciar um atributo para definir a cor do texto para que corresponda à
 cor "principal" do texto do tema do sistema:</p>
 
 <pre>
@@ -320,7 +320,7 @@
 <h2 id="PlatformResources">Acesso aos recursos da plataforma</h2>
 
 <p>O Android contém uma série de recursos padrão, como estilos, temas e layouts. Para
-acessá-los, qualifique a referência de recurso com o 
+acessá-los, qualifique a referência de recurso com o
 nome do pacote <code>android</code>. Por exemplo, o Android fornece um recurso de layout que pode ser usado para
 listar itens em um {@link android.widget.ListAdapter}:</p>
 
diff --git a/docs/html-intl/intl/pt-br/guide/topics/resources/overview.jd b/docs/html-intl/intl/pt-br/guide/topics/resources/overview.jd
index 5bf37e6..b34c01b 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/resources/overview.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/resources/overview.jd
@@ -24,8 +24,8 @@
 também permite fornecer recursos alternativos que sejam compatíveis com configurações
 de dispositivos específicos, como idiomas ou tamanhos de tela diferentes, que se tornam cada vez
 mais importantes à medida que mais dispositivos com Android são disponibilizados com configurações diferentes. Para fornecer
-compatibilidade com diferentes configurações, é preciso organizar recursos no 
-diretório {@code res/} de seu projeto usando vários subdiretórios que agrupem recursos por tipo e 
+compatibilidade com diferentes configurações, é preciso organizar recursos no
+diretório {@code res/} de seu projeto usando vários subdiretórios que agrupem recursos por tipo e
 configuração.</p>
 
 <div class="figure" style="width:429px">
diff --git a/docs/html-intl/intl/pt-br/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/pt-br/guide/topics/resources/providing-resources.jd
index 1118fd5..b45018d 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/resources/providing-resources.jd
@@ -71,7 +71,7 @@
 </pre>
 
 <p>Como pode ver neste exemplo, o diretório {@code res/} contém todos os recursos (em subdiretórios):
-um recurso de imagem, dois recursos de layout, diretórios {@code mipmap/} para ícones de 
+um recurso de imagem, dois recursos de layout, diretórios {@code mipmap/} para ícones de
 inicialização e um arquivo de recurso de string. Os nomes dos diretórios
 de recursos são importantes e são descritos na tabela 1.</p>
 
@@ -161,7 +161,7 @@
 com base no nome do arquivo XML, os arquivos no diretório {@code values/} descrevem vários recursos.
 Para cada arquivo neste diretório, cada filho do elemento {@code &lt;resources&gt;} define um único
 recurso. Por exemplo, um elemento {@code &lt;string&gt;} cria
-um recurso {@code R.string} e um elemento {@code &lt;color&gt;} cria um recurso 
+um recurso {@code R.string} e um elemento {@code &lt;color&gt;} cria um recurso
 {@code R.color}.</p>
       <p>Como cada recurso é definido com seu próprio elemento XML, é possível nomear o arquivo
 da forma que quiser e colocar tipos de recurso variados em um arquivo. No entanto, para esclarecer, você pode
@@ -510,7 +510,7 @@
 e o aplicativo apresentará um erro em tempo de execução (por exemplo, se todos os recursos de layout receberem tag com o qualificador {@code
 xlarge}, mas o dispositivo tiver uma tela de tamanho normal).</p>
         <p><em>Adicionado à API de nível 4.</em></p>
-        
+
         <p>Consulte <a href="{@docRoot}guide/practices/screens_support.html">Compatibilidade com
 várias telas</a> para obter mais informações.</p>
         <p>Consulte também o campo de configuração {@link android.content.res.Configuration#screenLayout},
@@ -627,8 +627,8 @@
 nível 8</em></li>
           <li>{@code xxhdpi}: Telas de densidade extra-extra-alta, aproximadamente 480 dpi. <em>Adicionado à API de
 nível 16</em></li>
-          <li>{@code xxxhdpi}: Usos de densidade extra-extra-extra-alta (somente ícone do inicializador, consulte a 
-            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">observação</a> 
+          <li>{@code xxxhdpi}: Usos de densidade extra-extra-extra-alta (somente ícone do inicializador, consulte a
+            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">observação</a>
             em <em>Compatibilidade com várias telas</em>), aproximadamente 640 dpi. <em>Adicionado à API de
 nível 18</em></li>
           <li>{@code nodpi}: Isto pode ser usado para recursos de bitmap que você não deseja dimensionar
@@ -823,7 +823,7 @@
     para letras minúsculas antes de processar para evitar problemas nos sistemas de arquivo
     que não diferenciam maiúsculas e minúsculas. Qualquer letra maiúscula nos nomes é apenas para o benefício da leitura.</li>
     <li>Somente um valor para cada tipo de qualificador é suportado. Por exemplo, se quiser usar
-os mesmos arquivos desenháveis para Espanha e França, <em>não</em> é possível ter um diretório chamado 
+os mesmos arquivos desenháveis para Espanha e França, <em>não</em> é possível ter um diretório chamado
 <code>drawable-rES-rFR/</code>. Em vez disso, você precisa de dois diretórios de recursos, como
 <code>drawable-rES/</code> e <code>drawable-rFR/</code>, que contenham arquivos adequados.
 No entanto, não é necessário duplicar os mesmos arquivos em ambos os locais. Em vez disso,
@@ -1088,7 +1088,7 @@
 do que o número de qualificadores que correspondem exatamente ao dispositivo. Por exemplo, na etapa 4 acima, a última
 escolha na lista inclui três qualificadores que correspondem exatamente ao dispositivo (orientação, tipo de
 tela sensível ao toque e método de entrada), enquanto que <code>drawable-en</code> possui apenas um parâmetro que corresponde
-(idioma). No entanto, o idioma tem uma precedência maior que esses outros qualificadores, então 
+(idioma). No entanto, o idioma tem uma precedência maior que esses outros qualificadores, então
 <code>drawable-port-notouch-12key</code> está fora.</p>
 
 <p>Para obter mais informações sobre como usar os recursos no aplicativo, acesse <a href="accessing-resources.html">Acesso aos recursos</a>.</p>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/pt-br/guide/topics/resources/runtime-changes.jd
index 366ce0d..416bce9 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/resources/runtime-changes.jd
@@ -125,7 +125,7 @@
 significa que o aplicativo mantém a retenção deles, que não podem ser recolhidos, o que
 causa perda de memória).</p>
 
-<p>Em seguida, use {@link android.app.FragmentManager} para adicionar o fragmento à atividade. 
+<p>Em seguida, use {@link android.app.FragmentManager} para adicionar o fragmento à atividade.
 É possível obter o objeto de dados do fragmento quando a atividade reiniciar durante as alterações
 de configuração em tempo de execução. Por exemplo: defina a atividade da seguinte forma:</p>
 
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/controls.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/controls.jd
index 58a4fcd..1cd6d52 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">Botão de opção</a></td>
         <td>Similar às caixas de seleção, exceto que somente uma opção pode ser selecionada no grupo.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/declaring-layout.jd
index 09dbd2c..8782ba2 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/declaring-layout.jd
@@ -43,7 +43,7 @@
 <ul>
 <li><strong>Declarar elementos da IU em XML</strong>. O Android fornece um vocabulário XML
 direto que corresponde às classes e subclasses de View, como as de widgets e layouts.</li>
-<li><strong>Instanciar elementos do layout em tempo de execução</strong>. 
+<li><strong>Instanciar elementos do layout em tempo de execução</strong>.
 O aplicativo pode criar objetos de View e ViewGroup (e manipular suas propriedades) programaticamente. </li>
 </ul>
 
@@ -123,7 +123,7 @@
 </pre>
 
 <p>O método de retorno de chamada <code>onCreate()</code> na Atividade é chamado pela estrutura do Android quando
-ela é inicializada (veja a discussão sobre ciclos de vida no documento 
+ela é inicializada (veja a discussão sobre ciclos de vida no documento
 <a href="{@docRoot}guide/components/activities.html#Lifecycle">Atividades</a>
 ).</p>
 
@@ -201,7 +201,7 @@
 valores. Cada elemento filho deve definir LayoutParams apropriados para seu pai,
 embora possa também definir diferentes LayoutParams para os próprios filhos. </p>
 
-<p>Todos os grupos de vistas contêm largura e altura (<code>layout_width</code> e 
+<p>Todos os grupos de vistas contêm largura e altura (<code>layout_width</code> e
 <code>layout_height</code>) e cada vista é obrigatória para defini-las. Muitos
 LayoutParams também contêm margens e bordas opcionais. <p>
 
@@ -229,7 +229,7 @@
 <h2 id="Position">Posição do layout</h2>
    <p>
    A geometria de uma vista de um retângulo. As vistas têm uma localização,
-   expressa como um par de coordenadas <em>esquerda</em> e <em>topo</em> 
+   expressa como um par de coordenadas <em>esquerda</em> e <em>topo</em>
    e duas dimensões, expressas como largura e altura. A unidade de localização
    e de dimensões é o pixel.
    </p>
@@ -262,7 +262,7 @@
    <p>
    O primeiro par é conhecido como <em>largura medida</em>
    e <em>altura medida</em>. Essas dimensões definem o tamanho que a vista terá
-   dentro da vista pai. 
+   dentro da vista pai.
    Para obter as dimensões medidas, chamam-se {@link android.view.View#getMeasuredWidth()}
    e {@link android.view.View#getMeasuredHeight()}.
    </p>
@@ -368,7 +368,7 @@
 <h2 id="AdapterViews" style="clear:left">Criação de layouts com um adaptador</h2>
 
 <p>Quando o conteúdo do layout é dinâmico ou não predeterminado, é possível usar um layout que
-torne {@link android.widget.AdapterView} uma subclasse para preencher o layout com vistas em tempo de execução. 
+torne {@link android.widget.AdapterView} uma subclasse para preencher o layout com vistas em tempo de execução.
 Uma subclasse da classe {@link android.widget.AdapterView} usa um {@link android.widget.Adapter}
 para agrupar dados ao seu layout. O {@link android.widget.Adapter} se comporta como um intermediário entre a fonte
 dos dados e o layout do {@link android.widget.AdapterView} &mdash; o {@link android.widget.Adapter}
@@ -399,7 +399,7 @@
 android.view.View} que representa cada entrada de dados.</p>
 
 <p>O Android oferece diversas subclasses de {@link android.widget.Adapter} que são úteis para
-recuperar diferentes tipos de dados e criar vistas de um {@link android.widget.AdapterView}. 
+recuperar diferentes tipos de dados e criar vistas de um {@link android.widget.AdapterView}.
 Os dois adaptadores mais comuns são:</p>
 
 <dl>
@@ -438,7 +438,7 @@
 </dd>
 
   <dt>{@link android.widget.SimpleCursorAdapter}</dt>
-    <dd>Use este adaptador quando os dados vierem de um {@link android.database.Cursor}. 
+    <dd>Use este adaptador quando os dados vierem de um {@link android.database.Cursor}.
 Ao usar {@link android.widget.SimpleCursorAdapter}, é necessário especificar um layout a usar para cada
 linha no {@link android.database.Cursor} e que colunas no {@link android.database.Cursor}
 devem ser inseridas em determinadas vistas do layout. Por exemplo: se você deseja criar uma lista
@@ -466,7 +466,7 @@
 </dl>
 
 
-<p>Se durante o curso de vida do aplicativo, você mudar os dados subjacentes lidos 
+<p>Se durante o curso de vida do aplicativo, você mudar os dados subjacentes lidos
 pelo adaptador, chame {@link android.widget.ArrayAdapter#notifyDataSetChanged()}. Isso
 notificará à vista anexada que os dados foram alterados e que ela deve se atualizar.</p>
 
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/dialogs.jd
index 2cbedbe..71e6176 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>Veja também</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">Guia de projeto de caixas de diálogo</a></li>
@@ -235,8 +235,8 @@
 </pre>
 
 <p>Os métodos <code>set...Button()</code> exigem um título para o botão (fornecido
-por um <a href="{@docRoot}guide/topics/resources/string-resource.html">recurso de string</a>) e um 
-{@link android.content.DialogInterface.OnClickListener} que defina a ação a realizar 
+por um <a href="{@docRoot}guide/topics/resources/string-resource.html">recurso de string</a>) e um
+{@link android.content.DialogInterface.OnClickListener} que defina a ação a realizar
 quando o usuário pressionar o botão.</p>
 
 <p>Há três botões de ação diferente que podem ser adicionados:</p>
@@ -248,7 +248,7 @@
   <dt>Neutro</dt>
   <dd>É o que se deve usar quando houver a opção de o usuário não querer continuar a ação,
   mas não necessariamente cancelá-la. Ele aparece entre os botões positivo
-  e negativo. Por exemplo: a ação pode ser "Notifique-me mais tarde".</dd> 
+  e negativo. Por exemplo: a ação pode ser "Notifique-me mais tarde".</dd>
 </dl>
 
 <p>É possível adicionar somente um de cada tipo de botão a uma {@link
@@ -271,7 +271,7 @@
 <li>Lista de escolhas múltiplas persistentes (caixas de seleção)</li>
 </ul>
 
-<p>Para criar uma lista de escolha única como a da figura 3, 
+<p>Para criar uma lista de escolha única como a da figura 3,
 use o método {@link android.app.AlertDialog.Builder#setItems setItems()}:</p>
 
 <pre style="clear:right">
@@ -291,7 +291,7 @@
 
 <p>Como a lista aparece na área do conteúdo da caixa de diálogo,
 a caixa não pode exibir uma mensagem e uma lista, e será preciso definir um título
-para ela com {@link android.app.AlertDialog.Builder#setTitle setTitle()}. 
+para ela com {@link android.app.AlertDialog.Builder#setTitle setTitle()}.
 Para especificar os itens da lista, chame {@link
 android.app.AlertDialog.Builder#setItems setItems()} passando uma matriz.
 Alternativamente, é possível especificar uma lista com {@link
@@ -320,8 +320,8 @@
 <p>Para adicionar uma lista de itens de múltipla escolha (caixas de seleção)
 ou itens de escolha única (botões de rádio), use os métodos
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} ou 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} ou
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} respectivamente.</p>
 
 <p>Por exemplo, a seguir apresenta-se como criar uma lista de múltipla escolha como
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -373,7 +373,7 @@
 
 <p>Embora a lista tradicional e uma lista com botões de opção
 forneçam uma ação de "escolha única", deve-se usar {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} se você desejar manter a escolha do usuário.
 Ou seja, se a caixa de diálogo abrir novamente mais tarde, deve indicar qual é a escolha atual do usuário,
 portanto deve-se criar uma lista com botões de opção.</p>
@@ -442,7 +442,7 @@
 um estilo de fonte compatível.</p>
 
 <p>Para inflar o layout no {@link android.support.v4.app.DialogFragment},
-obtenha um {@link android.view.LayoutInflater} com 
+obtenha um {@link android.view.LayoutInflater} com
 {@link android.app.Activity#getLayoutInflater()} e chame
 {@link android.view.LayoutInflater#inflate inflate()}, em que o primeiro parâmetro
 é o ID de recurso do layout e o segundo é uma vista pai do layout.
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -695,7 +695,7 @@
 }
 </pre>
 
-<p>Para obter mais informações sobre a realização de operações de fragmentos, consulte o guia 
+<p>Para obter mais informações sobre a realização de operações de fragmentos, consulte o guia
 <a href="{@docRoot}guide/components/fragments.html">Fragmentos</a>.</p>
 
 <p>Nesse exemplo, o booleano <code>mIsLargeLayout</code> especifica se o dispositivo atual
@@ -721,7 +721,7 @@
 &lt;/resources>
 </pre>
 
-<p>Assim, é possível inicializar o valor {@code mIsLargeLayout} durante o método 
+<p>Assim, é possível inicializar o valor {@code mIsLargeLayout} durante o método
 {@link android.app.Activity#onCreate onCreate()} da atividade:</p>
 
 <pre>
@@ -776,7 +776,7 @@
 android.support.v4.app.DialogFragment}.</p>
 
 <p>Também é possível <em>cancelar</em> uma caixa de diálogo. Trata-se de um evento especial que indica que o usuário
-se retirou explicitamente da caixa de diálogo sem concluir a tarefa. Isso ocorre se o usuário pressionar o botão 
+se retirou explicitamente da caixa de diálogo sem concluir a tarefa. Isso ocorre se o usuário pressionar o botão
 <em>Voltar</em>, tocar na tela fora da área da caixa de diálogo
 ou se você chamar {@link android.app.Dialog#cancel()} explicitamente no {@link
 android.app.Dialog} (como em resposta a um botão "Cancelar" na caixa de diálogo).</p>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/menus.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/menus.jd
index 833f896..6bdb370 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/menus.jd
@@ -83,9 +83,9 @@
 e outras opções.</p>
   <p>Consulte a seção <a href="#options-menu">Criação de um menu de opções</a>.</p>
     </dd>
-    
+
   <dt><strong>Modo de ação contextual e menu de contexto</strong></dt>
-  
+
    <dd>Um menu de contexto é um <a href="#FloatingContextMenu">menu flutuante</a> que aparece quando
 o usuário realiza um clique longo em um elemento. Ele fornece ações que afetam o conteúdo selecionado
 ou a estrutura do contexto.
@@ -94,7 +94,7 @@
 selecione vários itens.</p>
   <p>Consulte a seção <a href="#context-menu">Criação de menus contextuais</a>.</p>
 </dd>
-    
+
   <dt><strong>Menu pop-up</strong></dt>
     <dd>Um menu pop-up exibe itens em uma lista vertical ancorada à vista
 que apresentou o menu. É bom para fornecer um estouro de ações relacionado a conteúdo específico
@@ -135,7 +135,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>Cria um {@link android.view.MenuItem}, que representa um único item em um menu. Este
 elemento pode conter um elemento <code>&lt;menu></code> aninhado para criar um submenu.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>Um recipiente invisível e opcional para os elementos {@code &lt;item&gt;}. Ele permite que você categorize
 itens de menu para que eles compartilhem propriedades como estado ativo e visibilidade. Para obter mais informações,
@@ -218,7 +218,7 @@
 foi desenvolvido:</p>
 
 <ul>
-  <li>Caso tenha desenvolvido o aplicativo para <strong>Android 2.3.x (API de nível 10) ou 
+  <li>Caso tenha desenvolvido o aplicativo para <strong>Android 2.3.x (API de nível 10) ou
 inferior</strong>, os conteúdos do menu de opções aparecerão na parte inferior da tela, quando o usuário
 pressionar o botão <em>Menu</em>, como exibido na figura 1. Quando aberto, a primeira parte visível é
 o menu
@@ -363,7 +363,7 @@
 você deve chamar {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()} para pedir
 que o sistema chame {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}.</p>
 
-<p class="note"><strong>Observação:</strong> 
+<p class="note"><strong>Observação:</strong>
 você nunca deve alterar os itens no menu de opções com base no {@link android.view.View} atualmente
 em foco. Quando estiver no modo de toque (quando o usuário não está usando cursor de bola ou um teclado), as vistas
 não podem ter foco, então você nunca deve usar o foco como base para modificar
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -901,7 +901,7 @@
 (como {@link android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}). É aqui
 que você deve definir o estado da caixa de seleção, pois a caixa de seleção ou o botão de rádio
 não altera o seu estado automaticamente. É possível consultar o estado do item (como ele era antes
-do usuário selecioná-lo) com {@link android.view.MenuItem#isChecked()} e, em seguida, definir o estado marcado com 
+do usuário selecioná-lo) com {@link android.view.MenuItem#isChecked()} e, em seguida, definir o estado marcado com
 {@link android.view.MenuItem#setChecked(boolean) setChecked()}. Por exemplo:</p>
 
 <pre>
@@ -1023,9 +1023,9 @@
 &lt;/intent-filter>
 </pre>
 
-<p>Leia mais sobre a criação de filtros de intenção no documento 
+<p>Leia mais sobre a criação de filtros de intenção no documento
 <a href="/guide/components/intents-filters.html">Intenções e filtros de intenções</a>.</p>
 
-<p>Para obter um exemplo de aplicativo que usa esta técnica, consulte o código de exemplo do 
+<p>Para obter um exemplo de aplicativo que usa esta técnica, consulte o código de exemplo do
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Bloco
 de notas</a>.</p>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/notifiers/notifications.jd
index 42563ac..d3fb4cf 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/notifiers/notifications.jd
@@ -92,7 +92,7 @@
 <p>As notificações, como parte importante da interface do usuário do Android, possuem as próprias diretrizes de projeto.
 As alterações do Material Design introduzidas no Android 5.0 (API de nível 21) são de importância
 específica e, por isso, recomenda-se revisar o treinamento do <a href="{@docRoot}training/material/index.html">Material Design</a>
- para obter mais informações. Para saber como projetar notificações e suas interações, leia o guia de projeto 
+ para obter mais informações. Para saber como projetar notificações e suas interações, leia o guia de projeto
 <a href="{@docRoot}design/patterns/notifications.html">Notificações</a>.</p>
 
 <h2 id="CreateNotification">Criação de uma notificação</h2>
@@ -451,14 +451,14 @@
                 Adicione compatibilidade com Android 4.0.3 e mais antigos. Para fazer isto, especifique o pai
                 da {@link android.app.Activity} que está iniciando adicionando um elemento
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</a></code>
-                como o filho de 
+                como o filho de
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>.
                 <p>
-                    Para este elemento, defina 
+                    Para este elemento, defina
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#nm">android:name</a>="android.support.PARENT_ACTIVITY"</code>.
                     Defina
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#val">android:value</a>="&lt;parent_activity_name&gt;"</code>,
-                    onde <code>&lt;parent_activity_name&gt;</code> é o valor de 
+                    onde <code>&lt;parent_activity_name&gt;</code> é o valor de
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#nm">android:name</a></code>
                     para o elemento
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/overview.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/overview.jd
index d12bfe5..d82ecf7 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/overview.jd
@@ -4,12 +4,12 @@
 
 <p>Todos os elementos da interface do usuário em um aplicativo para Android são criados usando objetos {@link android.view.View} e
 {@link android.view.ViewGroup}. Uma {@link android.view.View} é um objeto que desenha
-algo na tela com o qual o usuário pode interagir. Um {@link android.view.ViewGroup} é um 
+algo na tela com o qual o usuário pode interagir. Um {@link android.view.ViewGroup} é um
 objeto que contém outros objetos {@link android.view.View} (e {@link android.view.ViewGroup}) para
 definir o layout da interface.</p>
 
 <p>O Android fornece uma coleção de subclasses {@link android.view.View} e {@link
-android.view.ViewGroup} que oferecem controles de entrada comuns (como botões e campos de 
+android.view.ViewGroup} que oferecem controles de entrada comuns (como botões e campos de
 texto) e vários modelos de layout (como um layout linear ou relativo).</p>
 
 
@@ -30,7 +30,7 @@
 criar uma árvore. Mas a forma mais fácil e efetiva de definir o layout é com um arquivo XML.
 O XML oferece uma estrutura legível por humanos para o layout, similar a HTML.</p>
 
-<p>O nome de um elemento XML para uma vista é respectivo à classe do Android que ele representa. Portanto, um elemento 
+<p>O nome de um elemento XML para uma vista é respectivo à classe do Android que ele representa. Portanto, um elemento
 <code>&lt;TextView&gt;</code> cria um widget {@link android.widget.TextView} na IU
 e um elemento <code>&lt;LinearLayout&gt;</code> cria um grupo de vistas de {@link android.widget.LinearLayout}
 . </p>
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>Para obter um guia completo para criar um layout de IU, consulte <a href="declaring-layout.html">Layouts
 XML</a>.
 
-  
+
 <h2 id="UIComponents">Componentes da interface do usuário</h2>
 
 <p>Você não precisa criar toda a IU usando objetos {@link android.view.View} e {@link
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/settings.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/settings.jd
index f95966c..c00b461 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/settings.jd
@@ -82,7 +82,7 @@
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
 <p class="img-caption"><strong>Figura 1.</strong> Capturas de tela das configurações do aplicativo Mensagens
-do Android. A seleção de um item definido por uma {@link android.preference.Preference} 
+do Android. A seleção de um item definido por uma {@link android.preference.Preference}
 abre uma interface para alterar a configuração.</p>
 
 
@@ -120,8 +120,8 @@
 </ul>
 
 <p>Como a IU de configurações do aplicativo é criada com objetos {@link android.preference.Preference}
- em vez de objetos 
-{@link android.view.View}, é preciso usar uma subclasse {@link android.app.Activity} ou 
+ em vez de objetos
+{@link android.view.View}, é preciso usar uma subclasse {@link android.app.Activity} ou
 {@link android.app.Fragment} especializada para exibir as configurações de lista:</p>
 
 <ul>
@@ -226,8 +226,8 @@
   <dt>{@code android:key}</dt>
   <dd>Esse atributo é necessário para preferências que persistem a um valor de dados. Ele especifica a chave
 exclusiva (uma string) que o sistema usa ao salvar o valor dessa configuração em {@link
-android.content.SharedPreferences}. 
-  <p>As únicas instâncias em que esse atributo é <em>dispensável</em> ocorrem quando a preferência é um 
+android.content.SharedPreferences}.
+  <p>As únicas instâncias em que esse atributo é <em>dispensável</em> ocorrem quando a preferência é um
 {@link android.preference.PreferenceCategory} ou {@link android.preference.PreferenceScreen},
 ou quando a preferência especifica um {@link android.content.Intent} para invocar (com um elemento <a href="#Intents">{@code &lt;intent&gt;}</a>) ou um {@link android.app.Fragment} para exibir (com um atributo <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
 android:fragment}</a>).</p>
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -311,7 +311,7 @@
 
 <h4 id="Subscreens">Uso de subtelas</h4>
 
-<p>Para usar grupos de configurações em uma subtela (como ilustrado na figura 3), coloque o grupo 
+<p>Para usar grupos de configurações em uma subtela (como ilustrado na figura 3), coloque o grupo
 de objetos {@link android.preference.Preference} dentro de {@link
 android.preference.PreferenceScreen}.</p>
 
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -636,7 +636,7 @@
 <h3 id="DisplayHeaders">Exibição de cabeçalhos</h3>
 
 <p>Para exibir os cabeçalhos de preferência, é preciso implementar o método de retorno de chamada {@link
-android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} e chamar 
+android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} e chamar
 {@link android.preference.PreferenceActivity#loadHeadersFromResource
 loadHeadersFromResource()}. Por exemplo:</p>
 
@@ -672,15 +672,15 @@
 carregar.</p>
 
 <p>Por exemplo, abaixo há um arquivo XML de cabeçalhos de preferência usado no Android 3.0
-e posterior ({@code res/xml/preference_headers.xml}):</p> 
+e posterior ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/pt-br/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/pt-br/guide/topics/ui/ui-events.jd
index e0ace1d..2f88248 100644
--- a/docs/html-intl/intl/pt-br/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/pt-br/guide/topics/ui/ui-events.jd
@@ -30,7 +30,7 @@
 chamadas de <a href="#EventListeners">escutas de evento</a>, são a sua passagem para capturar a interação do usuário com a IU.</p>
 
 <p>Geralmente, as escutas de evento são usadas para escutar a interação do usuário.
-No entanto, há casos em que você pode querer estender uma classe View para criar um componente personalizado. 
+No entanto, há casos em que você pode querer estender uma classe View para criar um componente personalizado.
 Talvez você queira estender a classe {@link android.widget.Button}
 para deixar algo mais extravagante. Neste caso, você poderá definir os comportamentos de evento padrão
 para a classe usando <a href="#EventHandlers">manipuladores de evento</a>.</p>
@@ -46,27 +46,27 @@
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>De {@link android.view.View.OnClickListener}. 
+    <dd>De {@link android.view.View.OnClickListener}.
     Isto é chamado quando o usuário toca no item
     (no modo de toque), ou atribui foco ao item com as teclas de navegação ou cursor de bola
     e pressiona a tecla "enter" adequada ou pressiona o cursor de bola.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>De {@link android.view.View.OnLongClickListener}. 
+    <dd>De {@link android.view.View.OnLongClickListener}.
     Isto é chamado quando o usuário toca e mantém o item pressionado (no modo de toque),
  ou atribui foco ao item com as teclas de navegação ou cursor de bola
     e mantém pressionada a tecla "enter" adequada ou o cursor de bola (por um segundo).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>De {@link android.view.View.OnFocusChangeListener}. 
+    <dd>De {@link android.view.View.OnFocusChangeListener}.
     Isto é chamado quando o usuário navega no ou do item, usando as teclas de navegação ou cursor de bola.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>De {@link android.view.View.OnKeyListener}. 
+    <dd>De {@link android.view.View.OnKeyListener}.
     Isto é chamado quando o usuário está com foco no item ou solta uma tecla de hardware no dispositivo.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>De {@link android.view.View.OnTouchListener}. 
+    <dd>De {@link android.view.View.OnTouchListener}.
     Isto é chamado quando o usuário realiza uma ação qualificada como um toque de evento, incluindo o pressionamento, a liberação,
     ou qualquer outro gesto de movimento na tela (dentro dos limites do item).</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>De {@link android.view.View.OnCreateContextMenuListener}. 
+    <dd>De {@link android.view.View.OnCreateContextMenuListener}.
     Isto é chamado quando um menu de contexto está sendo construído (como resultado de um "clique longo"). Consulte a discussão
     sobre menus de contexto no guia do desenvolvedor <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menus</a>
 .</dd>
@@ -75,8 +75,8 @@
 <p>Esses métodos são os únicos habitantes de suas respectivas interfaces. Para definir um desses métodos
 e lidar com seus eventos, implemente a interface aninhada na atividade ou defina-a como uma classe anônima.
 Em seguida, passe uma instância da implementação
-para o respectivo método <code>View.set...Listener()</code>. (Ex.:, chame 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code> 
+para o respectivo método <code>View.set...Listener()</code>. (Ex.:, chame
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
 e passe-o à implementação de {@link android.view.View.OnClickListener OnClickListener}.)</p>
 
 <p>O exemplo abaixo mostra como registrar uma escuta de clique para um botão. </p>
@@ -121,17 +121,17 @@
 não tem valor de retorno, mas outros métodos de escuta de evento podem retornar um booleano. O motivo
 depende do evento. Para os poucos que retornam, apresenta-se a razão:</p>
 <ul>
-  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> - 
-    Isto retorna um booleano para indicar se você consumiu o evento e se ele deve ser levado adiante. 
-    Ou seja, ele retorna <em>verdadeiro</em> para indicar que você lidou com o evento e não deve seguir adiante; 
+  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> -
+    Isto retorna um booleano para indicar se você consumiu o evento e se ele deve ser levado adiante.
+    Ou seja, ele retorna <em>verdadeiro</em> para indicar que você lidou com o evento e não deve seguir adiante;
     ou retorna <em>falso</em> caso você não tenha lidado com ele e/ou o evento deva continuar para qualquer
     outra escuta de clique.</li>
-  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> - 
+  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> -
     Isto retorna um booleano para indicar se você consumiu o evento e se ele deve ser levado adiante.
-        Ou seja, ele retorna <em>verdadeiro</em> para indicar que você lidou com o evento e não deve seguir adiante; 
+        Ou seja, ele retorna <em>verdadeiro</em> para indicar que você lidou com o evento e não deve seguir adiante;
     ou retorna <em>falso</em> caso você não tenha lidado com ele e/ou o evento deva continuar para qualquer
     outra escuta de tecla.</li>
-  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> - 
+  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> -
     Isto retorna um booleano para indicar se a escuta consome este evento. O importante é que este evento
     pode possuir várias ações que se seguem mutuamente. Portanto, se retornar <em>falso</em> quando
     o evento de ação inferior for recebido, você indicará que não consumiu o evento e que não está
@@ -181,14 +181,14 @@
 dentro de um layout, considere esses outros métodos:</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> - Isto permite que {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> - Isto permite que {@link
     android.app.Activity} intercepte todos os evento de toque antes de serem enviados à janela.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - Isto permite que {@link
     android.view.ViewGroup} assista aos eventos à medida que são enviados para as vistas filho.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - Chame isto
-    sobre uma Vista pai para indicar que ela não deve interceptar eventos de toque com <code>{@link 
+    sobre uma Vista pai para indicar que ela não deve interceptar eventos de toque com <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>.</li>
 </ul>
 
@@ -199,7 +199,7 @@
 ver o que aceitará entrada.  Se o dispositivo tiver capacidades de toque, no entanto, e o usuário
 começar a interagir com a interface por meio de toque, então não é mais necessário
 destacar itens ou fornecer foco para uma vista específica.  Contudo, há um modo
-de interação chamado "modo de toque". 
+de interação chamado "modo de toque".
 </p>
 <p>
 Para dispositivos com capacidades de toque, quando o usuário toca na tela, o dispositivo
@@ -214,7 +214,7 @@
 com a interface do usuário sem tocar na tela.
 </p>
 <p>
-O estado de modo de toque é mantido em todo o sistema (todas as janelas e atividades). 
+O estado de modo de toque é mantido em todo o sistema (todas as janelas e atividades).
 Para consultar o estado atual, é possível chamar
 {@link android.view.View#isInTouchMode} para ver se o dispositivo está no modo de toque no momento.
 </p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/pt-br/preview/api-overview.jd b/docs/html-intl/intl/pt-br/preview/api-overview.jd
index c16d847..d638e71 100644
--- a/docs/html-intl/intl/pt-br/preview/api-overview.jd
+++ b/docs/html-intl/intl/pt-br/preview/api-overview.jd
@@ -48,7 +48,7 @@
 
 
 
-<p>O Android N ainda está em desenvolvimento ativo, mas agora você já pode testá-lo 
+<p>O Android N ainda está em desenvolvimento ativo, mas agora você já pode testá-lo
 como parte do N Developer Preview. As seções a seguir destacam alguns dos
 novos recursos para desenvolvedores. </p>
 
@@ -62,7 +62,7 @@
 <h2 id="multi-window_support">Suporte a várias janelas</h2>
 
 
-<p>No Android N, introduzimos um recurso de multitarefa novo e muito solicitado 
+<p>No Android N, introduzimos um recurso de multitarefa novo e muito solicitado
 na plataforma &mdash; o suporte a várias janelas. </p>
 
   <p>Agora os usuários podem abrir dois aplicativos na tela ao mesmo tempo. </p>
@@ -85,9 +85,9 @@
 
   </div>
 
-<p>O suporte a várias janelas oferece novas formas de envolver os usuários, 
-particularmente em tablets e outros dispositivos com telas maiores. Você pode até ativar o recurso de arrastar e soltar 
-no aplicativo para permitir que os usuários arrastem conteúdo de ou para o aplicativo &mdash; uma ótima 
+<p>O suporte a várias janelas oferece novas formas de envolver os usuários,
+particularmente em tablets e outros dispositivos com telas maiores. Você pode até ativar o recurso de arrastar e soltar
+no aplicativo para permitir que os usuários arrastem conteúdo de ou para o aplicativo &mdash; uma ótima
 maneira de aprimorar a experiência do usuário. </p>
 
 <p>É muito fácil adicionar suporte a várias janelas a seu aplicativo e configurar como ele
@@ -103,7 +103,7 @@
 
 <h2 id="notification_enhancements">Aprimoramentos de notificações</h2>
 
-<p>Reformulamos as notificações no Android N para facilitar e agilizar o 
+<p>Reformulamos as notificações no Android N para facilitar e agilizar o
 uso. Entre as alterações estão:</p>
 
 <ul>
@@ -158,7 +158,7 @@
   <strong>Figura 2.</strong> Notificações empacotadas e resposta direta.
 </p>
 
-<p>Para saber como implementar os novos recursos, consulte o 
+<p>Para saber como implementar os novos recursos, consulte o
 guia <a href="{@docRoot}preview/features/notification-updates.html">Notificações</a>
 .</p>
 
@@ -166,42 +166,42 @@
 
 <h2 id="jit_aot">Compilação JIT/AOT orientada a perfil</h2>
 
-<p>No Android N, adicionamos um compilador Just in Time (JIT) com perfis de código para 
-ART, o que permite aprimorar constantemente o desempenho de aplicativos Android durante a 
+<p>No Android N, adicionamos um compilador Just in Time (JIT) com perfis de código para
+ART, o que permite aprimorar constantemente o desempenho de aplicativos Android durante a
 execução. O compilador JIT complementa o compilador atual Ahead of Time (AOT)
  do ART e ajuda a aprimorar o desempenho em tempo de execução, economizar espaço de armazenamento e acelerar atualizações
  de aplicativos e de sistema.</p>
 
-<p>A compilação orientada a perfil permite que o ART gerencie a compilação AOT/JIT de cada aplicativo 
-de acordo com o uso real e com as condições no dispositivo. Por 
-exemplo, o ART mantém um perfil dos principais métodos do aplicativo e pode pré-compilar 
+<p>A compilação orientada a perfil permite que o ART gerencie a compilação AOT/JIT de cada aplicativo
+de acordo com o uso real e com as condições no dispositivo. Por
+exemplo, o ART mantém um perfil dos principais métodos do aplicativo e pode pré-compilar
 e armazenar esses métodos em cache para obter o melhor desempenho. As outras partes do aplicativo não são
 compiladas até que sejam realmente utilizadas.</p>
 
-<p>Além de aprimorar o desempenho para as principais partes do aplicativo, a compilação 
-ajuda a reduzir o uso geral de recursos de RAM, incluindo os binários 
+<p>Além de aprimorar o desempenho para as principais partes do aplicativo, a compilação
+ajuda a reduzir o uso geral de recursos de RAM, incluindo os binários
 associados. Esse recurso é particularmente importante em dispositivos com pouca memória.</p>
 
-<p>O ART gerencia a compilação orientada a perfil de forma a minimizar o impacto sobre a 
-bateria do dispositivo. A pré-compilação é executada apenas quando o dispositivo está ocioso e 
+<p>O ART gerencia a compilação orientada a perfil de forma a minimizar o impacto sobre a
+bateria do dispositivo. A pré-compilação é executada apenas quando o dispositivo está ocioso e
 com a bateria sendo carregada, economizando tempo e bateria com a execução antecipada dessa tarefa.</p>
 
 <h2 id="quick_path_to_app_install">Caminho rápido para a instalação de aplicativos</h2>
 
-<p>Um dos benefícios mais tangíveis do compilador JIT do ART é a velocidade de instalação dos 
-aplicativos e das atualizações do sistema. Até mesmo aplicativos grandes, que exigiam vários minutos para 
-otimização e instalação no Android 6.0, podem agora ser instalados em 
+<p>Um dos benefícios mais tangíveis do compilador JIT do ART é a velocidade de instalação dos
+aplicativos e das atualizações do sistema. Até mesmo aplicativos grandes, que exigiam vários minutos para
+otimização e instalação no Android 6.0, podem agora ser instalados em
 segundos. As atualizações de sistema também ficaram mais rápidas, pois não existe mais a etapa de otimização. </p>
 
 <h2 id="doze_on_the_go">Modo soneca em movimento...</h2>
 
-<p>O Android 6.0 introduziu o modo soneca, um modo de sistema que economiza bateria adiando 
-atividades de CPU e rede dos aplicativos quando o dispositivo está ocioso, como 
+<p>O Android 6.0 introduziu o modo soneca, um modo de sistema que economiza bateria adiando
+atividades de CPU e rede dos aplicativos quando o dispositivo está ocioso, como
 quando está em uma mesa ou gaveta. </p>
 
-<p>Agora, no Android N, o modo soneca foi aprimorado e economiza bateria quando em movimento. 
-Sempre que a tela ficar desativada por um período e o dispositivo ficar desativado, 
-o modo soneca aplicará um subconjunto das restrições familiares de CPU e rede aos aplicativos. 
+<p>Agora, no Android N, o modo soneca foi aprimorado e economiza bateria quando em movimento.
+Sempre que a tela ficar desativada por um período e o dispositivo ficar desativado,
+o modo soneca aplicará um subconjunto das restrições familiares de CPU e rede aos aplicativos.
 Isso significa que os usuários podem economizar bateria transportando os dispositivos no
 bolso.</p>
 
@@ -213,36 +213,36 @@
 </p>
 
 
-<p>Pouco depois de a tela ser desativada com o dispositivo alimentado pela bateria, o modo soneca 
-restringe o acesso de rede e adia trabalhos e sincronizações. Durante breves janelas de 
-manutenção, os aplicativos podem acessar a rede e todos os 
+<p>Pouco depois de a tela ser desativada com o dispositivo alimentado pela bateria, o modo soneca
+restringe o acesso de rede e adia trabalhos e sincronizações. Durante breves janelas de
+manutenção, os aplicativos podem acessar a rede e todos os
 trabalhos/sincronizações adiados são executados. A ativação da tela ou do dispositivo
 encerra o modo soneca.</p>
 
-<p>Quando o dispositivo voltar a ficar estacionário, com a tela desativada e alimentado por bateria por um 
+<p>Quando o dispositivo voltar a ficar estacionário, com a tela desativada e alimentado por bateria por um
 período, o modo soneca aplicará as restrições completas de CPU e rede em {@link
-android.os.PowerManager.WakeLock}, alarmes {@link android.app.AlarmManager} e 
+android.os.PowerManager.WakeLock}, alarmes {@link android.app.AlarmManager} e
 verificações de GPS/Wi-Fi.</p>
 
-<p>As práticas recomendadas para adaptar o aplicativo ao modo soneca são as mesmas para 
-dispositivos estacionários ou em movimento. Portanto, se você já atualizou o aplicativo para 
+<p>As práticas recomendadas para adaptar o aplicativo ao modo soneca são as mesmas para
+dispositivos estacionários ou em movimento. Portanto, se você já atualizou o aplicativo para
 processar o modo soneca corretamente, está pronto. Caso contrário, comece a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptar
  o aplicativo para o modo soneca</a> agora.</p>
 
 <h2 id="background_optimizations">Project Svelte: Otimizações em segundo plano</h2>
 
-<p>O Project Svelte é um esforço contínuo para minimizar o uso de RAM pelo sistema e pelos aplicativos 
-nos dispositivos Android existentes no ecossistema. No Android N, o Project 
+<p>O Project Svelte é um esforço contínuo para minimizar o uso de RAM pelo sistema e pelos aplicativos
+nos dispositivos Android existentes no ecossistema. No Android N, o Project
 Svelte se concentra em otimizar a forma de execução dos aplicativos em segundo plano. </p>
 
-<p>O processamento em segundo plano é parte essencial da maioria dos aplicativos. Quando executado corretamente, a experiência 
-do usuário pode ficar incrível &mdash; imediata, rápida e sensível ao contexto. 
-Quando executado incorretamente, o processamento em segundo plano pode consumir desnecessariamente RAM (e 
+<p>O processamento em segundo plano é parte essencial da maioria dos aplicativos. Quando executado corretamente, a experiência
+do usuário pode ficar incrível &mdash; imediata, rápida e sensível ao contexto.
+Quando executado incorretamente, o processamento em segundo plano pode consumir desnecessariamente RAM (e
 bateria) e afetar o desempenho do sistema para os outros aplicativos. </p>
 
-<p>Desde o Android 5.0, {@link android.app.job.JobScheduler} é a forma 
-preferencial para execução de trabalho em segundo plano de uma maneira que beneficia 
-os usuários. Os aplicativos podem agendar trabalhos e permitir que o sistema execute otimizações com base em 
+<p>Desde o Android 5.0, {@link android.app.job.JobScheduler} é a forma
+preferencial para execução de trabalho em segundo plano de uma maneira que beneficia
+os usuários. Os aplicativos podem agendar trabalhos e permitir que o sistema execute otimizações com base em
 condições de memória, energia e conectividade. O JobScheduler oferece controle e
 simplicidade, e queremos que seja usado por todos os aplicativos. </p>
 
@@ -253,23 +253,23 @@
  Android.
 </p>
 
-<p>Continuamos a expandir o <code>JobScheduler</code> e o 
-<code>GCMNetworkManager</code> para atender a mais 
-casos de uso &mdash; por exemplo, no Android N, você já pode agendar trabalhos 
-em segundo plano de acordo com mudanças nos provedores de conteúdo. Ao mesmo tempo, começamos a 
-substituir alguns padrões mais antigos que podem reduzir o desempenho do sistema, 
+<p>Continuamos a expandir o <code>JobScheduler</code> e o
+<code>GCMNetworkManager</code> para atender a mais
+casos de uso &mdash; por exemplo, no Android N, você já pode agendar trabalhos
+em segundo plano de acordo com mudanças nos provedores de conteúdo. Ao mesmo tempo, começamos a
+substituir alguns padrões mais antigos que podem reduzir o desempenho do sistema,
 particularmente em dispositivos com pouca memória.</p>
 
 <p>No Android N, estamos removendo três transmissões implícitas de uso comum &mdash;
 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
 android.hardware.Camera#ACTION_NEW_PICTURE} e {@link
- android.hardware.Camera#ACTION_NEW_VIDEO} &mdash;, pois podem despertar simultaneamente 
-processos em segundo plano de vários aplicativos, aumentando o consumo de memória e bateria. Se 
+ android.hardware.Camera#ACTION_NEW_VIDEO} &mdash;, pois podem despertar simultaneamente
+processos em segundo plano de vários aplicativos, aumentando o consumo de memória e bateria. Se
 o seu aplicativo receber essas transmissões, aproveite o N Developer Preview para
  migrar para o <code>JobScheduler</code> e as APIs relacionadas. </p>
 
 <p>
-  Consulte a documentação de <a href="{@docRoot}preview/features/background-optimization.html">Otimizações 
+  Consulte a documentação de <a href="{@docRoot}preview/features/background-optimization.html">Otimizações
 em segundo plano</a> para obter mais detalhes.
 </p>
 
@@ -284,27 +284,27 @@
 </p>
   </div>
 
-<p>Normalmente, o custo de um plano de dados de celular ao longo da vida útil do dispositivo móvel 
-excede o custo do próprio dispositivo. Para muitos usuários, os dados de celular 
+<p>Normalmente, o custo de um plano de dados de celular ao longo da vida útil do dispositivo móvel
+excede o custo do próprio dispositivo. Para muitos usuários, os dados de celular
 são um recurso caro que querem economizar. </p>
 
-<p>O Android N introduz o modo de Economia de dados, um novo serviço do sistema que ajuda a reduzir 
-o uso de dados de celular pelos aplicativos em situações de roaming, perto do final do ciclo de cobrança 
-ou em pacotes de dados pré-pagos pequenos. A Economia de dados permite que os usuários controlem o 
-uso de dados de celular e possibilita que os desenvolvedores ofereçam serviços mais eficientes quando o modo de Economia 
+<p>O Android N introduz o modo de Economia de dados, um novo serviço do sistema que ajuda a reduzir
+o uso de dados de celular pelos aplicativos em situações de roaming, perto do final do ciclo de cobrança
+ou em pacotes de dados pré-pagos pequenos. A Economia de dados permite que os usuários controlem o
+uso de dados de celular e possibilita que os desenvolvedores ofereçam serviços mais eficientes quando o modo de Economia
 de dados estiver ativado. </p>
 
-<p>Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está 
-em uma rede tarifada, o sistema bloqueia o uso de dados em segundo plano e avisa aos aplicativos 
-para reduzir o uso de dados no primeiro plano sempre que possível &mdash; como, por exemplo, limitar a 
-taxa de bits de streaming, reduzir a qualidade de imagens, adiar o armazenamento prévio otimista em cache 
+<p>Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está
+em uma rede tarifada, o sistema bloqueia o uso de dados em segundo plano e avisa aos aplicativos
+para reduzir o uso de dados no primeiro plano sempre que possível &mdash; como, por exemplo, limitar a
+taxa de bits de streaming, reduzir a qualidade de imagens, adiar o armazenamento prévio otimista em cache
 e assim por diante. Os usuários podem autorizar aplicativos específicos a usar dados tarifados
 em segundo plano, mesmo com a Economia de dados ativada.</p>
 
-<p>O Android N estende o {@link android.net.ConnectivityManager} para oferecer aos aplicativos uma 
-forma de <a href="{@docRoot}preview/features/data-saver.html#status">recuperar as 
-preferências do usuário para a Economia de dados</a> e <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitorar 
-as mudanças de preferências</a>. Todos os aplicativos devem verificar se o usuário ativou a Economia 
+<p>O Android N estende o {@link android.net.ConnectivityManager} para oferecer aos aplicativos uma
+forma de <a href="{@docRoot}preview/features/data-saver.html#status">recuperar as
+preferências do usuário para a Economia de dados</a> e <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitorar
+as mudanças de preferências</a>. Todos os aplicativos devem verificar se o usuário ativou a Economia
 de dados e tentar limitar o uso de dados em primeiro e segundo plano.</p>
 
 
@@ -364,16 +364,16 @@
 </p>
 
 
-  </div><p>As Configurações rápidas são uma forma popular e simples de expor as principais configurações e ações 
-diretamente na aba de notificações. No Android N, ampliamos o escopo das 
+  </div><p>As Configurações rápidas são uma forma popular e simples de expor as principais configurações e ações
+diretamente na aba de notificações. No Android N, ampliamos o escopo das
 Configurações rápidas para aumentar ainda mais a utilidade e a conveniência. </p>
 
-<p>Adicionamos mais espaço para os blocos de Configurações rápidas, que os usuários podem 
-acessar em uma área de exibição paginada deslizando à direita ou à esquerda. Além disso, 
-permitimos que os usuários controlem quais blocos de Configurações rápidas são exibidos, bem como o local 
+<p>Adicionamos mais espaço para os blocos de Configurações rápidas, que os usuários podem
+acessar em uma área de exibição paginada deslizando à direita ou à esquerda. Além disso,
+permitimos que os usuários controlem quais blocos de Configurações rápidas são exibidos, bem como o local
 em que são exibidos &mdash; para adicionar ou mover blocos, os usuários simplesmente arrastam e soltam os blocos. </p>
 
-<p>Para desenvolvedores, o Android N também adiciona uma API nova que permite definir os próprios 
+<p>Para desenvolvedores, o Android N também adiciona uma API nova que permite definir os próprios
 blocos de Configurações rápidas para que os usuários possam acessar facilmente os principais controles e ações do seu aplicativo.</p>
 
 <p>
@@ -396,25 +396,25 @@
 
 <h2 id="number-blocking">Bloqueio de número</h2>
 
-<p>O Android N agora oferece suporte a bloqueio de números na plataforma e disponibiliza uma 
+<p>O Android N agora oferece suporte a bloqueio de números na plataforma e disponibiliza uma
 API de estrutura para permitir que provedores de serviço mantenham uma lista de números bloqueados. O
- aplicativo padrão de SMS, o aplicativo padrão de telefone e os aplicativos de provedor podem ler e gravar 
+ aplicativo padrão de SMS, o aplicativo padrão de telefone e os aplicativos de provedor podem ler e gravar
 a lista de números bloqueados. A lista não está acessível para outros aplicativos.</p>
 
-<p>Ao oferecer o bloqueio de número como recurso padrão da plataforma, o Android oferece 
-uma forma consistente de bloqueio de números em uma grande variedade de 
+<p>Ao oferecer o bloqueio de número como recurso padrão da plataforma, o Android oferece
+uma forma consistente de bloqueio de números em uma grande variedade de
 dispositivos. Alguns benefícios que podem ser aproveitados pelos aplicativos são:</p>
 
 <ul>
   <li> Números bloqueados para chamadas também são bloqueados para mensagens de texto
-  <li> Números bloqueados podem persistir entre várias redefinições e dispositivos por meio do 
+  <li> Números bloqueados podem persistir entre várias redefinições e dispositivos por meio do
 recurso Backup e restauração
   <li> Vários aplicativos podem usar a mesma lista de números bloqueados
 </ul>
 
-<p>Além disso, a integração de aplicativos da operadora por meio do Android significa que as operadoras podem 
-ler a lista de números bloqueados no dispositivo e executar um bloqueio do lado do servidor 
-para o usuário, impedindo que chamadas e textos indesejados cheguem a ele 
+<p>Além disso, a integração de aplicativos da operadora por meio do Android significa que as operadoras podem
+ler a lista de números bloqueados no dispositivo e executar um bloqueio do lado do servidor
+para o usuário, impedindo que chamadas e textos indesejados cheguem a ele
 por qualquer meio, como terminais de VOIP ou encaminhamento de telefones.</p>
 
 <p>
@@ -449,23 +449,23 @@
 
 
 <p>O Android N agora permite que os usuários selecionem <strong>diversas localidades</strong> em Settings
-para oferecer melhor suporte a casos de uso bilíngue. Os aplicativos podem usar 
-uma API nova para obter as localidades selecionadas pelo usuário e oferecer 
-experiências de usuário mais sofisticadas para usuários com diversas localidades &mdash; como, por exemplo, mostrar resultados de pesquisa em 
-diversos idiomas e não oferecer a tradução de páginas da web que usam 
+para oferecer melhor suporte a casos de uso bilíngue. Os aplicativos podem usar
+uma API nova para obter as localidades selecionadas pelo usuário e oferecer
+experiências de usuário mais sofisticadas para usuários com diversas localidades &mdash; como, por exemplo, mostrar resultados de pesquisa em
+diversos idiomas e não oferecer a tradução de páginas da web que usam
 um idioma conhecido pelo usuário.</p>
 
-<p>Juntamente com o suporte a várias localidades, o Android N também amplia o número de idiomas 
-disponíveis aos usuários. Ele oferece mais de 25 variantes para cada um dos idiomas 
+<p>Juntamente com o suporte a várias localidades, o Android N também amplia o número de idiomas
+disponíveis aos usuários. Ele oferece mais de 25 variantes para cada um dos idiomas
 mais comuns, como inglês, espanhol, francês e árabe. Além disso, adiciona suporte parcial
 a mais de 100 novos idiomas.</p>
 
 <p>Os aplicativos podem obter a lista de localidades definida pelo usuário chamando
 <code>LocaleList.GetDefault()</code>.  Para oferecer suporte ao maior número de localidades, o Android N está
-alterando a forma como resolve recursos. Não deixe de testar e verificar se seus aplicativos 
+alterando a forma como resolve recursos. Não deixe de testar e verificar se seus aplicativos
 funcionam da forma esperada com a nova lógica de resolução de recursos.</p>
 
-<p>Para saber mais sobre o novo comportamento de resolução de recursos e sobre as práticas recomendadas que você deve 
+<p>Para saber mais sobre o novo comportamento de resolução de recursos e sobre as práticas recomendadas que você deve
 seguir, consulte <a href="{@docRoot}preview/features/multilingual-support.html">Suporte a vários idiomas</a>.</p>
 
 
@@ -481,7 +481,7 @@
 <ul>
   <li>
     <strong>Verifique se o dispositivo contém um emoticon antes de inseri-lo.</strong>
-    Para conferir quais emoticons estão presentes 
+    Para conferir quais emoticons estão presentes
  na fonte do sistema, use o método {@link android.graphics.Paint#hasGlyph(String)}.
   </li>
   <li>
@@ -539,19 +539,19 @@
 </ul>
 
 <p>A API da estrutura do OpenGL ES 3.2 no Android N é fornecida pela classe
-<code>GLES32</code>. Ao usar o OpenGL ES 3.2, não deixe de declarar o 
-requisito no arquivo manifesto usando o rótulo <code>&lt;uses-feature&gt;</code> e o 
+<code>GLES32</code>. Ao usar o OpenGL ES 3.2, não deixe de declarar o
+requisito no arquivo manifesto usando o rótulo <code>&lt;uses-feature&gt;</code> e o
 atributo <code>android:glEsVersion</code>. </p>
 
-<p>Para obter mais informações sobre como usar o OpenGL ES, incluindo como verificar a versão do 
+<p>Para obter mais informações sobre como usar o OpenGL ES, incluindo como verificar a versão do
 OpenGL ES compatível do dispositivo no tempo de execução, consulte o <a href="{@docRoot}guide/topics/graphics/opengl.html">guia da OpenGL ES API</a>.</p>
 
 
 <h2 id="android_tv_recording">Gravação do Android TV</h2>
 
-<p>O Android N adiciona a capacidade de gravar e reproduzir conteúdo de serviços de entrada 
-do Android TV por meio de novas APIs de gravação.  Criados usando as APIs atuais de time-shifting, 
-os serviços de entrada de TV podem controlar quais dados de canal são gravados e como 
+<p>O Android N adiciona a capacidade de gravar e reproduzir conteúdo de serviços de entrada
+do Android TV por meio de novas APIs de gravação.  Criados usando as APIs atuais de time-shifting,
+os serviços de entrada de TV podem controlar quais dados de canal são gravados e como
 as sessões gravadas são salvas, bem como gerenciar a interação do usuário com o conteúdo gravado. </p>
 
 <p>Para obter mais informações, consulte <a href="{@docRoot}preview/features/tv-recording-api.html">Android TV Recording APIs</a>.</p>
@@ -589,8 +589,8 @@
 </p>
 <h3 id="turn_off_work">Desativar o trabalho </h3>
 
-<p>Os usuários podem alternar o modo de trabalho em dispositivos com um perfil de trabalho. Quando o modo de trabalho está 
-desativado, o usuário gerenciado é encerrado temporariamente, o que desativa 
+<p>Os usuários podem alternar o modo de trabalho em dispositivos com um perfil de trabalho. Quando o modo de trabalho está
+desativado, o usuário gerenciado é encerrado temporariamente, o que desativa
 os aplicativos, a sincronização em segundo plano e as notificações do perfil de trabalho. Isso inclui o aplicativo do
 dono do perfil. Quando o modo de trabalho está desativado, o sistema exibe um ícone de status persistente
  para lembrar ao usuário que não é possível iniciar aplicativos de trabalho. A tela de início
@@ -598,7 +598,7 @@
 
 <h3 id="always_on_vpn">Always on VPN </h3>
 
-<p>Os donos de dispositivo e perfil podem garantir que os aplicativos de trabalho se conectem sempre 
+<p>Os donos de dispositivo e perfil podem garantir que os aplicativos de trabalho se conectem sempre
 por meio de uma VPN especificada. O sistema inicia automaticamente a VPN após a
  inicialização do dispositivo.</p>
 
@@ -608,7 +608,7 @@
  <code>getAlwaysOnVpnPackage()</code>.
 </p>
 
-<p>Como os serviços de VPN podem ser vinculados diretamente pelo sistema sem interação com 
+<p>Como os serviços de VPN podem ser vinculados diretamente pelo sistema sem interação com
 aplicativos, os clientes de VPN precisam processar novos pontos de entrada para o Always on VPN. Da
  mesma forma que antes, os serviços são indicados ao sistema por um filtro de intenção
  correspondente à ação <code>android.net.VpnService</code>. </p>
@@ -631,17 +631,17 @@
 
 <h2 id="accessibility_enhancements">Aprimoramentos na acessibilidade</h2>
 
-<p>O Android N agora oferece Configurações de visão diretamente na tela de boas-vindas na instalação 
+<p>O Android N agora oferece Configurações de visão diretamente na tela de boas-vindas na instalação
 de novos dispositivos. Isso permite que os usuários descubram e configurem recursos de acessibilidade
  em seus dispositivos de forma muito mais fácil, incluindo gesto de ampliação, tamanho
 da fonte, tamanho da tela e TalkBack. </p>
 
-<p>Com o posicionamento mais proeminente desses recursos de acessibilidade, os usuários 
+<p>Com o posicionamento mais proeminente desses recursos de acessibilidade, os usuários
 ficarão mais propensos a experimentar o aplicativo com os recursos ativados. Não deixe de testar antecipadamente os aplicativos
 com essas configurações ativadas. Você pode ativá-las em Settings &gt;
 Accessibility.</p>
 
-<p>Além disso, os serviços de acessibilidade no Android N podem ajudar usuários com deficiências 
+<p>Além disso, os serviços de acessibilidade no Android N podem ajudar usuários com deficiências
 motoras a tocar na tela. A nova API permite criar serviços com recursos
 como acompanhamento de face, acompanhamento de olho e varredura de pontos, entre outros, para atender
 às necessidades desses usuários.</p>
@@ -652,22 +652,22 @@
 
 <h2 id="direct_boot">Inicialização direta</h2>
 
-<p>A inicialização direta reduz os tempos de inicialização dos dispositivos e permite que aplicativos 
-registrados tenham funcionalidade limitada, mesmo após uma reinicialização inesperada. 
-Por exemplo, se um dispositivo criptografado reinicializar durante o sono do usuário, 
-alarmes registrados, mensagens e chamadas recebidas podem agora continuar notificando 
+<p>A inicialização direta reduz os tempos de inicialização dos dispositivos e permite que aplicativos
+registrados tenham funcionalidade limitada, mesmo após uma reinicialização inesperada.
+Por exemplo, se um dispositivo criptografado reinicializar durante o sono do usuário,
+alarmes registrados, mensagens e chamadas recebidas podem agora continuar notificando
 o usuário normalmente. Isso também significa que serviços de acessibilidade podem ser
 disponibilizados imediatamente após um reinício.</p>
 
-<p>A inicialização direita aproveita a criptografia baseada em arquivo do Android N 
-para ativar políticas de criptografia detalhadas para dados de sistema e aplicativos. 
-O sistema usa um armazenamento criptografado pelo dispositivo para determinados dados de sistema e dados 
+<p>A inicialização direita aproveita a criptografia baseada em arquivo do Android N
+para ativar políticas de criptografia detalhadas para dados de sistema e aplicativos.
+O sistema usa um armazenamento criptografado pelo dispositivo para determinados dados de sistema e dados
 de aplicativos registrados explicitamente. Por padrão, um armazenamento criptografado por credencial é usado para todos
 os outros dados de sistema, dados de usuário, aplicativos e dados de aplicativos. </p>
 
-<p>Na inicialização, o sistema inicia em um modo restrito que permite 
-acessar apenas dados criptografados pelo dispositivo, sem acesso geral a aplicativos ou dados. 
-Se você deseja executar componentes nesse modo, pode registrá-los 
+<p>Na inicialização, o sistema inicia em um modo restrito que permite
+acessar apenas dados criptografados pelo dispositivo, sem acesso geral a aplicativos ou dados.
+Se você deseja executar componentes nesse modo, pode registrá-los
 definindo um sinalizador no manifesto. Após a reinicialização, o sistema ativa
 componentes registrados transmitindo a intenção <code>LOCKED_BOOT_COMPLETED</code>
 . O sistema garante que dados de aplicativos registrados criptografados pelos dispositivos sejam disponibilizados
@@ -680,26 +680,26 @@
 
 <h2 id="key_attestation">Confirmação de chaves</h2>
 
-<p>Os armazenamentos de chaves protegidos por hardware oferecem um método muito mais seguro para criar, armazenar 
+<p>Os armazenamentos de chaves protegidos por hardware oferecem um método muito mais seguro para criar, armazenar
 e usar chaves de criptografia em dispositivos Android. Eles protegem chaves contra o kernel do Linux,
 possíveis vulnerabilidades do Android e extração
 em dispositivos com acesso root.</p>
 
-<p>Para permitir o uso de armazenamento de chaves protegido por hardware com maior facilidade e segurança, 
+<p>Para permitir o uso de armazenamento de chaves protegido por hardware com maior facilidade e segurança,
 o Android N introduziu a confirmação de chaves. Aplicativos em dispositivos móveis e fora deles podem usar a confirmação de chaves
 para determinar com precisão se um par de chaves RSA ou EC
 está protegido por hardware, quais as propriedades do par de chaves e quais as restrições
 aplicadas ao uso e à validação. </p>
 
-<p>Aplicativos e serviços externos aos dispositivos móveis podem solicitar informações sobre um par de chaves 
-por meio de um certificado de confirmação X.509, que deve estar assinado por uma 
-chave de confirmação válida. A chave de confirmação é uma chave de assinatura ECDSA, 
-injetada no armazenamento de chaves protegido por hardware do dispositivo na fábrica. 
-Portanto, um certificado de confirmação assinado com uma chave de confirmação 
-válida confirma a existência de um armazenamento de chaves protegido por hardware, além de 
+<p>Aplicativos e serviços externos aos dispositivos móveis podem solicitar informações sobre um par de chaves
+por meio de um certificado de confirmação X.509, que deve estar assinado por uma
+chave de confirmação válida. A chave de confirmação é uma chave de assinatura ECDSA,
+injetada no armazenamento de chaves protegido por hardware do dispositivo na fábrica.
+Portanto, um certificado de confirmação assinado com uma chave de confirmação
+válida confirma a existência de um armazenamento de chaves protegido por hardware, além de
 detalhes dos pares de chaves desse armazenamento de chaves.</p>
 
-<p>Para garantir que o dispositivo esteja usando uma imagem Android oficial de fábrica 
+<p>Para garantir que o dispositivo esteja usando uma imagem Android oficial de fábrica
 e segura, a confirmação de chaves exige que o <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">bootloader</a>
  do dispositivo forneça as seguintes informações ao <a class="external-link" href="https://source.android.com/security/trusty/index.html">Ambiente
  de execução confiável (TEE)</a>:</p>
@@ -709,7 +709,7 @@
 <li>A chave pública <a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">Verified Boot</a> e seu status de bloqueio</li>
   </ul>
 
-<p>Para obter mais informações sobre o recurso de armazenamento de chaves protegido por hardware, 
+<p>Para obter mais informações sobre o recurso de armazenamento de chaves protegido por hardware,
 consulte o guia <a href="https://source.android.com/security/keystore/" class="external-link">Armazenamento de chaves protegido por hardware</a>.</p>
 
 <p>Além da confirmação de chaves, o Android N também introduziu
@@ -717,9 +717,9 @@
 
 <h2 id="network_security_config">Configuração de segurança de rede</h2>
 
-<p>No Android N, os aplicativos podem personalizar o comportamento de conexões seguras (HTTPS, TLS) 
-de forma segura, sem modificação no código, usando a 
-<em>Configuração de segurança de rede</em> declarativa em vez das 
+<p>No Android N, os aplicativos podem personalizar o comportamento de conexões seguras (HTTPS, TLS)
+de forma segura, sem modificação no código, usando a
+<em>Configuração de segurança de rede</em> declarativa em vez das
 APIs programáticas propensas a erro (por exemplo, X509TrustManager).</p>
 
   <p>Recursos compatíveis:</p>
@@ -728,25 +728,25 @@
 autoridades de certificado (CA) são confiáveis para as conexões seguras. Por
  exemplo, confiar em certificados autoassinados privados ou um restrito conjunto de CAs públicas.
 </li>
-<li><b>Substituições apenas em depuração.</b> Permite que um desenvolvedor de aplicativos depure 
-conexões seguras do aplicativo com segurança, sem adicionar riscos à base 
+<li><b>Substituições apenas em depuração.</b> Permite que um desenvolvedor de aplicativos depure
+conexões seguras do aplicativo com segurança, sem adicionar riscos à base
 instalada.
 </li>
-<li><b>Cancelamento do uso de tráfego de texto simples.</b> Permite que um aplicativo seja protegido contra 
+<li><b>Cancelamento do uso de tráfego de texto simples.</b> Permite que um aplicativo seja protegido contra
 o uso acidental de tráfego de texto simples.</li>
 <li><b>Fixação de certificados.</b> Um recurso avançado que permite que os aplicativos
  limitem quais chaves de servidor são confiáveis para conexões seguras.</li>
 </ul>
 
-<p>Para obter mais configurações, consulte <a href="{@docRoot}preview/features/security-config.html">Configuração de segurança 
+<p>Para obter mais configurações, consulte <a href="{@docRoot}preview/features/security-config.html">Configuração de segurança
 de rede</a>.</p>
 
 <h2 id="default_trusted_ca">Autoridade de certificado confiável padrão</h2>
 
-<p>Por padrão, os aplicativos direcionados ao Android N confiam apenas em certificados fornecidos pelo sistema 
-e não confiam mais em Autoridades de certificado (CA) adicionadas pelo usuário. Os aplicativos direcionados ao Android 
-N que querem confiar em CAs adicionadas pelo usuário devem usar a 
-<a href="{@docRoot}preview/features/security-config.html">Configuração de segurança de rede</a> para 
+<p>Por padrão, os aplicativos direcionados ao Android N confiam apenas em certificados fornecidos pelo sistema
+e não confiam mais em Autoridades de certificado (CA) adicionadas pelo usuário. Os aplicativos direcionados ao Android
+N que querem confiar em CAs adicionadas pelo usuário devem usar a
+<a href="{@docRoot}preview/features/security-config.html">Configuração de segurança de rede</a> para
 especificar como confiar nas CAs de usuário.</p>
 
 <h2 id="apk_signature_v2">Esquema de assinatura de APK v2</h2>
@@ -804,18 +804,18 @@
 <p>No Android N, os aplicativos podem usar novas APIs para solicitar acesso a determinados diretórios de <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">armazenamento
 externo</a>, incluindo diretórios em mídias removíveis, tais como cartões
 SD. As novas APIs simplificam consideravelmente como o aplicativo acessa os
-diretórios de armazenamento externo padrão, tais como o diretório<code>Pictures</code>. Os aplicativos, 
-como aplicativos de fotografia, podem usar essas APIs em vez de 
-<code>READ_EXTERNAL_STORAGE</code>, que concede acesso a todos os diretórios de 
-armazenamento, ou da Estrutura de acesso ao armazenamento, que faz o usuário navegar até 
+diretórios de armazenamento externo padrão, tais como o diretório<code>Pictures</code>. Os aplicativos,
+como aplicativos de fotografia, podem usar essas APIs em vez de
+<code>READ_EXTERNAL_STORAGE</code>, que concede acesso a todos os diretórios de
+armazenamento, ou da Estrutura de acesso ao armazenamento, que faz o usuário navegar até
 o diretório.</p>
 
-<p>Além disso, as novas APIs simplificam as etapas executadas pelo usuário para conceder ao aplicativo 
+<p>Além disso, as novas APIs simplificam as etapas executadas pelo usuário para conceder ao aplicativo
 acesso ao armazenamento externo. Quando você usa as novas APIs, o sistema usa uma IU de permissões simples
 que detalha claramente a qual diretório o aplicativo
 está solicitando acesso.</p>
 
-<p>Para obter mais informações, consulte a documentação para desenvolvedores 
+<p>Para obter mais informações, consulte a documentação para desenvolvedores
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Acessos
  a diretório com escopo</a>.</p>
 
@@ -846,7 +846,7 @@
 </p>
 
 <p>
-Para tratar estas limitações, o Android N inclui compatibilidade opcional para 
+Para tratar estas limitações, o Android N inclui compatibilidade opcional para
 <em>modo de desempenho sustentado</em>, permitindo que OEMs ofereçam dicas sobre
  capacidades de desempenho em dispositivo para aplicativos de longa duração. Os desenvolvedores de aplicativos
 podem usar essas dicas para ajustar os aplicativos para um nível de desempenho do dispositivo previsível
@@ -869,8 +869,8 @@
  desenvolvedores a capacidade de projetar experiências de RV móveis de alta qualidade para os usuários. Há diversas melhorias de desempenho
 , incluindo acesso a um núcleo exclusivo da CPU para aplicativos de RV.
  Dentro dos aplicativos, é possível tirar vantagem do rastreamento inteligente da cabeça
-e de notificações estéreo que funcionam para RV. Mais importante, o Android N oferece 
-gráficos de latência muito baixa. Para obter informações completas sobre a criação de aplicativos de RV para Android N, 
+e de notificações estéreo que funcionam para RV. Mais importante, o Android N oferece
+gráficos de latência muito baixa. Para obter informações completas sobre a criação de aplicativos de RV para Android N,
 consulte o <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
 </p>
 
@@ -883,7 +883,7 @@
 </p>
 
 <p>
-  Ao listar impressoras individuais, agora um serviço de impressão pode definir 
+  Ao listar impressoras individuais, agora um serviço de impressão pode definir
 ícones por impressora de duas maneiras:
 </p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/behavior-changes.jd b/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
index 1e56a99..b2f07d9 100644
--- a/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
@@ -44,7 +44,7 @@
 
 
 <p>
-  Junto com novos recursos e funcionalidades, o Android N 
+  Junto com novos recursos e funcionalidades, o Android N
 inclui uma variedade de mudanças de comportamento do sistema e da API. Este documento
 destaca algumas das principais mudanças que você deve entender e considerar
 nos aplicativos.
@@ -88,7 +88,7 @@
  período, o dispositivo entrará no modo de soneca e aplicará o primeiro subconjunto de restrições: o
 acesso do aplicativo à rede será desativado e os trabalhos e sincronizações serão adiados. Se o dispositivo permanecer
 estacionário por um determinado período após entrar no modo soneca, o sistema aplicará
-as demais restrições de soneca a {@link android.os.PowerManager.WakeLock}, aos alarmes 
+as demais restrições de soneca a {@link android.os.PowerManager.WakeLock}, aos alarmes
 {@link android.app.AlarmManager} e às verificações de GPS e Wi-Fi. Independentemente
  de as restrições de soneca serem aplicadas parcial ou totalmente, o sistema despertará o
  dispositivo para breves janelas de manutenção, quando os aplicativos
@@ -151,7 +151,7 @@
 <ul>
   <li>Os aplicativos direcionados ao Android N não receberão transmissões {@link
  android.net.ConnectivityManager#CONNECTIVITY_ACTION}, mesmo
- se tiverem entradas no manifesto solicitando notificação desses eventos. Os aplicativos em execução 
+ se tiverem entradas no manifesto solicitando notificação desses eventos. Os aplicativos em execução
 ainda poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal
  se solicitarem a notificação com {@link android.content.BroadcastReceiver}.
   </li>
@@ -175,7 +175,7 @@
 
 <p>
   Para obter mais informações sobre otimizações em segundo plano no N e como adaptar seu aplicativo,
- consulte <a href="{@docRoot}preview/features/background-optimization.html">Otimizações 
+ consulte <a href="{@docRoot}preview/features/background-optimization.html">Otimizações
 em segundo plano</a>.
 </p>
 
@@ -245,14 +245,14 @@
 
 <p>
 Para aplicativos direcionados ao Android N, a estrutura do Android cumpre com
-a política de API {@link android.os.StrictMode} que proíbe a exposição de URIs {@code file://} 
+a política de API {@link android.os.StrictMode} que proíbe a exposição de URIs {@code file://}
 fora do aplicativo. Se uma intenção que contenha o URI de um arquivo deixar o aplicativo, ele falhará
  com uma exceção {@code FileUriExposedException}.
 </p>
 
 <p>
 Para compartilhar arquivos entre aplicativos, você deve enviar um URI {@code content://}
-e conceder uma permissão de acesso temporária ao URI. A forma mais fácil de conceder essa permissão é 
+e conceder uma permissão de acesso temporária ao URI. A forma mais fácil de conceder essa permissão é
 usar a classe {@link android.support.v4.content.FileProvider}. Para obter mais informações
  sobre permissões e compartilhamento de arquivos,
 consulte <a href="{@docRoot}training/secure-file-sharing/index.html">Compartilhamento de Arquivos</a>.
@@ -334,7 +334,7 @@
  rede. Verifique a ocorrência de alterações de configuração quando o aplicativo sair do estado pausado e retomar
  a execução.
     <p class="note">
-      <strong>Observação:</strong> se você armazenar em cache dados dependentes de configuração, 
+      <strong>Observação:</strong> se você armazenar em cache dados dependentes de configuração,
 recomendamos incluir metadados relevantes, como o tamanho de tela
  adequado ou a densidade de pixels desses dados. Salvar esses dados permitirá que você
  decida se será necessário atualizar os dados armazenados em cache após uma mudança
@@ -373,7 +373,7 @@
 <p>
   Para alertar sobre o uso de APIs não públicas, os aplicativos executados em um dispositivo
  Android N geram um erro na saída logcat quando um aplicativo chama uma API não pública.
-  Esse erro também é exibido na tela do dispositivo como mensagem para que o usuário 
+  Esse erro também é exibido na tela do dispositivo como mensagem para que o usuário
 fique ciente da situação. Revise o código do seu aplicativo para
  remover o uso de APIs de plataformas não públicas e faça testes completos do aplicativo usando
  um dispositivo de visualização ou um emulador.
@@ -384,7 +384,7 @@
  para obter soluções usuais de substituição de APIs privadas comuns por APIs públicas equivalentes.
   Também é possível que você esteja vinculando bibliotecas de plataforma sem perceber,
  particularmente se o aplicativo usar uma biblioteca que faz parte da plataforma (como
- <code>libpng</code>), mas não faz parte do NDK. Nesse caso, verifique se 
+ <code>libpng</code>), mas não faz parte do NDK. Nesse caso, verifique se
 o APK contém todos os arquivos .so que você pretende vincular.
 </p>
 
@@ -398,9 +398,9 @@
   Os aplicativos não devem depender de nem usar bibliotecas nativas não incluídas
  no NDK, pois elas podem ser alteradas ou removidas entre uma versão do Android
  e outra. A mudança de OpenSSL para BoringSSL é um exemplo dessas alterações.
-  Além disso, dispositivos diferentes podem oferecer níveis distintos de compatibilidade, pois 
- não há requisitos de compatibilidade para bibliotecas de plataforma não incluídas 
-no NDK. Se você precisar acessar bibliotecas que não são do NDK em dispositivos mais antigos, torne o carregamento 
+  Além disso, dispositivos diferentes podem oferecer níveis distintos de compatibilidade, pois
+ não há requisitos de compatibilidade para bibliotecas de plataforma não incluídas
+no NDK. Se você precisar acessar bibliotecas que não são do NDK em dispositivos mais antigos, torne o carregamento
 dependente do nível da Android API.
 </p>
 
@@ -528,28 +528,28 @@
 
 <ul>
 <li>Quando um aplicativo for executado no Android N, mas for direcionado a um nível da API menor
- e o usuário alterar o tamanho da tela, o processo do aplicativo será eliminado. O aplicativo 
-deverá ser capaz de processar corretamente esse cenário. Caso contrário, ele falhará 
+ e o usuário alterar o tamanho da tela, o processo do aplicativo será eliminado. O aplicativo
+deverá ser capaz de processar corretamente esse cenário. Caso contrário, ele falhará
 quando o usuário restaurá-lo usando Recents.
 
 <p>
-Você deve testar o aplicativo para verificar 
-se esse comportamento não ocorre. 
-Isso pode ser feito causando uma falha idêntica 
+Você deve testar o aplicativo para verificar
+se esse comportamento não ocorre.
+Isso pode ser feito causando uma falha idêntica
 eliminando o aplicativo manualmente usando o DDMS.
 </p>
 
 <p>
-Aplicativos direcionados ao Android N e versões posteriores não serão eliminados automaticamente em mudanças de densidade. 
+Aplicativos direcionados ao Android N e versões posteriores não serão eliminados automaticamente em mudanças de densidade.
 No entanto, podem continuar a responder a alterações de configurações de forma não ideal.
 </p>
 </li>
 
 <li>
-Os aplicativos no Android N devem ser capazes de processar corretamente mudanças de configuração 
-e não devem falhar em inicializações subsequentes. Você pode verificar o comportamento do aplicativo 
+Os aplicativos no Android N devem ser capazes de processar corretamente mudanças de configuração
+e não devem falhar em inicializações subsequentes. Você pode verificar o comportamento do aplicativo
 alterando o tamanho da fonte (<strong>Setting</strong> &gt;
-<strong>Display</strong> &gt; <strong>Font size</strong>) e depois restaurando 
+<strong>Display</strong> &gt; <strong>Font size</strong>) e depois restaurando
 o aplicativo em Recents.
 </li>
 
@@ -557,12 +557,12 @@
 Devido a um erro em versões anteriores do Android, o sistema não sinaliza gravações
  em um soquete TCP no encadeamento principal como violações do modo estrito. O Android N corrigiu esse erro.
 Agora, os aplicativos que exibirem este comportamento gerarão uma{@code android.os.NetworkOnMainThreadException}.
-Geralmente, a realização de operações de rede no encadeamento principal é uma má ideia porque essas operações 
+Geralmente, a realização de operações de rede no encadeamento principal é uma má ideia porque essas operações
 geralmente têm alta latência no final, causando ANRs e problemas.
 </li>
 
 <li>
-Agora, por padrão, a família de métodos {@code Debug.startMethodTracing()} armazena 
+Agora, por padrão, a família de métodos {@code Debug.startMethodTracing()} armazena
 os resultados no diretório específico do pacote no armazenamento compartilhado,
  e não no nível mais alto
  do cartão SD.  Isso significa que os aplicativos não precisam mais solicitar a permissão {@code WRITE_EXTERNAL_STORAGE} para usar estas APIs.
@@ -583,9 +583,9 @@
 Se um aplicativo publica tarefas {@link java.lang.Runnable} para uma {@link android.view.View} e
  esta {@link android.view.View}
 não está anexada a uma janela, o sistema
-coloca a tarefa {@link java.lang.Runnable} em fila com a {@link android.view.View}. 
-A tarefa {@link java.lang.Runnable} não é executada até que a 
-{@link android.view.View} esteja anexada 
+coloca a tarefa {@link java.lang.Runnable} em fila com a {@link android.view.View}.
+A tarefa {@link java.lang.Runnable} não é executada até que a
+{@link android.view.View} esteja anexada
 a uma janela. Este comportamento corrige os seguintes erros:
 <ul>
    <li>Se um aplicativo publicasse em uma {@link android.view.View} de um encadeamento que não fosse o encadeamento de IU da janela pretendida
diff --git a/docs/html-intl/intl/pt-br/preview/features/afw.jd b/docs/html-intl/intl/pt-br/preview/features/afw.jd
index c16cff9..977d2a0 100644
--- a/docs/html-intl/intl/pt-br/preview/features/afw.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/afw.jd
@@ -101,7 +101,7 @@
   Donos de perfis podem exigir que os usuários especifiquem um desafio de segurança para aplicativos
 em execução no perfil de trabalho. O sistema mostra o desafio de segurança quando o
 usuário tenta abrir qualquer aplicativo de trabalho. Se o usuário preencher corretamente o
- desafio de segurança, o sistema desbloqueará e, se necessário, descriptografará o 
+ desafio de segurança, o sistema desbloqueará e, se necessário, descriptografará o
 perfil de trabalho.
 </p>
 
@@ -126,14 +126,14 @@
 setPasswordMinimumLength()}. O dono de perfil também pode definir o bloqueio de dispositivo
 usando a instância de {@link android.app.admin.DevicePolicyManager} retornada
 pelo novo método <code>DevicePolicyManager.getParentProfileInstance()</code>
-. Além disso, donos de perfil podem personalizar a tela de credenciais do 
+. Além disso, donos de perfil podem personalizar a tela de credenciais do
 desafio de trabalho usando os novos métodos <code>setOrganizationColor()</code> e
  <code>setOrganizationName()</code> da classe {@link android.app.admin.DevicePolicyManager}
 .
 </p>
 
 <p>
-  Para obter detalhes sobre os novos métodos e constantes, consulte a 
+  Para obter detalhes sobre os novos métodos e constantes, consulte a
 página de referência <code>DevicePolicyManager</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência do N Preview SDK</a>.
 </p>
 
@@ -149,7 +149,7 @@
   Enquanto está suspenso, um pacote não consegue iniciar atividades, as notificações
  são suspensas e a entrada do aplicativo na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> é ocultada.
   Os pacotes suspensos não são exibidos na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> e não
- podem mostrar caixas de diálogo (incluindo avisos e snackbars). Também não conseguem reproduzir 
+ podem mostrar caixas de diálogo (incluindo avisos e snackbars). Também não conseguem reproduzir
  áudio nem vibrar o dispositivo.
 </p>
 
@@ -175,13 +175,13 @@
 <h2 id="always-on-vpn">Always-On VPN</h2>
 
 <p>
-  Os donos de dispositivo e perfil podem exigir que os aplicativos de trabalho se conectem sempre 
+  Os donos de dispositivo e perfil podem exigir que os aplicativos de trabalho se conectem sempre
 por meio de uma VPN especificada. Se os donos definirem este requisito, o
  dispositivo iniciará a VPN automaticamente na inicialização.
 </p>
 
 <p>
-  Os donos podem exigir o uso de uma VPN chamando o novo 
+  Os donos podem exigir o uso de uma VPN chamando o novo
 método <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para descobrir
  se o dono definiu um requisito de VPN, chame o novo
  método <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>.
@@ -319,7 +319,7 @@
 </p>
 
 <p>
-  O Android N inclui as seguintes adições de API para dar suporte a este recurso. Para 
+  O Android N inclui as seguintes adições de API para dar suporte a este recurso. Para
 obter detalhes, consulte a <a href="{@docRoot}preview/setup-sdk.html#docs-dl"> Referência do N
  Preview SDK</a>.
 </p>
@@ -353,7 +353,7 @@
 <h2 id="remove-cert">Remoção de certificado do cliente</h2>
 
 <p>
-  Agora, donos de perfis e dispositivos podem remover certificados de cliente que foram 
+  Agora, donos de perfis e dispositivos podem remover certificados de cliente que foram
 instalados por meio do {@link android.app.admin.DevicePolicyManager#installKeyPair
  installKeyPair()} chamando o novo método
  <code>DevicePolicyManager.removeKeyPair()</code>.
@@ -404,7 +404,7 @@
   O dono do dispositivo ou perfil pode habilitar outro aplicativo para gerenciar restrições de aplicativo
  por meio do novo
  método <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
-. O aplicativo indicado pode verificar se a permissão foi 
+. O aplicativo indicado pode verificar se a permissão foi
 concedida chamando
  <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
 </p>
@@ -421,7 +421,7 @@
 
 <p>
   Os usuários podem desativar as permissões de localidade para aplicativos de trabalho sem deixar de
- acessar informações de localidade em seus aplicativos pessoais. Um interruptor de acesso de localidade 
+ acessar informações de localidade em seus aplicativos pessoais. Um interruptor de acesso de localidade
  em separado em Location Settings permite que o usuário impeça atualizações de localização ou
  consultas de última localidade em aplicativos executados no perfil de trabalho.
 </p>
diff --git a/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd b/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
index 073fd5e..cf4bbe9 100644
--- a/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
@@ -62,7 +62,7 @@
   <li>Os aplicativos direcionados ao Preview não receberão transmissões {@link
  android.net.ConnectivityManager#CONNECTIVITY_ACTION} se estiverem
  registrados para recebê-las no seu manifesto. Os aplicativos em execução ainda
-poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal registrando um 
+poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal registrando um
 {@link android.content.BroadcastReceiver} em {@link
  android.content.Context#registerReceiver Context.registerReceiver()}.
   </li>
@@ -111,7 +111,7 @@
 </p>
 
 <p class="note">
-  <strong>Observação:</strong> Um {@link android.content.BroadcastReceiver} registrado em 
+  <strong>Observação:</strong> Um {@link android.content.BroadcastReceiver} registrado em
  {@link android.content.Context#registerReceiver Context.registerReceiver()}
  continuará a receber essas transmissões enquanto o aplicativo estiver em execução.
 </p>
@@ -185,7 +185,7 @@
 </p>
 
 <p>
-  O aplicativo continuará a receber retornos de chamada até que o aplicativo encerre ou chame 
+  O aplicativo continuará a receber retornos de chamada até que o aplicativo encerre ou chame
   {@link android.net.ConnectivityManager#unregisterNetworkCallback
   unregisterNetworkCallback()}.
 </p>
diff --git a/docs/html-intl/intl/pt-br/preview/features/data-saver.jd b/docs/html-intl/intl/pt-br/preview/features/data-saver.jd
index 29c9ee4..f42b9cf 100644
--- a/docs/html-intl/intl/pt-br/preview/features/data-saver.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/data-saver.jd
@@ -40,17 +40,17 @@
 </p>
 
 <p>
-  Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está 
+  Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está
 em uma rede tarifada, o sistema bloqueia o uso de dados em segundo plano e avisa
- aos aplicativos para reduzir o uso de dados no primeiro plano sempre que possível. Os usuários podem 
+ aos aplicativos para reduzir o uso de dados no primeiro plano sempre que possível. Os usuários podem
 autorizar aplicativos específicos a usar dados tarifados em segundo plano, mesmo com a Economia
  de dados ativada.
 </p>
 
 <p>
   O N Developer Preview estende a API {@link android.net.ConnectivityManager}
- para oferecer aos aplicativos uma forma de <a href="#status">recuperar as 
-preferências do usuário para a Economia de dados</a> e <a href="#monitor-changes">monitorar 
+ para oferecer aos aplicativos uma forma de <a href="#status">recuperar as
+preferências do usuário para a Economia de dados</a> e <a href="#monitor-changes">monitorar
 as mudanças de preferências</a>. Como prática recomendada, os aplicativos devem verificar se o
  usuário ativou a Economia de dados e tentar limitar o uso de dados em primeiro e
  segundo plano.
@@ -147,7 +147,7 @@
   O envio da intenção e do URI abre o aplicativo <strong>Settings</strong> e
  exibe as configurações de uso de dados de seu aplicativo. O usuário pode decidir então se
  ativará os dados em segundo plano para o aplicativo. Antes de enviar a intenção, é
- prática recomendada perguntar primeiro ao usuário se ele deseja iniciar o 
+ prática recomendada perguntar primeiro ao usuário se ele deseja iniciar o
 aplicativo <strong>Settings</strong> com o objetivo de ativar o uso
  de dados em segundo plano.
 </p>
diff --git a/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd b/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
index d14449f..8f58841 100644
--- a/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
@@ -18,7 +18,7 @@
 </div>
 </div>
 
-<p>O Android N é executado em um modo seguro de <i>inicialização direta</i> 
+<p>O Android N é executado em um modo seguro de <i>inicialização direta</i>
 quando o dispositivo é ligado, mas o usuário não o
 desbloqueia. Para isso, o sistema oferece dois locais de armazenamento para dados:</p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/multi-window.jd b/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
index 77421820d..1a48140 100644
--- a/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
@@ -34,9 +34,9 @@
 
 <p>
   Se você compilar o aplicativo com o N Preview SDK, poderá configurar como o aplicativo
- processa a exibição de várias janelas. Por exemplo, você pode especificar as dimensões 
+ processa a exibição de várias janelas. Por exemplo, você pode especificar as dimensões
 mínimas permitidas para a atividade. Você também pode desativar a exibição de várias janelas para
- o aplicativo, garantindo que o sistema mostre o aplicativo apenas 
+ o aplicativo, garantindo que o sistema mostre o aplicativo apenas
 em modo de tela inteira.
 </p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd b/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
index 072e55b..c00eb9b 100644
--- a/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
@@ -29,7 +29,7 @@
 esperada. Por fim, garanta que seu aplicativo possa lidar corretamente
 com idiomas que ele não tenha sido explicitamente projetado para suportar.</p>
 
-<p>Este documento começa explicando a estratégia de resolução de recursos anterior ao 
+<p>Este documento começa explicando a estratégia de resolução de recursos anterior ao
 Android N. Em seguida, ele descreve a estratégia
 de resolução de recursos aprimorada do Android N. Por fim, ele explica como aproveitar as vantagens
 do maior número de localidades para oferecer suporte a usuários multilíngues.</p>
@@ -215,7 +215,7 @@
 <p>Um bom exemplo é o árabe, cujo suporte no Android N foi expandido de
 uma {@code ar_EG} para 27 localidades de árabe. Essas localidades podem compartilhar a maioria dos recursos,
 mas algumas preferem dígitos ASCII, enquanto outras preferem dígitos nativos. Por exemplo,
-quando você quer criar uma frase com uma variável em dígito, como 
+quando você quer criar uma frase com uma variável em dígito, como
 “Choose a 4 digit pin”, use formatadores como mostrado abaixo:</p>
 
 <pre> format(locale, "Choose a %d-digit PIN", 4)</pre>
diff --git a/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd b/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
index 72c2fe6..36988da 100644
--- a/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
@@ -212,7 +212,7 @@
 <h2 id="bundle">Notificações empacotadas</h2>
 
 <p>O Android N oferece aos desenvolvedores uma nova forma de representar
- uma fila de notificações: <i>notificações empacotadas</i>. Essa forma é semelhante ao recurso 
+ uma fila de notificações: <i>notificações empacotadas</i>. Essa forma é semelhante ao recurso
   <a href="{@docRoot}training/wearables/notifications/stacks.html">Pilhas
  de Notificações</a> no Android Wear. Por exemplo, se o aplicativo criar notificações
  para mensagens recebidas, quando mais de uma mensagem for recebida, empacote as
@@ -243,8 +243,8 @@
  sistema as agrupará automaticamente.
 </p>
 
-<p>Para saber como adicionar notificações a um grupo, consulte 
-<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Adicionar 
+<p>Para saber como adicionar notificações a um grupo, consulte
+<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Adicionar
 cada notificação a um grupo</a>.</p>
 
 
@@ -278,7 +278,7 @@
 <p>
 Os exemplos de casos em que uma única notificação é preferível
  incluem mensagens individuais de uma única pessoa ou uma representação em lista
- de itens de texto com uma única linha. Você pode usar 
+ de itens de texto com uma única linha. Você pode usar
 ({@link android.app.Notification.InboxStyle InboxStyle} ou
  {@link android.app.Notification.BigTextStyle BigTextStyle}) para
  isso.
@@ -354,7 +354,7 @@
 <p>Para usar essa nova API, chame o método {@code setStyle()}, passando o
  estilo de visualização personalizada desejado.</p>
 
-<p>O snippet mostra como construir um objeto de notificação personalizada com o método 
+<p>O snippet mostra como construir um objeto de notificação personalizada com o método
 {@code DecoratedCustomViewStyle()}.</p>
 
 <pre>
@@ -370,7 +370,7 @@
 <h2 id="style">Estilo de mensagens</h2>
 <p>
   O Android N traz uma nova API para personalização do estilo de uma notificação.
-  Usando a classe <code>MessageStyle</code>, você pode alterar vários 
+  Usando a classe <code>MessageStyle</code>, você pode alterar vários
 rótulos exibidos na notificação, incluindo o título da conversa,
  mensagens adicionais e a visualização de conteúdo para a notificação.
 </p>
diff --git a/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd b/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
index 3a7dec4..4bdc545 100644
--- a/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
@@ -9,13 +9,13 @@
 
 <h2>Neste documento</h2>
 <ol>
-  <li><a href="#declaring">Declarar que sua atividade oferece suporte ao modo de 
+  <li><a href="#declaring">Declarar que sua atividade oferece suporte ao modo de
 imagem em imagem</a></li>
   <li><a href="#pip_button">Alternar a atividade para o modo de imagem em imagem</a>
 </li>
   <li><a href="#handling_ui">Lidar com a IU durante o modo de imagem em imagem</a>
 </li>
-  <li><a href="#continuing_playback">Continuar reprodução de vídeo no modo de 
+  <li><a href="#continuing_playback">Continuar reprodução de vídeo no modo de
 imagem em imagem</a></li>
   <li><a href="#single_playback">Usar uma única atividade de reprodução para
 imagem em imagem</a></li>
@@ -99,7 +99,7 @@
 <h2 id="pip_button">Alternar a atividade para o modo de imagem em imagem</h2>
 
 Quando precisar colocar a atividade no modo de PIP, chame
-<code>Activity.enterPictureInPictureMode()</code>. O exemplo a seguir 
+<code>Activity.enterPictureInPictureMode()</code>. O exemplo a seguir
 entra no modo de PIP quando o usuário seleciona um botão dedicado ao PIP na barra de controle de
 uma mídia:</p>
 
@@ -146,7 +146,7 @@
 }
 </pre>
 
-<h2 id="continuing_playback">Continuar reprodução de vídeo no modo de 
+<h2 id="continuing_playback">Continuar reprodução de vídeo no modo de
 imagem em imagem</h2>
 
 <p>Quando a atividade entra no modo de PIP, o sistema a considera
@@ -177,11 +177,11 @@
 
 <p>Ao navegar pelo conteúdo
  da tela principal de seu aplicativo, um usuário pode selecionar um novo vídeo enquanto uma atividade de reprodução de vídeo estiver em modo de PIP. Reproduza o novo
- vídeo na atividade de reprodução existente em modo de tela cheia em vez de 
+ vídeo na atividade de reprodução existente em modo de tela cheia em vez de
 lançar uma nova atividade que pode confundir o usuário.</p>
 
 <p>Para que uma única atividade seja usada para solicitações de reprodução de vídeo e
-com o modo de PIP ativado ou desativado, conforme necessário, configure o 
+com o modo de PIP ativado ou desativado, conforme necessário, configure o
 <code>android:launchMode</code> da atividade para <code>singleTask</code> em seu manifesto.
 </p>
 
@@ -194,7 +194,7 @@
 </pre>
 
 <p>Na atividade, modifique {@link android.app.Activity#onNewIntent
-Activity.onNewIntent()} e processe o novo vídeo, interrompendo qualquer 
+Activity.onNewIntent()} e processe o novo vídeo, interrompendo qualquer
 reprodução existente, caso necessário.</p>
 
 <h2 id="best">Práticas recomendadas</h2>
diff --git a/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
index ef9ba65..6a58d76 100644
--- a/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
@@ -25,7 +25,7 @@
 ou {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} em seu manifesto
 permite o acesso a todos os diretórios públicos no armazenamento externo, o que pode ser mais do
 que o aplicativo precisa.</li>
-<li>Usar a 
+<li>Usar a
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Estrutura de
 acesso ao armazenamento</a> geralmente faz com que o usuário selecione diretórios
 por meio de uma IU de sistema, o que é desnecessário se seu aplicativo sempre acessa o mesmo
@@ -54,7 +54,7 @@
 Em volumes secundários, como cartões SD externos, passe nulo ao chamar
 <code>StorageVolume.createAccessIntent()</code> para solicitar acesso ao
 volume todo em vez de um diretório específico.
-<code>StorageVolume.createAccessIntent()</code> retornará nulo se você passar 
+<code>StorageVolume.createAccessIntent()</code> retornará nulo se você passar
 nulo no volume principal ou se passar um nome de diretório inválido.
 </p>
 
@@ -80,7 +80,7 @@
 <code>onActivityResult()</code> com um código de resultado de
 <code>Activity.RESULT_OK</code> e os dados de intenção que contêm o URI. Use
 o URI fornecido para acessar as informações do diretório, o que é semelhante a usar URIs
-retornados pela 
+retornados pela
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Estrutura de
 acesso ao armazenamento</a>.</p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd b/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
index 15d22d1..890e140 100644
--- a/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
@@ -123,7 +123,7 @@
 <code>RecordedPrograms.Uri</code>. Use APIs de provedores de conteúdo para
 ler, adicionar e excluir entradas dessa tabela.</p>
 
-<p>Para saber mais sobre como trabalhar com dados de provedores de conteúdo, consulte 
+<p>Para saber mais sobre como trabalhar com dados de provedores de conteúdo, consulte
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
 Fundamentos do provedor de conteúdo</a> .</p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/j8-jack.jd b/docs/html-intl/intl/pt-br/preview/j8-jack.jd
index 5047396..22f4b67 100644
--- a/docs/html-intl/intl/pt-br/preview/j8-jack.jd
+++ b/docs/html-intl/intl/pt-br/preview/j8-jack.jd
@@ -23,7 +23,7 @@
 </p>
 
 <p>Para começar a usar esses recursos, primeiro faça o download e instale o Android
-Studio 2.1 e o Android N Preview SDK, que inclui a 
+Studio 2.1 e o Android N Preview SDK, que inclui a
 cadeia de ferramentas Jack obrigatória e o Android Plugin for Gradle atualizado. Se você ainda não
 instalou o Android N Preview SDK, consulte <a href="{@docRoot}preview/setup-sdk.html">Preparação para desenvolver para o Android N</a>.</p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/overview.jd b/docs/html-intl/intl/pt-br/preview/overview.jd
index eaa3c0c..1c81f6d 100644
--- a/docs/html-intl/intl/pt-br/preview/overview.jd
+++ b/docs/html-intl/intl/pt-br/preview/overview.jd
@@ -116,7 +116,7 @@
       </h5>
 
       <p>
-        Informe problemas e dê-nos feedback usando o 
+        Informe problemas e dê-nos feedback usando o
 <a href="{@docRoot}preview/bug">issue tracker</a>. Conecte-se a outros
  desenvolvedores na
  <a href="{@docRoot}preview/dev-community">Comunidade N&nbsp;Developer</a>.
@@ -262,7 +262,7 @@
 </p>
 
 <p>
-  Para se inscrever no programa, acesse o site do <a href="https://g.co/androidbeta">programa beta 
+  Para se inscrever no programa, acesse o site do <a href="https://g.co/androidbeta">programa beta
  do Android</a>. Você
  verá uma lista de todos os dispositivos registrados em sua conta que estejam qualificados para inscrição no
  programa beta do Android.
@@ -314,13 +314,13 @@
 </p>
 
 <ul>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Preparação para desenvolver para o 
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Preparação para desenvolver para o
 Android N</a> tem
  instruções passo a passo para você iniciar o trabalho.</li>
   <li> <a href="{@docRoot}preview/behavior-changes.html">Mudanças
  de comportamento</a> indicam as principais áreas a serem testadas.</li>
-  <li> Documentação de novas APIs, incluindo uma <a href="{@docRoot}preview/api-overview.html">visão geral das APIs</a>, a 
-<a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência da 
+  <li> Documentação de novas APIs, incluindo uma <a href="{@docRoot}preview/api-overview.html">visão geral das APIs</a>, a
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência da
 API</a> disponível para download e guias de desenvolvedor detalhados sobre os recursos principais, como
 suporte para várias janelas, notificações agrupadas, suporte para vários idiomas e outros.
   <li> <a href="{@docRoot}preview/samples.html">Exemplo de código</a> que
@@ -333,7 +333,7 @@
 <h4 id="reference">Referência da API para download</h4>
 
 <p>
-  Durante as primeiras atualizações do Preview, você pode fazer o download da 
+  Durante as primeiras atualizações do Preview, você pode fazer o download da
  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência da API
  mais recente para a plataforma Android N</a> como um arquivo zip separado. Esse download
  também inclui um relatório de diferenças que ajuda você a identificar as mudanças da API em relação à
@@ -357,7 +357,7 @@
 <ul>
   <li> O <a href="https://code.google.com/p/android-developer-preview/">Issue
  Tracker do N Developer Preview</a> é o <strong>canal principal de feedback.</strong> É possível informar erros,
- problemas de desempenho e feedback geral pelo issue tracker. Também é possível verificar os 
+ problemas de desempenho e feedback geral pelo issue tracker. Também é possível verificar os
 <a href="{@docRoot}preview/bugs">erros conhecidos</a> e
  encontrar etapas de resolução. Manteremos você atualizado sobre seu problema conforme ele seja avaliado e
  enviado para a equipe de engenharia do Android para análise. </li>
@@ -374,7 +374,7 @@
   O N Developer Preview fornece um sistema apenas para desenvolvimento e uma biblioteca Android
  que <strong>não tem um nível da API padrão</strong>. Caso opte
  pelos comportamentos de compatibilidade para testar o aplicativo (o que é muito
- recomendado), é possível destinar a versão de prévia do Android N 
+ recomendado), é possível destinar a versão de prévia do Android N
 configurando o <code><a href=
   "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> do aplicativo
  para <code>“N”</code>.
diff --git a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
index 6db456c..9c1f035 100644
--- a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
@@ -41,7 +41,7 @@
 necessário atualizar para o JDK 8 para desenvolver para a plataforma Android N,
 conforme descrito abaixo.</p>
 
-<p>Se você já instalou o Android Studio, verifique se tem o Android 
+<p>Se você já instalou o Android Studio, verifique se tem o Android
 Studio 2.1 ou superior clicando em <strong>Help &gt; Check for Update</strong>
 (no Mac, <strong>Android Studio &gt; Check for Updates</strong>).</p>
 
@@ -51,7 +51,7 @@
 
 <h2 id="get-sdk">Obter o N Preview SDK</h2>
 
-<p>Para começar a desenvolver com as APIs do Android N, instale o 
+<p>Para começar a desenvolver com as APIs do Android N, instale o
 Android N Preview SDK no Android Studio da seguinte maneira:</p>
 
 <ol>
@@ -77,7 +77,7 @@
 <p>
   Informações detalhadas sobre as APIs do Android N são disponibilizadas na documentação de referência do N Preview
 , que pode ser baixada pela tabela a seguir.
-  Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android 
+  Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android
  e inclui uma referência de API atualizada para as APIs do Android N, além de um relatório
  das diferenças entre as APIs.
 </p>
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
@@ -131,7 +131,7 @@
   Para usar as APIs do Android N, seu projeto deve ser configurado da maneira apropriada.
 </p>
 
-<p>Se planeja usar os recursos de linguagem do Java 8, consulte 
+<p>Se planeja usar os recursos de linguagem do Java 8, consulte
 <a href="{@docRoot}preview/j8-jack.html">Recursos de linguagem do Java 8</a>
 para saber mais sobre os recursos do Java 8 com suporte e
 como configurar seu projeto com o compilador Jack.</p>
@@ -179,7 +179,7 @@
 
 <ul>
   <li>Siga o guia para <a href="{@docRoot}preview/download.html">Testar em um dispositivo Android N</a>.</li>
-  <li>Saiba mais sobre a plataforma Android N com 
+  <li>Saiba mais sobre a plataforma Android N com
 <a href="{@docRoot}preview/behavior-changes.html">Mudanças de comportamento</a>
 e <a href="{@docRoot}preview/api-overview.html">Recursos de APIs do
 Android N</a>.</li>
diff --git a/docs/html-intl/intl/pt-br/preview/support.jd b/docs/html-intl/intl/pt-br/preview/support.jd
index 4580887..9ae32c8 100644
--- a/docs/html-intl/intl/pt-br/preview/support.jd
+++ b/docs/html-intl/intl/pt-br/preview/support.jd
@@ -101,7 +101,7 @@
  desenvolvedores a capacidade de projetar experiências de RV móveis de alta qualidade para os usuários. Há
  diversas melhorias de desempenho, incluindo o acesso a um núcleo exclusivo da CPU
  para aplicativos de RV. Dentro dos aplicativos, é possível aproveitar o rastreamento inteligente
- da cabeça e notificações estéreo que funcionam para RV. Mais importante, 
+ da cabeça e notificações estéreo que funcionam para RV. Mais importante,
 o Android N oferece gráficos de latência muito baixa.
 </p>
 
@@ -112,7 +112,7 @@
 <h4 id="">Modo de desempenho sustentado</h4>
 
 <p>
-  O Android N inclui compatibilidade opcional para <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">modo de desempenho 
+  O Android N inclui compatibilidade opcional para <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">modo de desempenho
 sustentado</a>, permitindo que OEMs ofereçam dicas sobre
  capacidades de desempenho do dispositivo para aplicativos de longa duração. Desenvolvedores de aplicativos podem usar
  essas dicas para ajustar os aplicativos para um nível de
@@ -143,7 +143,7 @@
   No Android N, o usuário pode pressionar <code>Meta+/</code> para acionar uma tela de <strong>atalhos
  de teclado</strong> que exibe todos os atalhos disponíveis do
  sistema e do aplicativo em questão. Os desenvolvedores podem adicionar os próprios atalhos ou
- ativar a tela de atalhos nos aplicativos. Consulte o <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Auxiliar de 
+ ativar a tela de atalhos nos aplicativos. Consulte o <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Auxiliar de
 atalhos de teclado</a> para saber mais.
 </p>
 
@@ -223,7 +223,7 @@
   <dd>
     Agora o sistema usa os metadados da atividade para decidir o modo do bloco.
     (Anteriormente, o modo do bloco era determinado pelo valor de retorno do
- <code>TileService.onTileAdded()</code>.) Para obter mais informações, consulte 
+ <code>TileService.onTileAdded()</code>.) Para obter mais informações, consulte
 <code>TileService.META_DATA_ACTIVE_TILE</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.
   </dd>
 </dl>
@@ -604,7 +604,7 @@
  problemas podem aumentar com o uso prolongado.
       </li>
 
-      <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+      <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e
  desligar a tela.
       </li>
     </ul>
@@ -857,7 +857,7 @@
  problemas podem aumentar com o uso prolongado.
   </li>
 
-  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e
  desligar a tela.
   </li>
 
@@ -885,7 +885,7 @@
  problemas podem aumentar com o uso prolongado.
   </li>
 
-  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e
  desligar a tela.
   </li>
 </ul>
@@ -966,7 +966,7 @@
   <li>Always on VPN
     <ul>
       <li>Se o modo Always on VPN estiver ativado, mas uma VPN não estiver disponível, os aplicativos
- não especificados como exceções na política Always on se conectarão via 
+ não especificados como exceções na política Always on se conectarão via
  rede comum. Exceto quando especificados como exceções na política Always on,
  os aplicativos deverão ficar off-line se não houver nenhuma conexão VPN disponível.
         <ul>
@@ -1124,7 +1124,7 @@
  desenvolvedor do aplicativo.
   </li>
 
-  <li>Quando o aplicativo é destinado para uma versão da plataforma Android anterior ao N, 
+  <li>Quando o aplicativo é destinado para uma versão da plataforma Android anterior ao N,
  ele pode não funcionar com avisos de tela dividida que aparecem diversas vezes.
   </li>
 
diff --git a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/index.jd
index 5912058..ff22642 100644
--- a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/index.jd
@@ -45,7 +45,7 @@
 está visível, mas a instância e seu estado permanecem intactos).</p>
 
 <p>Dentro dos métodos de retorno de chamada do ciclo de vida, você pode declarar como a atividade deve se comportar quando o
-usuário sai e retorna da atividade.  Por exemplo, se estiver construindo um reprodutor de vídeos de transmissão em sequência, 
+usuário sai e retorna da atividade.  Por exemplo, se estiver construindo um reprodutor de vídeos de transmissão em sequência,
 você pode pausar o vídeo e encerrar a conexão da rede quando o usuário alternar para outro
 aplicativo. Quando o usuário retornar, será possível reconectar a rede e permitir que ele reinicie o vídeo
 de onde parou.</p>
@@ -55,7 +55,7 @@
 usuário espera e não consuma recursos do sistema quando não estiver em uso.</p>
 
 <h2>Lições</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">Iniciando uma atividade</a></b></dt>
   <dd>Aprenda os fundamentos sobre ciclo de vida da atividade, como o usuário pode iniciar seu aplicativo e como
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">Recriando uma atividade</a></b></dt>
   <dd>Aprenda sobre o que acontece quando sua atividade é destruída e como reconstruir o estado
 da atividade quando necessário.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/pausing.jd
index 55f772e..9851579 100644
--- a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Esta lição ensina a</h2>
     <ol>
       <li><a href="#Pause">Pausar sua atividade</a></li>
       <li><a href="#Resume">Reiniciar sua atividade</a></li>
     </ol>
-    
+
     <h2>Leia também</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Atividades</a>
@@ -31,12 +31,12 @@
   </div>
 </div>
 
-<p>Durante o uso normal do aplicativo, a atividade em primeiro plano as vezes é obstruída por outros 
+<p>Durante o uso normal do aplicativo, a atividade em primeiro plano as vezes é obstruída por outros
 componentes visuais que causam a <em>pausa</em>.  Por exemplo, quando uma atividade
- semitransparente é aberta (como uma no estilo de um diálogo), a atividade anterior pausa. Enquanto a 
+ semitransparente é aberta (como uma no estilo de um diálogo), a atividade anterior pausa. Enquanto a
 atividade estiver parcialmente visível, mas não for o foco da atividade, ela permanecerá pausada.</p>
 
-<p>No entanto, se a atividade estiver completamente obstruída e não visível, ela <em>para</em> (o que será 
+<p>No entanto, se a atividade estiver completamente obstruída e não visível, ela <em>para</em> (o que será
 discutido na próxima lição).</p>
 
 <p>Conforme a atividade entra no estado pausado, o sistema chama o método {@link
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">Pausar sua atividade</h2>
-      
+
 <p>Quando o sistema chama {@link android.app.Activity#onPause()} para sua atividade, teoricamente
 significa que a atividade ainda está parcialmente visível, mas geralmente é um indício
 de que o usuário está saindo da atividade e logo entrará em estado Interrompido.  Use
diff --git a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/recreating.jd
index 7cb122f..9746a65 100644
--- a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Esta lição ensina a</h2>
     <ol>
       <li><a href="#SaveState">Salvar o estado da atividade</a></li>
       <li><a href="#RestoreState">Restaurar o estado da atividade</a></li>
     </ol>
-    
+
     <h2>Leia também</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">Compatibilidade
@@ -57,7 +57,7 @@
 rastreiam o progresso do usuário na atividade.</p>
 
 <p class="note"><strong>Observação:</strong> para que o sistema Android restaure o estado das
-visualizações em sua atividade, <strong>cada visualização precisa ter uma ID exclusiva</strong>, fornecido pelo atributo 
+visualizações em sua atividade, <strong>cada visualização precisa ter uma ID exclusiva</strong>, fornecido pelo atributo
 <a href="{@docRoot}reference/android/view/View.html#attr_android:id">{@code
 android:id}</a>.</p>
 
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 depois do método {@link android.app.Activity#onStart()}. O sistema chama {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} se houver um estado
 salvo para ser restaurado. Portanto, não é necessário verificar se {@link android.os.Bundle} é null:</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/starting.jd
index efe2bad..4c1a9b8 100644
--- a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Esta lição ensina a</h2>
 <ol>
   <li><a href="#lifecycle-states">Entender o ciclo de vida do retorno de chamada</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">Criar uma nova instância</a></li>
   <li><a href="#Destroy">Destruir a atividade</a></li>
 </ol>
-    
+
     <h2>Leia também</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Atividades</a></li>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">Especificar a atividade da tela de início do aplicativo</h2> 
+<h2 id="launching-activity">Especificar a atividade da tela de início do aplicativo</h2>
 
 <p>Quando o usuário seleciona seu aplicativo na tela inicial, o sistema chama o método {@link
 android.app.Activity#onCreate onCreate()} para {@link android.app.Activity} no aplicativo
@@ -151,7 +151,7 @@
 <p>A principal atividade do aplicativo deve ser declarada no manifesto com um <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a> que inclui a ação {@link
 android.content.Intent#ACTION_MAIN MAIN} e categoria
-{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER}. Por exemplo:</p> 
+{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER}. Por exemplo:</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/stopping.jd
index 2eba3772..1c00d99 100644
--- a/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Esta lição ensina a</h2>
     <ol>
       <li><a href="#Stop">Interromper sua atividade</a></li>
       <li><a href="#Start">Iniciar/reiniciar sua atividade</a></li>
     </ol>
-    
+
     <h2>Leia também</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Atividades</a>
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html-intl/intl/pt-br/training/basics/data-storage/databases.jd b/docs/html-intl/intl/pt-br/training/basics/data-storage/databases.jd
index 37d0d43..68b5518 100644
--- a/docs/html-intl/intl/pt-br/training/basics/data-storage/databases.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/data-storage/databases.jd
@@ -118,12 +118,12 @@
 pode ser acessada por outros aplicativos.</p>
 
 <p>Um conjunto de APIs está disponível na classe {@link
-android.database.sqlite.SQLiteOpenHelper}. 
+android.database.sqlite.SQLiteOpenHelper}.
 Ao usar esta classe para obter referências para seu banco de dados, o sistema
 realiza operações
 de possível longa execução para criar e atualizar o banco de dados apenas quando
-necessário e <em>não durante a inicialização do aplicativo</em>. Basta chamar 
-{@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} ou 
+necessário e <em>não durante a inicialização do aplicativo</em>. Basta chamar
+{@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} ou
 {@link android.database.sqlite.SQLiteOpenHelper#getReadableDatabase}.</p>
 
 <p class="note"><strong>Observação:</strong> devido à possibilidade de serem de longa execução,
diff --git a/docs/html-intl/intl/pt-br/training/basics/intents/filters.jd b/docs/html-intl/intl/pt-br/training/basics/intents/filters.jd
index f3b3b12..596f35c 100644
--- a/docs/html-intl/intl/pt-br/training/basics/intents/filters.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/intents/filters.jd
@@ -154,7 +154,7 @@
 
 <p>Quando sua atividade iniciar, chame {@link android.app.Activity#getIntent()} para retomar a
 {@link android.content.Intent} que iniciou a atividade. Pode-se fazer isso a qualquer momento durante
-o ciclo de vida da atividade, mas recomenda-se fazê-lo no início do retorno de chamada como 
+o ciclo de vida da atividade, mas recomenda-se fazê-lo no início do retorno de chamada como
 {@link android.app.Activity#onCreate onCreate()} ou {@link android.app.Activity#onStart()}.</p>
 
 <p>Por exemplo:</p>
diff --git a/docs/html-intl/intl/pt-br/training/basics/intents/result.jd b/docs/html-intl/intl/pt-br/training/basics/intents/result.jd
index ecb5a47..abb880b 100644
--- a/docs/html-intl/intl/pt-br/training/basics/intents/result.jd
+++ b/docs/html-intl/intl/pt-br/training/basics/intents/result.jd
@@ -29,7 +29,7 @@
 startActivityForResult()} (em vez de {@link android.app.Activity#startActivity
 startActivity()}).</p>
 
-<p>Por exemplo, o aplicativo pode iniciar um aplicativo de câmera e receber a foto capturada como resultado. Ou, 
+<p>Por exemplo, o aplicativo pode iniciar um aplicativo de câmera e receber a foto capturada como resultado. Ou,
 ao iniciar o aplicativo Pessoas para que o usuário selecione um
 contato, você receberá os detalhes do contato como resultado.</p>
 
@@ -104,7 +104,7 @@
 aplicativos Contatos ou Pessoas do Android fornece um conteúdo {@link android.net.Uri} que identifica o
 contato escolhido pelo usuário.</p>
 
-<p>Para que o resultado seja tratado de forma adequada, é preciso saber o formato do resultado 
+<p>Para que o resultado seja tratado de forma adequada, é preciso saber o formato do resultado
 {@link android.content.Intent}. Isso é fácil quando umas das suas atividades
 retorna o resultado. Os aplicativos incluídos na plataforma Android oferecem suas próprias APIs que
 podem ser usadas para dados de resultado específicos. Por exemplo, o aplicativo Pessoas (Contatos em algumas versões mais
@@ -155,7 +155,7 @@
 <p class="note"><strong>Observação:</strong> antes do Android 2.3 (API nível 9), executar uma consulta
 no {@link android.provider.ContactsContract.Contacts Contacts Provider} (como mostrado
 acima) exige que o aplicativo declare a permissão {@link
-android.Manifest.permission#READ_CONTACTS} (consulte <a href="{@docRoot}guide/topics/security/security.html">Segurança e permissões</a>). Contudo, 
+android.Manifest.permission#READ_CONTACTS} (consulte <a href="{@docRoot}guide/topics/security/security.html">Segurança e permissões</a>). Contudo,
 iniciar com Android 2.3, o aplicativo Contatos/Pessoas dá ao aplicativo permissão
 temporária para ler no Provedor de Contatos quando retornar um resultado. A permissão temporária
 aplica-se apenas a pedidos de contato específicos, portanto, não é possível consultar um contato diferente daquele
diff --git a/docs/html-intl/intl/pt-br/training/material/drawables.jd b/docs/html-intl/intl/pt-br/training/material/drawables.jd
index 4eb9f36..900fbb1 100644
--- a/docs/html-intl/intl/pt-br/training/material/drawables.jd
+++ b/docs/html-intl/intl/pt-br/training/material/drawables.jd
@@ -38,7 +38,7 @@
 
 <p>Você pode aplicar um tingimento aos objetos {@link android.graphics.drawable.BitmapDrawable} ou {@link
 android.graphics.drawable.NinePatchDrawable} com o método {@code setTint()}. Você também
-pode configurar a cor e o modo do tingimento nos layouts com os atributos <code>android:tint</code> e 
+pode configurar a cor e o modo do tingimento nos layouts com os atributos <code>android:tint</code> e
 <code>android:tintMode</code>.</p>
 
 
diff --git a/docs/html-intl/intl/ru/about/versions/android-5.0.jd b/docs/html-intl/intl/ru/about/versions/android-5.0.jd
index 5dbbac8..8267252 100644
--- a/docs/html-intl/intl/ru/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/ru/about/versions/android-5.0.jd
@@ -429,7 +429,7 @@
 <p>При обнаружении подходящей сети система подключается к ней и отправляет ответ {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()}. Для получения дополнительных сведений о сети можно использовать объект {@link android.net.Network} в ответе. Он же применяется для перенаправления трафика в выбранную сеть.</p>
 
 <h3 id="BluetoothBroadcasting">Низкоэнергетический Bluetooth</h3>
-<p>В Android версии 4.3 была представлена поддержка <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">низкоэнергетического Bluetooth</a> (<em>Bluetooth LE</em>) как основного способа передачи данных. Устройство на Android 5.0 может быть <em>периферийным</em> с поддержкой Bluetooth низкой мощности. Эта функция позволяет приложениям связываться с устройствами, расположенными неподалеку. Например, ваше приложение может работать как шагомер или отслеживать иные показатели, передавая данные на другое близко расположенное устройство по сети Bluetooth.</p> 
+<p>В Android версии 4.3 была представлена поддержка <a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">низкоэнергетического Bluetooth</a> (<em>Bluetooth LE</em>) как основного способа передачи данных. Устройство на Android 5.0 может быть <em>периферийным</em> с поддержкой Bluetooth низкой мощности. Эта функция позволяет приложениям связываться с устройствами, расположенными неподалеку. Например, ваше приложение может работать как шагомер или отслеживать иные показатели, передавая данные на другое близко расположенное устройство по сети Bluetooth.</p>
 <p>Новый API {@link android.bluetooth.le} позволяет приложениям передавать рекламу, получать отчеты и устанавливать связь с другими устройствами, поддерживающими Bluetooth LE. Чтобы воспользоваться новыми функциями, добавьте в манифест разрешение {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN}. Скачивая приложение или обновления для него в Google Play, пользователи должны дать разрешение на сбор данных о Bluetooth, управление этой функцией, а также на обмен информацией с устройствами по соседству.</p>
 
 <p>Чтобы начать передачу рекламы по Bluetooth LE на другие устройства, вызовите {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()} и передайте данные о внедрении класса {@link android.bluetooth.le.AdvertiseCallback}. Объект обратного вызова получает отчет об успешном или неуспешном показе рекламы.</p>
diff --git a/docs/html-intl/intl/ru/design/get-started/principles.jd b/docs/html-intl/intl/ru/design/get-started/principles.jd
index 7e4ea12..4eb0f5d 100644
--- a/docs/html-intl/intl/ru/design/get-started/principles.jd
+++ b/docs/html-intl/intl/ru/design/get-started/principles.jd
@@ -260,7 +260,7 @@
   <div class="col-7">
 
 <h4 id="sprinkle-encouragement">Не скупитесь на поддержку пользователя</h4>
-<p>Разбейте сложные задачи на более мелкие, легко выполнимые этапы. Обеспечьте обратную связь, 
+<p>Разбейте сложные задачи на более мелкие, легко выполнимые этапы. Обеспечьте обратную связь,
 даже при незначительных операциях.</p>
 
   </div>
@@ -295,7 +295,7 @@
   <div class="col-7">
 
 <h4 id="make-important-things-fast">Важные действия должны происходить быстро</h4>
-<p>Не все действия равноценны. Решите, какие функции вашего приложения являются самыми важными, и обеспечьте возможность 
+<p>Не все действия равноценны. Решите, какие функции вашего приложения являются самыми важными, и обеспечьте возможность
 быстро найти и использовать их. Например, это может быть кнопка спуска затвора в фотокамере или кнопка паузы в музыкальном плеере.</p>
 
   </div>
diff --git a/docs/html-intl/intl/ru/design/material/index.jd b/docs/html-intl/intl/ru/design/material/index.jd
index da0352a..f585a0d 100644
--- a/docs/html-intl/intl/ru/design/material/index.jd
+++ b/docs/html-intl/intl/ru/design/material/index.jd
@@ -165,7 +165,7 @@
 <p>Анимация для реакции на касание встроена в некоторые стандартные представления, например кнопки. Новые API-интерфейсы
 позволяют разработчику настраивать эти анимации и добавлять их в свои нестандартные представления.</p>
 
-<p>Дополнительные сведения см. в разделе <a href="{@docRoot}training/material/animations.html">Определение настраиваемой 
+<p>Дополнительные сведения см. в разделе <a href="{@docRoot}training/material/animations.html">Определение настраиваемой
 анимации</a>.</p>
 
 
@@ -182,5 +182,5 @@
 растровых изображений.</li>
 </ul>
 
-<p>Дополнительные сведения см. в разделе <a href="{@docRoot}training/material/drawables.html">Работа с 
+<p>Дополнительные сведения см. в разделе <a href="{@docRoot}training/material/drawables.html">Работа с
 элементами дизайна</a>.</p>
diff --git a/docs/html-intl/intl/ru/design/patterns/navigation.jd b/docs/html-intl/intl/ru/design/patterns/navigation.jd
index 3a0fc6e..817ec33 100644
--- a/docs/html-intl/intl/ru/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/ru/design/patterns/navigation.jd
@@ -15,7 +15,7 @@
 глобальное поведение навигации претерпело значительные изменения. Тщательное следование
 инструкциям по применению кнопок "Назад" и "Вверх" сделает навигацию в вашем приложении предсказуемой и надежной с точки зрения пользователей.</p>
 <p>В Android 2.3 и в более ранних версиях для навигации внутри приложения использовалась системная кнопка <em>Назад</em>.
- С появлением панели действий в Android 3.0 стал доступен второй механизм 
+ С появлением панели действий в Android 3.0 стал доступен второй механизм
 навигации – кнопка <em>Вверх</em>, содержащая значок приложения и левую угловую скобку.</p>
 
 <img src="{@docRoot}design/media/navigation_with_back_and_up.png">
@@ -33,7 +33,7 @@
 экранов, недавно открытых пользователем. Такая навигация основана на порядке появления
 экранов, а не на иерархии приложения.</p>
 
-<p>Если предыдущий экран одновременно является иерархическим родителем текущего, 
+<p>Если предыдущий экран одновременно является иерархическим родителем текущего,
 кнопка "Назад" имеет то же действие, что и кнопка "Вверх", &mdash; и это случается довольно
 часто. Однако, в отличие от кнопки "Вверх", гарантирующей, что пользователь остается в приложении, кнопка "Назад"
 может перевести его на главный экран или даже в другое приложение.</p>
@@ -98,12 +98,12 @@
 <p>В обоих этих случаях реализуйте следующее поведение кнопки "Вверх":</p>
 
 <ul>
-<li><em>Если целевой экран, как правило, достигается из одного конкретного экрана 
+<li><em>Если целевой экран, как правило, достигается из одного конкретного экрана
 приложения</em>, кнопка "Вверх" должна осуществлять переход на этот экран.</li>
 <li><em>В противном случае</em> кнопка "Вверх" должна осуществлять переход на самый верхний (главный) экран приложения.</li>
 </ul>
 
-<p>Что касается кнопки "Назад", необходимо обеспечить более предсказуемую навигацию, вставив в 
+<p>Что касается кнопки "Назад", необходимо обеспечить более предсказуемую навигацию, вставив в
 стек переходов назад полный путь навигации вверх к самому верхнему экрану приложения. Это позволит пользователям,
 забывшим, как они вошли в приложение, перейти к его главному экрану перед выходом из
 приложения.</p>
@@ -139,7 +139,7 @@
 
 <p><em>Всплывающие уведомления</em> появляются непосредственно перед пользователем,
 в обход панели уведомлений. Они используются редко и <strong>должны быть зарезервированы для ситуаций, в которых требуется немедленная
-реакция пользователя, и прерывание его действий оправдано</strong>. Например, 
+реакция пользователя, и прерывание его действий оправдано</strong>. Например,
 приложение Talk с помощью таких уведомлений извещает пользователя о поступившем от друга приглашении присоединиться к видеочату, поскольку срок действия этого
 приглашения истекает через несколько секунд.</p>
 
@@ -153,7 +153,7 @@
 <h2 id="between-apps">Навигация между приложениями</h2>
 
 <p>Одним из фундаментальных достоинств системы Android является способность взаимного запуска приложений,
-что дает пользователю возможность переходить непосредственно из одного приложения в другое. Например, 
+что дает пользователю возможность переходить непосредственно из одного приложения в другое. Например,
 приложение, которому нужно сделать снимок, может активировать приложение Camera, которое передаст фотографию
 вызвавшему его приложению. Это огромное преимущество как для разработчика, имеющего возможность без проблем воспользоваться
 кодом других приложений, так и для пользователя, получающего согласованный интерфейс для часто выполняемых
@@ -182,7 +182,7 @@
 <p>Чтобы понять, как действия, задачи и намерения взаимодействуют друг с другом, разберемся, как одно приложение позволяет пользователям
 поделиться содержимым с помощью другого приложения. Например, при запуске приложения Play Store с главного экрана создается
 новая задача, Task A (см. рисунок ниже). Когда пользователь выполнит навигацию по Play Store и коснется интересующей его книги,
-чтобы просмотреть информацию о ней, он остается в той же задаче, расширяя ее с помощью добавленных действий. Запуск 
+чтобы просмотреть информацию о ней, он остается в той же задаче, расширяя ее с помощью добавленных действий. Запуск
 действия "Поделиться" выводит перед пользователем диалоговое окно со списком действий (из разных приложений),
 зарегистрированных для выполнения намерения "Поделиться".</p>
 
@@ -198,16 +198,16 @@
 
 <img src="{@docRoot}design/media/navigation_between_apps_back.png">
 
-<p>Однако, коснувшись кнопки "Вверх" во время действия "Составление сообщения", пользователь выскажет пожелание остаться в приложении 
+<p>Однако, коснувшись кнопки "Вверх" во время действия "Составление сообщения", пользователь выскажет пожелание остаться в приложении
 Gmail. Откроется экран действия "Переписка" приложения Gmail, и для него будет создана новая задача Task B. Новые задачи
 всегда имеют корень на главном экране, поэтому касание кнопки "Назад" на экране переписки возвращает пользователя именно туда.</p>
 
 <img src="{@docRoot}design/media/navigation_between_apps_up.png">
 
-<p>Задача Task A остается в фоновом режиме, и пользователь может вернуться к ней впоследствии (например, с помощью 
+<p>Задача Task A остается в фоновом режиме, и пользователь может вернуться к ней впоследствии (например, с помощью
 экрана с последними приложениями). Если в фоновом режиме уже работает собственная задача Gmail, она будет замещена
 задачей Task B. Произойдет отказ от предыдущего контекста ради новой цели пользователя.</p>
 
 <p>Если для обработки намерений ваше приложение зарегистрирует действие, расположенное в глубине своей иерархии,
-следуйте инструкциям по реализации навигации с помощью кнопки "Вверх", изложенным в разделе <a href="#into-your-app">Навигация внутрь приложения с помощью виджетов и 
+следуйте инструкциям по реализации навигации с помощью кнопки "Вверх", изложенным в разделе <a href="#into-your-app">Навигация внутрь приложения с помощью виджетов и
 уведомлений главного экрана</a>.</p>
diff --git a/docs/html-intl/intl/ru/design/patterns/notifications.jd b/docs/html-intl/intl/ru/design/patterns/notifications.jd
index db46ad5..4d339c2 100644
--- a/docs/html-intl/intl/ru/design/patterns/notifications.jd
+++ b/docs/html-intl/intl/ru/design/patterns/notifications.jd
@@ -103,15 +103,15 @@
 <p>Разработчик может выбрать степень подробности уведомлений, генерируемых его
 приложением. Уведомление может содержать первые
 несколько строк сообщения или миниатюру изображения. В качестве дополнительной
-информации можно предоставлять пользователю 
+информации можно предоставлять пользователю
 контекст и, &mdash;в некоторых случаях, &mdash;давать ему возможность прочитать сообщение
 целиком. Чтобы переключаться
  между компактной и расширенной компоновкой, пользователь может применить жест сжатия/масштабирования или
 провести пальцем по экрану.
  Для уведомлений о единичных событиях Android предоставляет
- разработчику приложения три шаблона расширенной компоновки 
+ разработчику приложения три шаблона расширенной компоновки
 (текст, входящая почта и изображения). Ниже приведены скриншоты уведомлений о единичных
-событиях на мобильных устройствах (слева) 
+событиях на мобильных устройствах (слева)
  и на носимых устройствах (справа).</p>
 
 <img style="margin-top:30px"
@@ -158,7 +158,7 @@
 
 <ul>
   <li> неоднозначных;
-  <li> совпадающих с действиями, выполняемыми для данного уведомления по умолчанию (например, "Прочитать" или 
+  <li> совпадающих с действиями, выполняемыми для данного уведомления по умолчанию (например, "Прочитать" или
 "Открыть").
 </ul>
 
@@ -189,7 +189,7 @@
 отображается
 в расширенной компоновке, позволяя выполнить допустимые действия.</p>
 <p> Затем уведомление принимает обычный
-вид. Если для уведомления установлен высокий, максимальный или полноэкранный <a href="#correctly_set_and_manage_notification_priority">приоритет</a> 
+вид. Если для уведомления установлен высокий, максимальный или полноэкранный <a href="#correctly_set_and_manage_notification_priority">приоритет</a>
 , оно становится уведомлением heads-up.</p>
 
 <p><b>Хорошими примерами событий для уведомлений heads-up являются</b></p>
@@ -232,15 +232,15 @@
 сокращенное представление, если накопилось несколько уведомлений. Если приложение переводит
 пользователя на какой-либо уровень, отличный от верхнего, реализуйте навигацию в стеке переходов назад в приложении, чтобы
 пользователь мог нажать системную кнопку "Назад" и вернуться на верхний уровень. Дополнительную информацию можно найти в разделе
-<em>Навигация внутрь приложения с помощью виджетов и уведомлений главного экрана</em> в шаблоне проектирования 
+<em>Навигация внутрь приложения с помощью виджетов и уведомлений главного экрана</em> в шаблоне проектирования
 <a href="{@docRoot}design/patterns/navigation.html#into-your-app">Навигация</a>.</p>
 
-<h3 id="correctly_set_and_manage_notification_priority">Правильно выполняйте расстановку приоритетов уведомлений и 
+<h3 id="correctly_set_and_manage_notification_priority">Правильно выполняйте расстановку приоритетов уведомлений и
 управление ими
 </h3>
 
 <p>Android поддерживает флаг приоритета для уведомлений. Это флаг позволяет
-влиять на позицию уведомления среди других уведомлений и 
+влиять на позицию уведомления среди других уведомлений и
 гарантировать,
 что пользователь в первую очередь увидит самые важные уведомления. При отправке уведомления можно выбрать один
 из
@@ -315,7 +315,7 @@
 подходящий
 приоритет</strong></h4>
 
-<p>При выдаче уведомлений с приоритетами <code>DEFAULT</code>, <code>HIGH</code> и <code>MAX</code> существует риск, что деятельность 
+<p>При выдаче уведомлений с приоритетами <code>DEFAULT</code>, <code>HIGH</code> и <code>MAX</code> существует риск, что деятельность
 пользователя будет прервана
 в самом разгаре. Чтобы не раздражать пользователей вашего приложения, применяйте приоритеты этих уровней для
 уведомлений,</p>
@@ -359,7 +359,7 @@
 href="/reference/android/app/Notification.html#CATEGORY_CALL">CATEGORY_CALL</a></code></p>
 </td>
     <td>
-<p>Входящий звонок (голосовой или по видеосвязи) или алогичный запрос синхронной 
+<p>Входящий звонок (голосовой или по видеосвязи) или алогичный запрос синхронной
 связи</p>
 </td>
  </tr>
@@ -568,7 +568,7 @@
 представлять собой изображение белого цвета на прозрачном фоне.</p>
 
 
-<h3 id="pulse_the_notification_led_appropriately">Правильно используйте индикатор 
+<h3 id="pulse_the_notification_led_appropriately">Правильно используйте индикатор
 уведомлений</h3>
 
 <p>На многих устройствах Android имеется светодиодный индикатор уведомлений,
@@ -579,7 +579,7 @@
 <code>MIN</code>) не должны.</p>
 
 <p>Возможности пользователя управлять уведомлениями должны распространяться на светодиодный индикатор. Когда разработчик использует
-DEFAULT_LIGHTS, 
+DEFAULT_LIGHTS,
 индикатор светится белым цветом. Ваши уведомления не должны вызывать свечение другим
 цветом, если
 пользователь не указал этого явным образом.</p>
@@ -658,7 +658,7 @@
   <li> Не отвлекайте пользователя, чтобы проинформировать его об ошибке, если
 приложение может восстановиться после нее самостоятельно, не требуя от пользователя
 никаких действий.</li>
-  <li> Не создавайте уведомления, не имеющие осмысленного содержимого и 
+  <li> Не создавайте уведомления, не имеющие осмысленного содержимого и
 всего лишь рекламирующие ваше
 приложение. Уведомление должно нести полезную, актуальную и новую информацию. Не следует
 использовать его
@@ -787,7 +787,7 @@
  чтобы конфиденциальные данные не отображались на защищенном экране блокировки. В этом случае системный пользовательский интерфейс
 учитывает <em>уровень видимости</em> уведомления, чтобы выяснить, какую информацию
 можно отображать без риска.</p>
-<p> Чтобы установить уровень видимости, вызовите 
+<p> Чтобы установить уровень видимости, вызовите
 <code><a
 href="/reference/android/app/Notification.Builder.html#setVisibility(int)">Notification.Builder.setVisibility()</a></code>
 и укажите одно из следующих значений:</p>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/about.jd b/docs/html-intl/intl/ru/distribute/googleplay/about.jd
index d5eaafe..1c2bc96 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-    <div id="qv-wrapper">           
+    <div id="qv-wrapper">
   <div id="qv">
   <h2>О Google Play</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/auto.jd b/docs/html-intl/intl/ru/distribute/googleplay/auto.jd
index 3fc82dd5..3550b36 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/auto.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/auto.jd
@@ -133,7 +133,7 @@
 <ul>
   <li>В манифесте приложения должна быть декларирована запись метаданных <code>com.google.android.gms.car.application</code>
  с функциональными возможностями автомобиля, используемыми приложением. Чтобы получить более подробную информацию
- о конфигурации приложения для Android Auto, см. 
+ о конфигурации приложения для Android Auto, см.
 <a href="{@docRoot}training/auto/start/index.html#auto-metadata">Начало работы с Android Auto</a>.
   </li>
 </ul>
@@ -152,7 +152,7 @@
   После принятия условий и сохранения изменений вы можете загрузить и опубликовать свое приложение в обычном порядке.
   Перед тем, как открыть доступ к приложению пользователям Android Auto, Google Play передает
 приложение на проверку его соответствия критериям <a href="{@docRoot}distribute/essentials/quality/auto.html">качества автоприложений</a>
-и уведомляет о ее результатах. Если приложение было одобрено, Google Play делает его 
+и уведомляет о ее результатах. Если приложение было одобрено, Google Play делает его
 доступным пользователям Android Auto. Подробная информация о том, как отслеживать статус подтверждения приложения, приведена
  в следующем разделе.
 </p>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/ru/distribute/googleplay/developer-console.jd
index cb62c2f..7510202 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/developer-console.jd
@@ -4,8 +4,8 @@
 Xnonavpage=true
 
 @jd:body
-    
-    <div id="qv-wrapper">           
+
+    <div id="qv-wrapper">
   <div id="qv">
     <h2>Возможности для публикации приложений</h2>
     <ol>
@@ -204,7 +204,7 @@
 <p>
   В случае добавления функций или исправления проблем обновленный двоичный файл
  можно опубликовать в любое время. Новая версия сразу же становится доступной, а существующие пользователи
- получают уведомление о готовом к загрузке обновлении. Пользователи также могут 
+ получают уведомление о готовом к загрузке обновлении. Пользователи также могут
  принимать автоматические обновления приложения, которые будут
  передаваться и устанавливаться сразу после публикации. Вы можете отменить публикацию своих приложений в любое
  время.
@@ -441,7 +441,7 @@
 <p>
   Управляйте распространением своих приложений по странам и регионам. Для
  некоторых стран можно указать операторов мобильной связи, на которых будут нацелены ваши продажи. Вы также можете просмотреть
- список устройств, которым доступно ваше приложение, составленный на основании правил распространения 
+ список устройств, которым доступно ваше приложение, составленный на основании правил распространения
  из файла манифеста приложения.
 </p>
 
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/ru/distribute/googleplay/families/faq.jd
index 9551108..664539f 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>Содержание документа</h2>
@@ -141,7 +141,7 @@
  приложение семейным пользователям. Если приложение удовлетворяет всем
  требованиям программы, срок его публикации будет не больше обычного. Однако
  если в процессе проверки приложение было отклонено, срок его публикации
- задержится. 
+ задержится.
   </dd>
 
   <dt>
@@ -281,7 +281,7 @@
  за собой право отклонять приложения, использующие излишне агрессивные коммерческие методы. Продажа контента во всех приложениях
  программы "Для всей семьи", предназначенных в основном для детской
  аудитории, будет защищена паролем, чтобы покупки подтверждались
- родителями, а не детьми. Следует отметить, что эта защита не распространяется на приложения, 
+ родителями, а не детьми. Следует отметить, что эта защита не распространяется на приложения,
  предназначенные для общей аудитории.
   </dd>
 </dl>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/families/start.jd b/docs/html-intl/intl/ru/distribute/googleplay/families/start.jd
index fcb0d34..9274732 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/families/start.jd
@@ -78,7 +78,7 @@
 
 <p class="note">
   <strong>Примечание</strong>. Опубликованные в рамках программы "Для всей семьи" приложения также доступны для
- всех пользователей Google Play. 
+ всех пользователей Google Play.
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
index ca1b671..8af9d91 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
@@ -12,7 +12,7 @@
         <li><a href="#listing">Соответствие требованиям Google Play</a></li>
 
   </ol>
-  
+
   <h2>Тестирование</h2>
   <ol>
     <li><a href="#test-environment">Настройка среды тестирования</a></li>
@@ -24,7 +24,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">Качество приложений для планшетных ПК</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">Оптимизация приложений</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -84,7 +84,7 @@
     <th style="width:54px;">
       ИД
     </th>
-    
+
 
     <th>
       Описание
@@ -182,7 +182,7 @@
   </td>
   <td>
     <p style="margin-bottom:.5em;">
-    Уведомления должны соответствовать <a href="{@docRoot}design/patterns/notifications.html">рекомендациям</a> по дизайну Android. В 
+    Уведомления должны соответствовать <a href="{@docRoot}design/patterns/notifications.html">рекомендациям</a> по дизайну Android. В
 частности, должны быть соблюдены следующие правила.
     </p>
 
@@ -290,7 +290,7 @@
   <td>
     <p style="margin-bottom:.5em;">
     Приложение не запрашивает прав доступа к наиболее важным данным (например,
- к контактам или системному журналу), а также к платным сервисам 
+ к контактам или системному журналу), а также к платным сервисам
  (например, службам дозвона или отправки СМС), если это не связано с основной функциональностью данного
  приложения.
     </p>
@@ -311,7 +311,7 @@
 
     <p style="margin-bottom:.25em;">
     Поддержка установки на SD-карту рекомендована для всех больших приложений
- (превышающих 10 МБ). См. в руководстве разработчика в разделе <a href="{@docRoot}guide/topics/data/install-location.html">Место 
+ (превышающих 10 МБ). См. в руководстве разработчика в разделе <a href="{@docRoot}guide/topics/data/install-location.html">Место
 установки приложения</a> информацию о том,
  какие типы приложений должны поддерживать установку на SD-карты.
     </p>
@@ -490,7 +490,7 @@
  его состояние должно быть восстановлено максимально близко к предыдущему состоянию.
     </li>
 
-    <li>При нажатии кнопки "Назад" приложение позволяет сохранить свое текущее состояние или 
+    <li>При нажатии кнопки "Назад" приложение позволяет сохранить свое текущее состояние или
 состояние пользователя, которое в противном случае будет потеряно при переходе назад.
     </li>
     </ol>
@@ -1048,8 +1048,8 @@
     </p>
 
     <p style="margin-bottom:.25em;">
-    Чтобы принудительно задействовать аппаратное ускорение (если оно поддерживается 
- устройством), добавьте параметр <code>hardware-accelerated="true"</code> к разделу 
+    Чтобы принудительно задействовать аппаратное ускорение (если оно поддерживается
+ устройством), добавьте параметр <code>hardware-accelerated="true"</code> к разделу
  <code>&lt;application&gt;</code> в манифесте приложения и выполните его повторную компиляцию.
     </p>
   </td>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/ru/distribute/googleplay/quality/tablets.jd
index 4e0322f..4c25d88 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/quality/tablets.jd
@@ -56,7 +56,7 @@
 
 <p>Первым шагом к созданию хорошего планшетного приложения будет соблюдение
  <em>основных критериев качества</em> для всех устройств
- и форм-факторов, для которых предназначается приложение. Полную информацию об этом см. в руководстве <a href="{@docRoot}distribute/essentials/quality/core.html">Основные критерии качества приложений</a>. 
+ и форм-факторов, для которых предназначается приложение. Полную информацию об этом см. в руководстве <a href="{@docRoot}distribute/essentials/quality/core.html">Основные критерии качества приложений</a>.
 </p>
 
 <p>
@@ -174,7 +174,7 @@
 
 <p>Планшеты обеспечивают значительно больше полезной площади экрана
  для вашего приложения, особенно в альбомной ориентации. Особенно этот прирост заметен на 10-дюймовых планшетах, но даже 7-дюмовые
- планшеты добавляют значительное количество места для отображения контента 
+ планшеты добавляют значительное количество места для отображения контента
 и привлечения пользователей. </p>
 
 <p>Планируя интерфейс пользователя для работы на планшетах, убедитесь, что в нем будут
@@ -196,20 +196,20 @@
 <img src="{@docRoot}images/ui-ex-single-panes.png" style="width:490px;padding:4px;margin-bottom:0em;" align="middle">
 <img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;">
 <p class="image-caption" style="padding:.5em"><span
-style="font-weight:500;">Составные представления</span> объединяют несколько простых представлений из 
+style="font-weight:500;">Составные представления</span> объединяют несколько простых представлений из
 интерфейса для смартфонов<em>(см. верхнюю часть рисунка)</em> в информативном и более эффективном
  интерфейсе для планшетов <em>(см. нижнюю часть рисунка)</em>. </p>
 </div>
 </div>
 
-<li>Хотя отдельные экраны реализуются с помощью подкласса {@link android.app.Activity}, 
+<li>Хотя отдельные экраны реализуются с помощью подкласса {@link android.app.Activity},
  старайтесь реализовать отдельные составные панели с помощью подкласса {@link
 android.app.Fragment}. Это позволит повысить
  применимость программного кода для использующих один и тот же контент экранов,
  отличающихся форм-факторами и размерами.</li>
 <li>Примите решение, для каких размеров экранов будет использоваться интерфейс с
- несколькими панелями, а затем предложите разные макеты для подобных размеров экранов (например, для категорий 
-<code>large</code>/<code>xlarge</code>) или для экранов с минимальной шириной (таких, как категории 
+ несколькими панелями, а затем предложите разные макеты для подобных размеров экранов (например, для категорий
+<code>large</code>/<code>xlarge</code>) или для экранов с минимальной шириной (таких, как категории
 <code>sw600dp</code>/<code>sw720</code>).</li>
 </ul>
 
@@ -496,7 +496,7 @@
  которые <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">подразумевают наличие аппаратных
  возможностей</a>, не применимых к планшетам. Если вы обнаружите декларацию таких прав доступа,
  обязательно явным образом задекларируйте соответствующий элемент
-<code>&lt;uses-feature&gt;</code> для подразумеваемых возможностей и включите в него атрибут 
+<code>&lt;uses-feature&gt;</code> для подразумеваемых возможностей и включите в него атрибут
 <code>android:required=”false”</code>.</li>
 </ul>
 
@@ -539,11 +539,11 @@
  <code>android:xlargeScreens="true"</code>.</li>
 </ul>
 
-<p>Если в манифесте приложения задекларирован элемент 
+<p>Если в манифесте приложения задекларирован элемент
 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>,
  в нем должны быть атрибуты, указывающие
  <em>все комбинации размеров и разрешений для планшетных экранов</em>,
- поддерживаемые приложением. Обратите внимание, что там, где это возможно, вы должны избегать использования элемента 
+ поддерживаемые приложением. Обратите внимание, что там, где это возможно, вы должны избегать использования элемента
 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
  для своего приложения.</p>
 
@@ -804,7 +804,7 @@
 <p>
   Сравнив <a href="{@docRoot}distribute/essentials/quality/core.html#test-environment">рекомендуемую
  среду тестирования</a> для проверки с основными критериями качества приложения,
- включите в нее планшеты среднего размера и планшеты с большим или меньшим количеством 
+ включите в нее планшеты среднего размера и планшеты с большим или меньшим количеством
  аппаратных или программных функциональных возможностей.
 </p>
 
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/tv.jd b/docs/html-intl/intl/ru/distribute/googleplay/tv.jd
index 31a40ce..747c6d9 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/tv.jd
@@ -78,7 +78,7 @@
 <h3 id="develop_app">2. Создайте качественное телеприложение</h3>
 
 <p>
-  Качественное телеприложение предназначено для использования на 
+  Качественное телеприложение предназначено для использования на
  телевизионном экране, в нем реализованы возможности Android TV, а также соответствующих
  устройств ввода: джойстиков, навигационных кнопок и пультов дистанционного управления. Это приложение тщательно проработано, обладает отлаженным и качественным
  интерфейсом для больших экранов, предлагает привлекательный для пользователей
@@ -89,7 +89,7 @@
   Обдумывая свое будущее телеприложение, изучите <a href="{@docRoot}training/tv/start/index.html">документацию для разработчиков</a> и
  рекомендации относительно эргономики и постарайтесь максимально их
  придерживаться. Позаботьтесь о максимальном удобстве работы для пользователей и обеспечьте
- его с помощью специальной библиотеки Leanback, входящей в SDK. Возможно, потребуется оптимизировать другие 
+ его с помощью специальной библиотеки Leanback, входящей в SDK. Возможно, потребуется оптимизировать другие
  части вашего приложения для использования на телеэкране, правильно будет определить это
  в начальной стадии процесса разработки.
 </p>
@@ -145,7 +145,7 @@
   <li>Предусмотрите соблюдение критериев <a href="{@docRoot}distribute/essentials/quality/tv.html">Качества
  телеприложений</a>.
     <ul>
-      <li>Используйте передовые 
+      <li>Используйте передовые
 методы <a href="{@docRoot}training/tv/index.html">разработки телеприложений</a>.</li>
       <li>Убедитесь в том, что приложение соответствует всем критериям <a href="{@docRoot}distribute/essentials/quality/tv.html">качества телеприложений</a>.</li>
     </ul>
@@ -181,7 +181,7 @@
 
 <ul>
   <li>В манифесте приложения для объекта Intent должен быть установлен тип <a href="{@docRoot}reference/android/content/Intent.html#ACTION_MAIN"><code>ACTION_MAIN</code></a>
- с категорией<a href="{@docRoot}reference/android/content/Intent.html#CATEGORY_LEANBACK_LAUNCHER"> 
+ с категорией<a href="{@docRoot}reference/android/content/Intent.html#CATEGORY_LEANBACK_LAUNCHER">
 <code>CATEGORY_LEANBACK_LAUNCHER</code></a>. Дополнительную информацию см. <a href="{@docRoot}training/tv/start/start.html#tv-activity">здесь</a>.
   </li>
 
@@ -261,7 +261,7 @@
  соответствует критериям, вы получите <strong>уведомление на адрес электронной почты,
  указанный в учетной записи разработчика</strong>, с описанием проблем, которые следует устранить. После
  внесения необходимых исправлений вы можете загрузить новую версию своего приложения в консоль
- разработчика. 
+ разработчика.
 </p>
 
 <p>
@@ -282,7 +282,7 @@
 
   <li>
     <em>Утверждено</em> – ваше приложение было проверено и утверждено. Приложение
- становится доступно пользователям программы Android TV. 
+ становится доступно пользователям программы Android TV.
   </li>
 
   <li>
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/wear.jd b/docs/html-intl/intl/ru/distribute/googleplay/wear.jd
index 1c6b270..9274401 100644
--- a/docs/html-intl/intl/ru/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/ru/distribute/googleplay/wear.jd
@@ -152,7 +152,7 @@
 <p>
   Создав готовый к выпуску пакет APK и проверив его на соответствие всем критериям <a href="{@docRoot}distribute/essentials/quality/wear.html">качества приложений Android Wear</a>,
  загрузите пакет в консоль разработчика. Добавьте снимки экранов Android Wear на страницу своего каталога
- и установите нужные параметры распространения. Если вы не знаете, как подготовить приложение к выпуску в Google Play, изучите 
+ и установите нужные параметры распространения. Если вы не знаете, как подготовить приложение к выпуску в Google Play, изучите
 <a href="{@docRoot}distribute/googleplay/publish/preparing.html">контрольный список при выпуске приложения.</a>
 </p>
 
diff --git a/docs/html-intl/intl/ru/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/ru/distribute/tools/launch-checklist.jd
index a62e3f1..303ab5b 100644
--- a/docs/html-intl/intl/ru/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/ru/distribute/tools/launch-checklist.jd
@@ -692,7 +692,7 @@
 </div>
 
 <p>
-  Прежде чем выпускать свои приложения всегда полезно получить отзывы 
+  Прежде чем выпускать свои приложения всегда полезно получить отзывы
 от настоящих пользователей &mdash; даже в большем количестве, чем при запуске новых приложений. Поэтому
  настоятельно рекомендуется распространить предварительную версию приложения среди
  таких тестирующих пользователей на ключевых для вас рынках и обеспечить для них удобный
@@ -983,7 +983,7 @@
 
   <li>
     <p>
-      Помимо окна автоматического возмещения, предлагаемого Google Play, будьте щедрыми 
+      Помимо окна автоматического возмещения, предлагаемого Google Play, будьте щедрыми
  в своей собственной политике возмещения, удовлетворенные пользователи скорее совершат повторную
  покупку в будущем.
     </p>
diff --git a/docs/html-intl/intl/ru/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/ru/distribute/tools/localization-checklist.jd
index 7aef25c..dccfb11 100644
--- a/docs/html-intl/intl/ru/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/ru/distribute/tools/localization-checklist.jd
@@ -103,7 +103,7 @@
   После определения намеченных для локализации языков оцените свои потребности
  для их поддержки в своих приложениях и заранее спланируйте работу.
   Следует учесть расширение лексики, требования к написанию, ограничению интервалов между знаками и
- переноса слов, поддержку написания слева направо и справа налево, а также другие 
+ переноса слов, поддержку написания слева направо и справа налево, а также другие
  потенциальные факторы каждого языка.
 </p>
 
diff --git a/docs/html-intl/intl/ru/google/play/filters.jd b/docs/html-intl/intl/ru/google/play/filters.jd
index 0059a1a..ccac3894b 100644
--- a/docs/html-intl/intl/ru/google/play/filters.jd
+++ b/docs/html-intl/intl/ru/google/play/filters.jd
@@ -45,21 +45,21 @@
 </div>
 </div>
 
-<p>Когда пользователь просматривает каталог Google Play или ищет там приложения для загрузки, 
-отображаемые результаты фильтруются с учетом того, какие приложения совместимы с его устройством. 
+<p>Когда пользователь просматривает каталог Google Play или ищет там приложения для загрузки,
+отображаемые результаты фильтруются с учетом того, какие приложения совместимы с его устройством.
 Например, если для приложения требуется камера, Google Play не отобразит его для устройств,
  не оборудованных камерами. Такая <em>фильтрация</em> помогает разработчикам управлять
  распространением своих приложений, а также обеспечивает максимальный уровень удобства для
  пользователей.</p>
 
-<p>Для фильтрация в Google Play используется несколько типов метаданных приложений и 
+<p>Для фильтрация в Google Play используется несколько типов метаданных приложений и
 настройки конфигурации, включая декларированные в манифесте сведения, необходимые
 библиотеки, архитектурные требования, и набор средств контроля за распространением, предусмотренный в консоли разработчика Google
 Play, например, геотаргетинг, ценообразование и т. п.</p>
 
 <p>Фильтрация в Google Play частично основывается на декларациях в манифесте и прочих
-аспектах платформы Android, но фактические функции фильтрации определяются 
-именно самой платформой и не связаны с конкретными уровнями API-интерфейсов. В этом документе 
+аспектах платформы Android, но фактические функции фильтрации определяются
+именно самой платформой и не связаны с конкретными уровнями API-интерфейсов. В этом документе
 описываются действующие сейчас правила фильтрации в Google Play.</p>
 
 
@@ -81,7 +81,7 @@
 специально запрашивает данное приложение или пытается перейти к нему по внешней ссылке, прямо указывающей на
 идентификатор этого приложения в Google Play.</p>
 
-<p>Можно использовать любые комбинации доступных фильтров для своих приложений. Например, можно установить для 
+<p>Можно использовать любые комбинации доступных фильтров для своих приложений. Например, можно установить для
 <code>minSdkVersion</code> требуемое значение <code>"4"</code> и задать <code>smallScreens="false"</code>
 в самом приложении, тогда при загрузке приложения в Google Play можно будет нацелить приложение
 только на определенные европейские страны (или операторов связи). Таким образом, фильтры Google Play делают приложение недоступным на любом устройстве,
@@ -171,7 +171,7 @@
     <strong>Результат</strong>: Google Play показывает это приложение пользователям всех устройств,
  пока не будут применены другие фильтры. </p>
     <p><strong>Пример 3<br />
-    </strong>В манифесте декларируется <code>&lt;uses-sdk android:minSdkVersion="4"&gt;</code> 
+    </strong>В манифесте декларируется <code>&lt;uses-sdk android:minSdkVersion="4"&gt;</code>
 и не содержится элемент <code>&lt;supports-screens&gt;</code>.
     <strong>Результат</strong>: Google Play показывает это приложение всем пользователям,
  пока не будут применены другие фильтры. </p>
@@ -268,7 +268,7 @@
   <tr id="uses-permission-filtering">
     <td valign="top" style="white-space:nowrap;"><code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code></td>
     <td valign="top">&nbsp;</td>
-    <td valign="top">Собственно, Google Play не выполняет фильтрацию по элементам 
+    <td valign="top">Собственно, Google Play не выполняет фильтрацию по элементам
 <code>&lt;uses-permission&gt;</code>. Однако эти элементы считываются
 для определения того, есть ли у приложения какие-либо требования к аппаратным компонентам,
 которые, возможно, не были правильно задекларированы элементами <code>&lt;uses-feature&gt;</code>.
@@ -279,7 +279,7 @@
 камеры.</p>
     <p>В целом, если приложение запрашивает доступ к каким-то аппаратным компонентам,
 Google Play считает, что для приложения необходимо наличие
-этих компонентов, даже когда это не отражено в соответствующих декларациях 
+этих компонентов, даже когда это не отражено в соответствующих декларациях
 <code>&lt;uses-feature&gt;</code>. Затем Google Play осуществляет
 фильтрацию с учетом таких функциональных возможностей, подразумеваемых декларациями <code>&lt;uses-feature&gt;</code>
 в манифесте.</p>
diff --git a/docs/html-intl/intl/ru/guide/components/activities.jd b/docs/html-intl/intl/ru/guide/components/activities.jd
index 5f55a35..3fab970 100644
--- a/docs/html-intl/intl/ru/guide/components/activities.jd
+++ b/docs/html-intl/intl/ru/guide/components/activities.jd
@@ -50,8 +50,8 @@
 отображается во весь экран, однако его размер может быть меньше, и оно может размещаться поверх других
 окон.</p>
 
-<p> Как правило, приложение состоит из нескольких операций, которые слабо 
-связаны друг с другом. Обычно одна из операций в приложении обозначается как «основная», 
+<p> Как правило, приложение состоит из нескольких операций, которые слабо
+связаны друг с другом. Обычно одна из операций в приложении обозначается как «основная»,
 предлагаемая пользователю при первом запуске приложения. В свою очередь, каждая
 операция может запустить другую операцию для выполнения различных действий. Каждый раз, когда
 запускается новая операция, предыдущая операция останавливается, однако система сохраняет ее
@@ -115,11 +115,11 @@
 кнопка, нажатие на которую приводит к выполнению определенного действия.</p>
 
 <p>В Android предусмотрен набор уже готовых представлений, которые можно использовать для создания дизайна макета и его
-организации. Виджеты — это представления с визуальными (и интерактивными) элементами, например, 
+организации. Виджеты — это представления с визуальными (и интерактивными) элементами, например,
 кнопками, текстовыми полями, чекбоксами или просто изображениями. Макеты — это представления, полученные из класса {@link
 android.view.ViewGroup}, обеспечивающие уникальную модель компоновки для своих дочерних представлений, таких как линейный
 макет, сетка или относительный макет. Также можно создать подкласс для классов {@link android.view.View} и
-{@link android.view.ViewGroup} (или воспользоваться существующими подклассами), чтобы создать собственные виджеты и 
+{@link android.view.ViewGroup} (или воспользоваться существующими подклассами), чтобы создать собственные виджеты и
 макеты, и затем применить их к макету своей операции.</p>
 
 <p>Чаще всего для задания макета с помощью представлений используется XML-файл макета, сохраненный в
@@ -343,8 +343,8 @@
 также иногда называется «Выполняется».)</dd>
 
   <dt><i>Приостановлена</i></dt>
-    <dd>На переднем фоне выполняется другая операция, которая отображается для пользователя, однако эта операция по-прежнему не скрыта. То есть 
-поверх текущей операции отображается другая операция, частично прозрачная или не занимающая 
+    <dd>На переднем фоне выполняется другая операция, которая отображается для пользователя, однако эта операция по-прежнему не скрыта. То есть
+поверх текущей операции отображается другая операция, частично прозрачная или не занимающая
 полностью весь экран. Приостановленная операция полностью активна (объект {@link android.app.Activity}
 по-прежнему находится в памяти, в нем сохраняются все сведения о состоянии и информация об элементах, и он также остается связанным с
 диспетчером окон), однако в случае острой нехватки памяти система может завершить ее.</dd>
@@ -357,7 +357,7 @@
 может завершить ее.</dd>
 </dl>
 
-<p>Если операция приостановлена или полностью остановлена, система может очистить ее из памяти путем 
+<p>Если операция приостановлена или полностью остановлена, система может очистить ее из памяти путем
 завершения самой операции (с помощью метода {@link android.app.Activity#finish finish()}) или просто завершить ее
 процесс.  В случае повторного открытия операции (после ее завершения) ее потребуется создать
 полностью.</p>
@@ -366,7 +366,7 @@
 
 <h3 id="ImplementingLifecycleCallbacks">Реализация обратных вызовов жизненного цикла</h3>
 
-<p>При переходе операции из одного вышеописанного состояния в другое, уведомления об этом 
+<p>При переходе операции из одного вышеописанного состояния в другое, уведомления об этом
 реализуются через различные методы обратного вызова. Все методы обратного вызова представляют собой привязки, которые
 можно переопределить для выполнения подходящего действия при изменении состояния операции. Указанная ниже базовая
 операция включает каждый из основных методов жизненного цикла.</p>
@@ -431,7 +431,7 @@
 сохранить ресурсы, необходимые для отображения операции для пользователя. Например, можно зарегистрировать объект
 {@link android.content.BroadcastReceiver} в методе {@link
 android.app.Activity#onStart onStart()} для отслеживания изменений, влияющих на пользовательский интерфейс, а затем отменить его регистрацию
-в методе {@link android.app.Activity#onStop onStop()}, когда пользователь больше не видит 
+в методе {@link android.app.Activity#onStop onStop()}, когда пользователь больше не видит
 отображаемого. В течение всего жизненного цикла операции система может несколько раз вызывать методы {@link android.app.Activity#onStart onStart()} и {@link
 android.app.Activity#onStop onStop()}, поскольку
 операция то отображается для пользователя, то скрывается от него.</p></li>
@@ -629,7 +629,7 @@
 <p class="note"><strong>Примечание.</strong> Нет никаких гарантий, что метод {@link
 android.app.Activity#onSaveInstanceState onSaveInstanceState()} будет вызван до того, как ваша
 операция будет уничтожена, поскольку существуют случаи, когда нет необходимости сохранять состояние
-(например, когда пользователь покидает вашу операцию нажатием кнопки <em>Назад</em>, 
+(например, когда пользователь покидает вашу операцию нажатием кнопки <em>Назад</em>,
 явным образом
 закрывая ее). Если система вызывает метод {@link android.app.Activity#onSaveInstanceState
 onSaveInstanceState()}, она делает это до вызова метода {@link
@@ -719,7 +719,7 @@
 <h3 id="CoordinatingActivities">Согласование операций</h3>
 
  <p>Когда одна операция запускает другую, в жизненных циклах обеих из них происходит переход из одного состояния в другое. Первая операция
-приостанавливается и заврешается (однако она не будет остановлена, если она по-прежнему видима на фоне), а вторая 
+приостанавливается и заврешается (однако она не будет остановлена, если она по-прежнему видима на фоне), а вторая
 операция создается. В случае, если эти операции обмениваются данным, сохраненными на диске или в другом месте, важно понимать,
 что первая операция не останавливается полностью до тех пор, пока не будет создана вторая операция.
 Наоборот, процесс запуска второй операции накладывается на процесс остановки первой
diff --git a/docs/html-intl/intl/ru/guide/components/bound-services.jd b/docs/html-intl/intl/ru/guide/components/bound-services.jd
index ad690b7..4b2ae26 100644
--- a/docs/html-intl/intl/ru/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/ru/guide/components/bound-services.jd
@@ -46,9 +46,9 @@
 IPC. Привязанная служба обычно работает, пока другой компонент приложения
 привязан к ней. Она не работает постоянно в фоновом режиме.</p>
 
-<p>В этом документе рассказывается, как создать привязанную службу, включая привязку 
+<p>В этом документе рассказывается, как создать привязанную службу, включая привязку
 службы к другим компонентам приложения. Также рекомендуем обратиться к статье <a href="{@docRoot}guide/components/services.html">Службы</a>, чтобы узнать подробнее
-о службах, например, об организации отправки уведомлений от службы, настройке службы 
+о службах, например, об организации отправки уведомлений от службы, настройке службы
 на работу на переднем плане и т. д.</p>
 
 
@@ -91,7 +91,7 @@
 bindService()}. После привязки он должен предоставить реализацию метода {@link
 android.content.ServiceConnection}, который служит для отслеживания подключения к службе. Метод {@link
 android.content.Context#bindService bindService()} возвращается незамедлительно без значения, однако
-, когда система Android устанавливает подключение 
+, когда система Android устанавливает подключение
 клиент-служба, она вызывает метод {@link
 android.content.ServiceConnection#onServiceConnected onServiceConnected()} для {@link
 android.content.ServiceConnection}, чтобы выдать объект {@link android.os.IBinder}, который
@@ -127,7 +127,7 @@
 после чего он может использовать его для получения прямого доступа к общедоступным методам, имеющимся либо в реализации {@link android.os.Binder},
 либо даже в {@link android.app.Service}.
   <p>Этот способ является предпочтительным, когда служба просто выполняется в фоновом режиме для
-вашего приложения. Этот способ не подходит для создания интерфейса только тогда, 
+вашего приложения. Этот способ не подходит для создания интерфейса только тогда,
 когда ваша служба используется другими приложениями или в отдельных процессах.</dd>
 
   <dt><a href="#Messenger">Использование объекта Messenger</a></dt>
@@ -149,7 +149,7 @@
 примитивы, которые операционная система может распознать и распределить по процессам для организации
 взаимодействия между ними (IPC). Предыдущий способ с использованием объекта {@link android.os.Messenger} фактически основан на AIDL, поскольку это его
 базовая структура. Как уже упоминалось выше, объект {@link android.os.Messenger} создает очередь из всех
-запросов клиентов в рамках одного потока, поэтому служба одновременно получает только один запрос. Однако, 
+запросов клиентов в рамках одного потока, поэтому служба одновременно получает только один запрос. Однако,
 если необходимо, чтобы служба обрабатывала одновременно сразу несколько запросов, можно использовать AIDL
 напрямую. В таком случае ваша служба должна поддерживать многопоточность и должна быть потокобезопасной.
   <p>Чтобы использовать AIDL напрямую, необходимо
@@ -499,7 +499,7 @@
 onBind()} службы, который возвращает объект {@link android.os.IBinder} для взаимодействия со службой.</p>
 
 <p>Привязка выполняется асинхронно. {@link android.content.Context#bindService
-bindService()} возвращается сразу же и <em>не</em> возвращает клиенту объект 
+bindService()} возвращается сразу же и <em>не</em> возвращает клиенту объект
 {@link android.os.IBinder}. Для получения объекта {@link android.os.IBinder} клиенту необходимо создать экземпляр {@link
 android.content.ServiceConnection} и передать его в метод {@link android.content.Context#bindService
 bindService()}. Интерфейс {@link android.content.ServiceConnection} включает метод обратного вызова,
@@ -608,7 +608,7 @@
 во время выполнения методов {@link android.app.Activity#onResume onResume()} и {@link
 android.app.Activity#onPause onPause()} вашей операции, поскольку такие обратные вызовы происходят при каждом переходе из одного состояния в другое,
  а обработка данных, выполняемая при таких переходах, должна быть минимальной. Кроме того, если к одной и той же
-службе привязано несколько операций в вашем приложении, и имеется переход между 
+службе привязано несколько операций в вашем приложении, и имеется переход между
 двумя этими операциями, служба может быть уничтожена и создана повторно, поскольку текущая операция выполняет отмену привязки
 (во время приостановки) до того, как следующая служба выполнит привязку (во время возобновления). (Подробные сведения о согласовании жизненных циклов операций при таких переходах
 представлены в статье
diff --git a/docs/html-intl/intl/ru/guide/components/fragments.jd b/docs/html-intl/intl/ru/guide/components/fragments.jd
index b13fcc3..6fc39b7 100644
--- a/docs/html-intl/intl/ru/guide/components/fragments.jd
+++ b/docs/html-intl/intl/ru/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>См. также:</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Создание динамического интерфейса пользователя с использованием фрагментов</a></li>
@@ -56,10 +56,10 @@
 <p>Фрагмент всегда должен быть встроен в операцию, и на его жизненный цикл напрямую
 влияет жизненный цикл операции. Например, когда операция приостановлена, в том же состоянии находятся и все
 фрагменты внутри нее, а когда операция уничтожается, уничтожаются и все фрагменты. Однако пока
-операция выполняется (это соответствует состоянию <em>возобновлена</em> <a href="{@docRoot}guide/components/activities.html#Lifecycle">жизненного цикла</a>), можно 
+операция выполняется (это соответствует состоянию <em>возобновлена</em> <a href="{@docRoot}guide/components/activities.html#Lifecycle">жизненного цикла</a>), можно
 манипулировать каждым фрагментом независимо, например добавлять или удалять их. Когда разработчик выполняет такие
 транзакции с фрагментами, он может также добавить их в стек переходов назад, которым управляет
-операция. Каждый элемент стека переходов назад в операции является записью 
+операция. Каждый элемент стека переходов назад в операции является записью
  выполненной транзакции с фрагментом. Стек переходов назад позволяет пользователю обратить транзакцию с фрагментом (выполнить навигацию в обратном направлении),
 нажимая кнопку <em>Назад</em>.</p>
 
@@ -96,7 +96,7 @@
 операции, как на планшете, изображенном на рисунке 1.</p>
 
 <p>Следует разрабатывать каждый фрагмент как модульный и повторно используемый компонент операции.  Поскольку
- каждый фрагмент определяет собственный макет и собственное поведение со своими обратными вызовами жизненного цикла, разработчик может 
+ каждый фрагмент определяет собственный макет и собственное поведение со своими обратными вызовами жизненного цикла, разработчик может
 включить один фрагмент в несколько операций. Поэтому он должен предусмотреть повторное использование фрагмента и не допускать,
 чтобы один фрагмент непосредственно манипулировал другим. Это особенно важно, потому что модульность фрагментов
 позволяет изменять их сочетания в соответствии с различными размерами экранов. Если
@@ -335,7 +335,7 @@
   <p>Первый аргумент, передаваемый методу {@link android.app.FragmentTransaction#add(int,Fragment) add()},
 представляет собой контейнерный объект {@link android.view.ViewGroup} для фрагмента, указанный при помощи
 идентификатора ресурса. Второй параметр — это фрагмент, который нужно добавить.</p>
-  <p>Выполнив изменения с помощью 
+  <p>Выполнив изменения с помощью
 {@link android.app.FragmentTransaction}, необходимо
 вызвать метод {@link android.app.FragmentTransaction#commit}, чтобы они вступили в силу.</p>
   </li>
@@ -355,14 +355,14 @@
 android.app.Fragment#onCreateView onCreateView()}. Поэтому в реализации этого метода нет необходимости.</p>
 
 <p>Передача строкового тега свойственна не только фрагментам без пользовательского интерфейса, поэтому можно
-передавать строковые теги и фрагментам, имеющим пользовательский интерфейс. Однако, если у фрагмента нет 
+передавать строковые теги и фрагментам, имеющим пользовательский интерфейс. Однако, если у фрагмента нет
  пользовательского интерфейса, то строковый тег является единственным способом его идентификации. Если впоследствии потребуется получить фрагмент от
 операции, нужно будет вызвать метод {@link android.app.FragmentManager#findFragmentByTag
 findFragmentByTag()}.</p>
 
 <p>Пример операции, использующей фрагмент в качестве фонового потока, без пользовательского интерфейса, приведен в образце кода {@code
-FragmentRetainInstance.java}, входящем в число образцов в SDK (и доступном при помощи 
-Android SDK Manager). Путь к нему в системе — 
+FragmentRetainInstance.java}, входящем в число образцов в SDK (и доступном при помощи
+Android SDK Manager). Путь к нему в системе —
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>.</p>
 
 
@@ -378,7 +378,7 @@
   <li>получать фрагменты, имеющиеся в операции, с помощью метода {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (для фрагментов, предоставляющих пользовательский интерфейс в
  макете операции) или {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()} (как для фрагментов, имеющих пользовательский интерфейс, так и для фрагментов без него);</li> 
+findFragmentByTag()} (как для фрагментов, имеющих пользовательский интерфейс, так и для фрагментов без него);</li>
   <li>снимать фрагменты со стека переходов назад методом {@link
 android.app.FragmentManager#popBackStack()} (имитируя нажатие кнопки <em>Назад</em> пользователем);</li>
   <li>регистрировать процесс-слушатель изменений в стеке переходов назад при помощи метода {@link
@@ -475,7 +475,7 @@
 <p>Вызов метода {@link android.app.FragmentTransaction#commit()} не приводит к немедленному выполнению
  транзакции. Метод запланирует ее выполнение в потоке пользовательского интерфейса операции (в «главном» потоке), как только
 у потока появится возможность для этого. Впрочем, при необходимости можно вызвать {@link
-android.app.FragmentManager#executePendingTransactions()} из потока пользовательского интерфейса, чтобы 
+android.app.FragmentManager#executePendingTransactions()} из потока пользовательского интерфейса, чтобы
 транзакции, запланированные методом {@link android.app.FragmentTransaction#commit()} были выполнены немедленно. Как правило,
 в этом нет необходимости, за исключением случаев, когда транзакция является зависимостью для заданий в других потоках.</p>
 
@@ -600,7 +600,7 @@
 
 <h3 id="ActionBar">Добавление элементов в строку действий</h3>
 
-<p>Фрагменты могут добавлять пункты меню в <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">Меню вариантов</a> операции (и, следовательно, в <a href="{@docRoot}guide/topics/ui/actionbar.html">Строку действий</a>), реализовав 
+<p>Фрагменты могут добавлять пункты меню в <a href="{@docRoot}guide/topics/ui/menus.html#options-menu">Меню вариантов</a> операции (и, следовательно, в <a href="{@docRoot}guide/topics/ui/actionbar.html">Строку действий</a>), реализовав
 {@link android.app.Fragment#onCreateOptionsMenu(Menu,MenuInflater) onCreateOptionsMenu()}. Однако, чтобы этот метод мог
 принимать вызовы, необходимо вызывать {@link
 android.app.Fragment#setHasOptionsMenu(boolean) setHasOptionsMenu()} во время выполнения метода {@link
@@ -639,7 +639,7 @@
 фрагмента</p>
 </div>
 
-<p>Управление жизненным циклом фрагмента во многом аналогично управлению жизненным циклом операции. Как и 
+<p>Управление жизненным циклом фрагмента во многом аналогично управлению жизненным циклом операции. Как и
 операция, фрагмент может существовать в одном из трех состояний:</p>
 
 <dl>
@@ -677,7 +677,7 @@
 android.app.FragmentTransaction#addToBackStack(String) addToBackStack()} во время транзакции,
 удаляющей фрагмент.</p>
 
-<p>В остальном управление жизненным циклом фрагмента очень похоже на управление жизненным циклом 
+<p>В остальном управление жизненным циклом фрагмента очень похоже на управление жизненным циклом
 операции. Поэтому практические рекомендации по <a href="{@docRoot}guide/components/activities.html#Lifecycle">управлению жизненным циклом
 операций</a> применимы и к фрагментам. При этом разработчику необходимо понимать, как жизненный цикл
 операции влияет на жизненный цикл фрагмента.</p>
@@ -722,7 +722,7 @@
 {@link android.app.Fragment#onActivityCreated onActivityCreated()}.</p>
 
 <p>Когда операция переходит в состояние «возобновлена», можно свободно добавлять в нее фрагменты и удалять
-их. Таким образом, жизненный цикл фрагмента может быть независимо изменен, только пока операция остается 
+их. Таким образом, жизненный цикл фрагмента может быть независимо изменен, только пока операция остается
 в состоянии «возобновлена».</p>
 
 <p>Однако, когда операция выходит из этого состояния, продвижение фрагмента по его
@@ -785,7 +785,7 @@
 
 <p>Второй фрагмент, {@code DetailsFragment}, отображает краткое содержание пьесы, выбранной в
 списке {@code TitlesFragment}:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>Вспомним код класса {@code TitlesFragment}: если пользователь нажимает на пункт списка, а
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>Обратите внимание, что в альбомной конфигурации эта операция самостоятельно завершается, чтобы главная
 операция могла принять управление и отобразить фрагмент {@code DetailsFragment} рядом с фрагментом{@code TitlesFragment}.
 Это может произойти, если пользователь запустит операцию {@code DetailsActivity} в книжной ориентации экрана, а
diff --git a/docs/html-intl/intl/ru/guide/components/fundamentals.jd b/docs/html-intl/intl/ru/guide/components/fundamentals.jd
index 181cbbd..07f001a 100644
--- a/docs/html-intl/intl/ru/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/ru/guide/components/fundamentals.jd
@@ -165,7 +165,7 @@
 
 <p>Уникальной особенностью системы Android является то, что любое приложение может запустить компонент
 другого приложения. Например, если вы хотите дать пользователю возможность фотографировать, используя
-камеру устройства, то, поскольку наверняка имеется другое приложение, которое может выполнить это действие, вместо того чтобы разработать операцию фотографирования в своем приложении, вы можете вызвать 
+камеру устройства, то, поскольку наверняка имеется другое приложение, которое может выполнить это действие, вместо того чтобы разработать операцию фотографирования в своем приложении, вы можете вызвать
 такое приложение. Вам не
 нужно внедрять код из приложения для камеры или даже устанавливать на него ссылку.
 Вместо этого вы можете просто запустить операцию фотографирования
@@ -212,7 +212,7 @@
 содержит только строку "аккумулятор разряжен").</p>
 
 <p>Компоненты четвертого типа – поставщики контента – сообщениями Intent не активируются. Они
-активируются по запросу от {@link android.content.ContentResolver}. Процедура определения 
+активируются по запросу от {@link android.content.ContentResolver}. Процедура определения
  контента (content resolver) обрабатывает все прямые транзакции с поставщиком контента, с тем чтобы этого не пришлось делать компоненту, который
 выполняет транзакции с поставщиком. Вместо этого он вызывает методы для объекта {@link
 android.content.ContentResolver}. Это формирует слой, абстрагирующий (в целях безопасности) поставщика
@@ -224,7 +224,7 @@
 передав объект {@link android.content.Intent} методу {@link android.content.Context#startActivity
 startActivity()} или {@link android.app.Activity#startActivityForResult startActivityForResult()}
 (если требуется, чтобы операция вернула результат).</li>
-  <li>Можно запустить службу (либо выдать работающей службе новые инструкции), 
+  <li>Можно запустить службу (либо выдать работающей службе новые инструкции),
 передав объект {@link android.content.Intent} методу {@link android.content.Context#startService
 startService()}. Либо можно установить привязку к службе, передав объект{@link android.content.Intent} методу
 {@link android.content.Context#bindService bindService()}.</li>
@@ -236,7 +236,7 @@
 android.content.ContentProvider#query query()} для объекта {@link android.content.ContentResolver}.</li>
 </ul>
 
-<p>Подробные сведения об использовании объектов Intent приведены в документе <a href="{@docRoot}guide/components/intents-filters.html">Объекты Intent и 
+<p>Подробные сведения об использовании объектов Intent приведены в документе <a href="{@docRoot}guide/components/intents-filters.html">Объекты Intent и
 фильтры объектов Intent</a>. Более подробная информация об активации определенных компонентов также приведена
 в следующих документах: <a href="{@docRoot}guide/components/activities.html">Операции</a>, <a href="{@docRoot}guide/components/services.html">Службы</a>, {@link
 android.content.BroadcastReceiver} и <a href="{@docRoot}guide/topics/providers/content-providers.html">Поставщики контента</a>.</p>
@@ -312,7 +312,7 @@
 в манифесте, поэтому они не могут быть запущены.  А вот
 приемники широковещательных сообщений
 можно либо объявить в манифесте, либо создать динамически в коде (как объекты
-{@link android.content.BroadcastReceiver}) и зарегистрировать в системе путем вызова 
+{@link android.content.BroadcastReceiver}) и зарегистрировать в системе путем вызова
 {@link android.content.Context#registerReceiver registerReceiver()}.</p>
 
 <p>Подробные сведения о структуризации файла манифеста для приложения см. в документе <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">Файл AndroidManifest.xml</a>
@@ -331,7 +331,7 @@
 действие, и запустить его. При наличии нескольких компонентов, которые могут выполнить действие, описанное в сообщении
 Intent, пользователь выбирает, какой из них будет использоваться.</p>
 
-<p>Система определяет компоненты, которые могут ответить на сообщение Intent, путем сравнения 
+<p>Система определяет компоненты, которые могут ответить на сообщение Intent, путем сравнения
 полученного сообщения Intent с <i>фильтрами объектов Intent,</i> указанными в файле манифеста других приложений, имеющихся
  на устройстве.</p>
 
@@ -373,13 +373,13 @@
 <p>Существует огромное количество устройств, работающих под управлением Android, и не все они имеют
 одинаковые функциональные возможности. Чтобы ваше приложение не могло быть установлено на устройствах,
 в которых отсутствуют функции, необходимые приложению, важно четко определить профиль для
-типов устройств, поддерживаемых вашим приложением, указав требования к аппаратному и программному обеспечению в 
+типов устройств, поддерживаемых вашим приложением, указав требования к аппаратному и программному обеспечению в
 файле манифеста. Эти объявления по большей части носят информационный характер, система их не
 читает. Однако их читают внешние службы, например Google Play, с целью обеспечения
 фильтрации для пользователей, которые ищут приложения для своих устройств.</p>
 
 <p>Например, если вашему приложению требуется камера и оно использует API-интерфейсы из Android 2.1 (<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">уровень API</a> 7),
-эти параметры следует объявить в файле манифеста в качестве требований следующим образом:</p> 
+эти параметры следует объявить в файле манифеста в качестве требований следующим образом:</p>
 
 <pre>
 &lt;manifest ... >
@@ -390,7 +390,7 @@
 &lt;/manifest>
 </pre>
 
-<p>Теперь ваше приложение нельзя будет установить из Google Play на устройствах, в которых <em>нет</em> камеры, а также на устройствах, работающих под управлением 
+<p>Теперь ваше приложение нельзя будет установить из Google Play на устройствах, в которых <em>нет</em> камеры, а также на устройствах, работающих под управлением
 Android версии <em>ниже</em> 2.1.</p>
 
 <p>Однако можно также объявить, что приложение использует камеру, но для его работы она не является
@@ -430,7 +430,7 @@
 соответствующем языке.</p>
 
 <p>Android поддерживает разные <em>квалификаторы</em> для соответствующих ресурсов. Квалификатор
- представляет собой короткую строку, которая включается в имена каталогов ресурсов с целью 
+ представляет собой короткую строку, которая включается в имена каталогов ресурсов с целью
 определения конфигурации устройства, для которой эти ресурсы следует использовать. В качестве другого
 примера можно сказать, что для своих операций следует создавать разные макеты, которые будут соответствовать
 размеру и ориентации экрана устройства. Например, когда экран устройства имеет книжную
@@ -469,7 +469,7 @@
   <dl>
     <dt><a href="{@docRoot}guide/practices/compatibility.html">Совместимость устройств</a></dt>
     <dd>Сведения о том, каким образом система Android работает на устройствах разных типов, и общие сведения о том,
-    как оптимизировать свое приложение для каждого устройства или ограничить круг устройств, на которых может быть установлено 
+    как оптимизировать свое приложение для каждого устройства или ограничить круг устройств, на которых может быть установлено
     приложение.</dd>
     <dt><a href="{@docRoot}guide/topics/security/permissions.html">Системные разрешения</a></dt>
     <dd>Сведения о том, как система Android ограничивает доступ приложений к определенным API-интерфейсам с помощью системы
diff --git a/docs/html-intl/intl/ru/guide/components/index.jd b/docs/html-intl/intl/ru/guide/components/index.jd
index 41d5a34..13050f2 100644
--- a/docs/html-intl/intl/ru/guide/components/index.jd
+++ b/docs/html-intl/intl/ru/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=Компоненты приложения
 page.landing=true
-page.landing.intro=Платформа приложений системы Android позволяет создавать функциональные и инновационные приложения с помощью набора компонентов, которые можно использовать многократно. В этом разделе рассказывается о том, как создавать компоненты, определяющие элементы структуры вашего приложения, и как связывать их воедино с помощью объектов Intent. 
-page.metaDescription=Платформа приложений системы Android позволяет создавать функциональные и инновационные приложения с помощью набора компонентов, которые можно использовать многократно. В этом разделе рассказывается о том, как создавать компоненты, определяющие элементы структуры вашего приложения, и как связывать их воедино с помощью объектов Intent. 
+page.landing.intro=Платформа приложений системы Android позволяет создавать функциональные и инновационные приложения с помощью набора компонентов, которые можно использовать многократно. В этом разделе рассказывается о том, как создавать компоненты, определяющие элементы структуры вашего приложения, и как связывать их воедино с помощью объектов Intent.
+page.metaDescription=Платформа приложений системы Android позволяет создавать функциональные и инновационные приложения с помощью набора компонентов, которые можно использовать многократно. В этом разделе рассказывается о том, как создавать компоненты, определяющие элементы структуры вашего приложения, и как связывать их воедино с помощью объектов Intent.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>Статьи блога</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>Использование класса DialogFragment</h4>
       <p>В этой статье я расскажу, как с помощью DialogFragment с использованием вспомогательной библиотеки v4 (в целях обеспечения совместимости с устройствами, работающими под управлением системы с версией ниже, чем Honeycomb) можно отобразить простое диалоговое окно редактирования и вернуть результат в вызывающую операцию с помощью интерфейса.</p>
@@ -21,7 +21,7 @@
       <h4>Фрагменты для всех</h4>
       <p>Сегодня мы выпустили библиотеку статических элементов, которая предоставляет доступ к тому же Fragments API (а также новому классу LoaderManager и нескольким другим классам), с тем чтобы приложения, совместимые с Android 1.6 и более поздними версиями, могли использовать фрагменты для создания пользовательских интерфейсов для планшетов. </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>Многопоточность для повышения производительности</h4>
       <p>Для создания быстро реагирующих приложений рекомендуется, чтобы в основном потоке пользовательского интерфейса
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>Обучение</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>Управление жизненным циклом операций</h4>
       <p>В этом учебном курсе разъясняются важные методы обратного вызова жизненного цикла, которые получает каждый экземпляр
diff --git a/docs/html-intl/intl/ru/guide/components/loaders.jd b/docs/html-intl/intl/ru/guide/components/loaders.jd
index eea72a2..a554067 100644
--- a/docs/html-intl/intl/ru/guide/components/loaders.jd
+++ b/docs/html-intl/intl/ru/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Основные классы</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>Образцы кода по теме</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 воссоздании после изменения конфигурации. Таким образом, им не требуется повторно запрашивать свои
 данные.</li>
   </ul>
- 
+
 <h2 id="summary">Сводная информация об API-интерфейсе загрузчика</h2>
 
 <p>Имеется несколько классов и интерфейсов, которые могут использовать
@@ -68,7 +68,7 @@
 {@link android.app.Fragment} для управления одним или несколькими интерфейсами {@link
 android.content.Loader}. Это позволяет приложению управлять
 длительно выполняющимися операциями вместе с жизненным циклом {@link android.app.Activity}
-или {@link android.app.Fragment}; чаще всего этот класс используется с 
+или {@link android.app.Fragment}; чаще всего этот класс используется с
 {@link android.content.CursorLoader}, однако приложения могут писать
 свои собственные загрузчики для работы с другими типами данных.
     <br />
@@ -129,10 +129,10 @@
 загрузки данных из другого источника;</li>
   <li>реализация для {@link android.app.LoaderManager.LoaderCallbacks}.
 Именно здесь создаются новые загрузчики и ведется управление ссылками на существующие
-загрузчики;</li> 
+загрузчики;</li>
 <li>способ отображения данных загрузчика, например {@link
 android.widget.SimpleCursorAdapter};</li>
-  <li>источник данных, например {@link android.content.ContentProvider}, когда используется 
+  <li>источник данных, например {@link android.content.ContentProvider}, когда используется
 {@link android.content.CursorLoader}.</li>
 </ul>
 <h3 id="starting">Запуск загрузчика</h3>
@@ -140,11 +140,11 @@
 <p>{@link android.app.LoaderManager} управляет одним или несколькими экземплярами {@link
 android.content.Loader} в {@link android.app.Activity} или
 {@link android.app.Fragment}. Имеется только один {@link
-android.app.LoaderManager} на каждую операцию или каждый фрагмент.</p> 
+android.app.LoaderManager} на каждую операцию или каждый фрагмент.</p>
 
 <p>{@link android.content.Loader} обычно
 инициализируется в методе {@link
-android.app.Activity#onCreate onCreate()} операции или в методе фрагмента 
+android.app.Activity#onCreate onCreate()} операции или в методе фрагмента
 {@link android.app.Fragment#onActivityCreated onActivityCreated()}. Делается
 это следующим образом:</p>
 
@@ -157,13 +157,13 @@
 <ul>
   <li>уникальный идентификатор, обозначающий загрузчик. В данном примере идентификатором является 0;</li>
 <li>необязательные аргументы, которые передаются загрузчику при
-построении (в данном примере это <code>null</code>);</li> 
+построении (в данном примере это <code>null</code>);</li>
 
 <li>реализация {@link android.app.LoaderManager.LoaderCallbacks}, которая
 вызывает класс {@link android.app.LoaderManager} для выдачи событий загрузчика. В данном
 примере локальный класс реализует интерфейс {@link
 android.app.LoaderManager.LoaderCallbacks}, поэтому он передает ссылку
-самому себе: {@code this}.</li> 
+самому себе: {@code this}.</li>
 </ul>
 <p>Вызов {@link android.app.LoaderManager#initLoader initLoader()} обеспечивает инициализацию
 загрузчика. Возможен один из двух результатов:</p>
@@ -193,7 +193,7 @@
 начинает загрузку и заканчивает ее при необходимости, а также поддерживает состояние загрузчика
 и связанного с ним контента. А это подразумевает, что вы будете редко взаимодействовать с загрузчиками
 напрямую (однако пример использования методов загрузчика для тонкой настройки его
-поведения см. в образце кода <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>). 
+поведения см. в образце кода <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>).
 Для вмешательства в процесс загрузки при возникновении определенных событий обычно используются методы {@link
 android.app.LoaderManager.LoaderCallbacks}
 . Более подробные сведения об этом см. в разделе <a href="#callback">Использование обратных вызовов LoaderManager</a>.</p>
@@ -343,8 +343,8 @@
 <p>Этот метод вызывается, когда состояние созданного ранее загрузчика сбрасывается, в результате чего
 его данные теряются. Этот обратный вызов позволяет узнать, когда данные
 вот-вот будут высвобождены, с тем чтобы можно было удалить свою ссылку на них.  </p>
-<p>Данная реализация вызывает 
-{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}  
+<p>Данная реализация вызывает
+{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}
 со значением <code>null</code>:</p>
 
 <pre>
@@ -366,7 +366,7 @@
 android.app.Fragment}, который отображает {@link android.widget.ListView} с
 результатами запроса к поставщику такого контента, как контакты. Для управления запросом к поставщику используется класс {@link
 android.content.CursorLoader}.</p>
- 
+
 <p>Чтобы приложение могло обращаться к контактам пользователя, как показано в этом примере, в его
 манифесте должно присутствовать разрешение
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}.</p>
diff --git a/docs/html-intl/intl/ru/guide/components/processes-and-threads.jd b/docs/html-intl/intl/ru/guide/components/processes-and-threads.jd
index fd298e0..c9b7dbe 100644
--- a/docs/html-intl/intl/ru/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/ru/guide/components/processes-and-threads.jd
@@ -120,7 +120,7 @@
 
       <ul>
         <li>Он содержит действие {@link android.app.Activity}, которое не находится на переднем плане, но
-видно пользователю (вызван метод {@link android.app.Activity#onPause onPause()}). 
+видно пользователю (вызван метод {@link android.app.Activity#onPause onPause()}).
 Например, это может происходить, если действие на переднем плане запустило диалоговое окно, которое позволяет видеть
 предыдущее действие позади него.</li>
 
@@ -142,7 +142,7 @@
   </li>
 
   <li><b>Фоновый процесс</b>
-    <p>Процесс, содержащий действия, которые не видны пользователю в настоящее время (вызван метод 
+    <p>Процесс, содержащий действия, которые не видны пользователю в настоящее время (вызван метод
 {@link android.app.Activity#onStop onStop()} действия). Эти процессы не оказывают непосредственного
 воздействия на работу пользователя, и система может удалить их в любой момент, чтобы освободить память для
 процессов переднего плана,
@@ -168,7 +168,7 @@
 компонентов, активных в процессе в текущее время.  Например, если процесс содержит служебное и видимое действие,
 процесс считается видимым, а не служебным процессом.</p>
 
-  <p>Кроме того, уровень процесса может быть повышен, поскольку имеются другие процессы, зависимые от него. 
+  <p>Кроме того, уровень процесса может быть повышен, поскольку имеются другие процессы, зависимые от него.
 Например, процесс, обслуживающий другой процесс, не может иметь уровень ниже уровня обслуживаемого
 процесса. Например, если поставщик контента в процессе A обслуживает клиента в процессе B или
 служебный процесс A связан с компонентом в процессе B, процесс A всегда считается не менее
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/ru/guide/components/services.jd b/docs/html-intl/intl/ru/guide/components/services.jd
index 62a6a7e..28e9daa 100644
--- a/docs/html-intl/intl/ru/guide/components/services.jd
+++ b/docs/html-intl/intl/ru/guide/components/services.jd
@@ -291,7 +291,7 @@
   <li>Создает рабочую очередь, которая передает намерения по одному в вашу реализацию метода {@link
 android.app.IntentService#onHandleIntent onHandleIntent()}, поэтому вы не должны беспокоиться
 относительно многопоточности.</li>
-  <li>Останавливает службу после обработки всех запросов запуска, поэтому вам никогда не требуется вызывать 
+  <li>Останавливает службу после обработки всех запросов запуска, поэтому вам никогда не требуется вызывать
 {@link android.app.Service#stopSelf}.</li>
   <li>Предоставляет реализацию метода {@link android.app.IntentService#onBind onBind()} по умолчанию, которая
 возвращает null.</li>
@@ -668,7 +668,7 @@
 уделить пристальное внимание тому, как ваша служба создается и уничтожается, так как служба
 может работать в фоновом режиме без ведома пользователя.</p>
 
-<p>Жизненный цикл службы от создания до уничтожения может следовать двум 
+<p>Жизненный цикл службы от создания до уничтожения может следовать двум
 разным путям:</p>
 
 <ul>
diff --git a/docs/html-intl/intl/ru/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/ru/guide/components/tasks-and-back-stack.jd
index c9fdc0e..8bdb394 100644
--- a/docs/html-intl/intl/ru/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/ru/guide/components/tasks-and-back-stack.jd
@@ -29,7 +29,7 @@
 <ol>
   <li><a href="{@docRoot}design/patterns/navigation.html">Дизайн Android:
 навигация</a></li>
-  <li><a href="{@docRoot}guide/topics/manifest/activity-element.html">Элемент манифеста 
+  <li><a href="{@docRoot}guide/topics/manifest/activity-element.html">Элемент манифеста
 {@code &lt;activity&gt;}</a></li>
   <li><a href="{@docRoot}guide/components/recents.html">Экран обзора</a></li>
 </ol>
@@ -43,7 +43,7 @@
 Когда пользователь выбирает сообщение, открывается новая операция для просмотра этого сообщения.</p>
 
 <p>Операция может даже запускать операции, существующие в других приложениях на устройстве. Например,
-если ваше приложение хочет отправить сообщение электронной почты, вы можете определить намерение для выполнения 
+если ваше приложение хочет отправить сообщение электронной почты, вы можете определить намерение для выполнения
 действия «отправить» и включить в него некоторые данные, например, адрес электронной почты и текст сообщения. После этого открывается операция из другого
 приложения, которая объявила, что она обрабатывает намерения такого типа. В этом случае намерение состоит в том, чтобы
 отправить сообщение электронной почты, поэтому в приложении электронной почты запускается операция «составить сообщение» (если одно намерение
@@ -127,7 +127,7 @@
 в своем стеке — две операции под текущей операцией. Пользователь нажимает кнопку <em>Домой</em>,
  затем запускает
 новое приложение из средства запуска приложений. Когда появляется главный экран, Задача A переходит
-в фоновый режим. Когда запускается новое приложение, система запускает задачу для этого приложения 
+в фоновый режим. Когда запускается новое приложение, система запускает задачу для этого приложения
 (Задачу B) со своим собственным стеком операций. После взаимодействия с этим
 приложением пользователь снова возвращается на главный экран и выбирает изначально запущенную
 Задачу A. Теперь Задача A переходит на передний
@@ -290,7 +290,7 @@
 
 <p>При объявлении операции в вашем файле манифеста вы можете указать, как операция должна
 быть связана с задачей посредством атрибута <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
-launchMode}</a> 
+launchMode}</a>
 элемента <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>.</p>
 
 <p>Атрибут <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
@@ -351,7 +351,7 @@
 имеет задачу, работающую в фоновом режиме, эта задача переводится на передний план для обработки нового
 намерения.</p>
 
-<p>И при запуске операции в новой задаче, и при запуске операции в существующей задаче, 
+<p>И при запуске операции в новой задаче, и при запуске операции в существующей задаче,
  кнопка <em>Назад</em> всегда возвращает пользователя к предыдущей операции. Однако, если вы
 запускаете операцию, которая указывает режим запуска {@code singleTask}, вся задача переводится на передний план, если экземпляр
 этой операции существует в фоновой задаче. В этот момент
@@ -505,7 +505,7 @@
 href="{@docRoot}guide/topics/manifest/activity-element.html#clear">clearTaskOnLaunch</a></code></dt>
 <dd>Если для этого атрибута установлено значение {@code "true"} в корневой операции задачи,
 стек очищается до корневой операции каждый раз, когда пользователь выходит из задачи
-и возвращается в нее.  Другими словами, этот атрибут противоположен атрибуту 
+и возвращается в нее.  Другими словами, этот атрибут противоположен атрибуту
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#always">
 {@code alwaysRetainTaskState}</a>. Пользователь всегда возвращается в задачу в ее
 исходном состоянии, даже после кратковременного выхода из нее.</dd>
@@ -526,7 +526,7 @@
 
 <h3 id="Starting">Запуск задачи</h3>
 
-<p>Вы можете сделать операцию точкой входа, назначая ей фильтр намерений со значением 
+<p>Вы можете сделать операцию точкой входа, назначая ей фильтр намерений со значением
 {@code "android.intent.action.MAIN"} в качестве указанного действия и
 {@code "android.intent.category.LAUNCHER"}
 в качестве указанной категории. Например:</p>
diff --git a/docs/html-intl/intl/ru/guide/index.jd b/docs/html-intl/intl/ru/guide/index.jd
index b073272..703700b 100644
--- a/docs/html-intl/intl/ru/guide/index.jd
+++ b/docs/html-intl/intl/ru/guide/index.jd
@@ -4,7 +4,7 @@
 
 
 <div class="sidebox" style="width:220px"><!-- width to match col-4 below -->
-<p>Чтобы узнать, как работают приложения, начните с раздела 
+<p>Чтобы узнать, как работают приложения, начните с раздела
 <a href="{@docRoot}guide/components/fundamentals.html">Основы создания приложений</a>.</p>
 <p>Чтобы сразу приступить к программированию, читайте раздел <a href="{@docRoot}training/basics/firstapp/index.html">Создание первого приложения</a>.</p>
 </div>
diff --git a/docs/html-intl/intl/ru/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/ru/guide/topics/manifest/manifest-intro.jd
index f2c5a9e0..63d3a46 100644
--- a/docs/html-intl/intl/ru/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/ru/guide/topics/manifest/manifest-intro.jd
@@ -31,27 +31,27 @@
 <li>Он задает имя пакета Java для приложения.
 Это имя пакета служит уникальным идентификатором приложения.</li>
 
-<li>Он описывает компоненты приложения &mdash; операции, 
+<li>Он описывает компоненты приложения &mdash; операции,
 службы, приемники широковещательных сообщений и поставщиков контента, из которых состоит
-приложение.  Он содержит имена классов, которые реализуют каждый компонент, и 
-публикует их возможности (указывает, например, какие сообщения {@link android.content.Intent 
-Intent} они могут принимать).  На основании этих деклараций система Android 
+приложение.  Он содержит имена классов, которые реализуют каждый компонент, и
+публикует их возможности (указывает, например, какие сообщения {@link android.content.Intent
+Intent} они могут принимать).  На основании этих деклараций система Android
 может определить, из каких компонентов состоит приложение и при каких условиях их можно запускать.</li>
 
-<li>Он определяет, в каких процессах будут размещаться компоненты приложения.</li>  
+<li>Он определяет, в каких процессах будут размещаться компоненты приложения.</li>
 
-<li>Он объявляет, какие разрешения должны быть выданы приложению, чтобы оно могло получить 
-доступ к защищенным частям API-интерфейса и взаимодействовать с другими приложениями.</li>  
+<li>Он объявляет, какие разрешения должны быть выданы приложению, чтобы оно могло получить
+доступ к защищенным частям API-интерфейса и взаимодействовать с другими приложениями.</li>
 
-<li>Он также объявляет разрешения, требуемые для 
+<li>Он также объявляет разрешения, требуемые для
 взаимодействия с компонентами данного приложения.</li>
 
-<li>Он содержит список классов {@link android.app.Instrumentation}, которые при выполнении приложения предоставляют 
-сведения о профиле и прочую информацию.  Эти объявления 
-присутствуют в файле манифеста только во время разработки и отладки 
+<li>Он содержит список классов {@link android.app.Instrumentation}, которые при выполнении приложения предоставляют
+сведения о профиле и прочую информацию.  Эти объявления
+присутствуют в файле манифеста только во время разработки и отладки
 приложения и удаляются перед его публикацией.</li>
 
-<li>Он объявляет минимальный уровень API-интерфейса Android, который требуется 
+<li>Он объявляет минимальный уровень API-интерфейса Android, который требуется
 приложению.</li>
 
 <li>Он содержит список библиотек, с которыми должно быть связано приложение.</li>
@@ -61,12 +61,12 @@
 <h2 id="filestruct">Структура файла манифеста</h2>
 
 <p>
-Приведенная далее схема позволяет ознакомиться с общей структурой файла манифеста и 
-всеми элементами, которые могут в нем содержаться.  Каждый элемент вместе со всеми своими 
-атрибутами, полностью описывается в отдельном файле.  Для просмотра подробных 
-сведений о любом элементе, щелкните имя элемента на схеме, 
-в алфавитном списке элементов, приведенном после схемы, или 
-в любом другом месте, где этот элемент упоминается. 
+Приведенная далее схема позволяет ознакомиться с общей структурой файла манифеста и
+всеми элементами, которые могут в нем содержаться.  Каждый элемент вместе со всеми своими
+атрибутами, полностью описывается в отдельном файле.  Для просмотра подробных
+сведений о любом элементе, щелкните имя элемента на схеме,
+в алфавитном списке элементов, приведенном после схемы, или
+в любом другом месте, где этот элемент упоминается.
 </p>
 
 <pre>
@@ -126,9 +126,9 @@
 </pre>
 
 <p>
-Далее приведен список всех элементов, расположенных в алфавитном порядке, которые могут 
+Далее приведен список всех элементов, расположенных в алфавитном порядке, которые могут
 присутствовать в файле манифеста.  Там могут находиться только эти элементы, а никакие другие
-элементы или атрибуты добавлять нельзя.  
+элементы или атрибуты добавлять нельзя.
 </p>
 
 <p style="margin-left: 2em">
@@ -158,74 +158,74 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">Соглашения о компонентах файла</h2>
 
 <p>
-Ко всем элементам и атрибутам 
+Ко всем элементам и атрибутам
 из файла манифеста применяется рад соглашений и правил:
 </p>
 
 <dl>
 <dt><b>Элементы</b></dt>
-<dd>Обязательными 
+<dd>Обязательными
 являются только элементы<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> и
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-. Оба они должны присутствовать в файле манифеста, при этом указать их можно только один раз.  
-Большинство других элементов можно указывать по нескольку раз или не указывать вовсе &mdash; хотя по 
-крайней мере некоторые из них нужны, чтобы файл манифеста был сколько-нибудь 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+. Оба они должны присутствовать в файле манифеста, при этом указать их можно только один раз.
+Большинство других элементов можно указывать по нескольку раз или не указывать вовсе &mdash; хотя по
+крайней мере некоторые из них нужны, чтобы файл манифеста был сколько-нибудь
 информативным.
 
 <p>
-Если в элементе и есть какое-то содержимое, то это другие элементы.  
+Если в элементе и есть какое-то содержимое, то это другие элементы.
 Все значения задаются с помощью атрибутов, а не как символьные данные в элементе.
 </p>
 
 <p>
 Элементы, находящиеся на одном уровне, обычно не упорядочиваются.  Например,
- элементы <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> и 
-<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 
-можно указать в любой последовательности.  (Элемент 
+ элементы <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> и
+<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
+можно указать в любой последовательности.  (Элемент
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
-является исключением из этого правила.  Он должен следовать за элементом 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
+является исключением из этого правила.  Он должен следовать за элементом
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
 псевдонимом которого он является.)
 </p></dd>
 
 <dt><b>Атрибуты</b></dt>
-<dd>Формально все атрибуты являются необязательными.  Однако некоторые их них 
+<dd>Формально все атрибуты являются необязательными.  Однако некоторые их них
 указывать необходимо, чтобы файл мог выполнять свое предназначение.  В качестве руководства используйте эту
-документацию.  В отношении атрибутов, которые являются и вправду необязательными, в ней указывается значение, 
+документацию.  В отношении атрибутов, которые являются и вправду необязательными, в ней указывается значение,
 используемое по умолчанию, или говорится, что произойдет, если такой атрибут не будет указан.
 
-<p>За исключением некоторых атрибутов корневого элемента 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
-, имена всех атрибутов должны начинаться с префикса {@code android:} &mdash; 
-например, {@code android:alwaysRetainTaskState}.  Поскольку этот префикс является 
-универсальным, в документации при указании атрибутов по имени 
+<p>За исключением некоторых атрибутов корневого элемента
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
+, имена всех атрибутов должны начинаться с префикса {@code android:} &mdash;
+например, {@code android:alwaysRetainTaskState}.  Поскольку этот префикс является
+универсальным, в документации при указании атрибутов по имени
 он обычно опускается.</p></dd>
 
 <dt><b>Объявление имен классов</b></dt>
-<dd>Многие элементы соответствуют объектам Java, в том числе элементы для самого 
-приложения (элемент 
+<dd>Многие элементы соответствуют объектам Java, в том числе элементы для самого
+приложения (элемент
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
-) и основных его компонентов &mdash; операций 
-(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>), 
-служб 
-(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>), 
-приемников широковещательных сообщений 
-(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>) 
-и поставщиков контента 
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).  
+) и основных его компонентов &mdash; операций
+(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>),
+служб
+(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>),
+приемников широковещательных сообщений
+(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>)
+и поставщиков контента
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).
 
 <p>
-Если вы определяете подкласс, а это практически всегда делается для классов компонентов 
-({@link android.app.Activity}, {@link android.app.Service}, 
-{@link android.content.BroadcastReceiver} и {@link android.content.ContentProvider}), 
-выполняется это с помощью атрибута {@code name}.  В состав имени должно входить 
-полное обозначение пакета.  
+Если вы определяете подкласс, а это практически всегда делается для классов компонентов
+({@link android.app.Activity}, {@link android.app.Service},
+{@link android.content.BroadcastReceiver} и {@link android.content.ContentProvider}),
+выполняется это с помощью атрибута {@code name}.  В состав имени должно входить
+полное обозначение пакета.
 Например, подкласс {@link android.app.Service} можно объявить следующим образом:
 </p>
 
@@ -239,12 +239,12 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Однако его можно укоротить. Если первым символом в строке указать точку, эта 
-строка будет добавляться к имени пакета приложения (указанного атрибутом 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>  
-элемента 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code> 
-).  Следующее назначение является таким же, как приведенное выше: 
+Однако его можно укоротить. Если первым символом в строке указать точку, эта
+строка будет добавляться к имени пакета приложения (указанного атрибутом
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
+элемента
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
+).  Следующее назначение является таким же, как приведенное выше:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -257,13 +257,13 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-При запуске компонента Android создает экземпляр подкласса, указанного по имени.  
+При запуске компонента Android создает экземпляр подкласса, указанного по имени.
 Если подкласс не указан, система создает экземпляр базового класса.
 </p></dd>
 
 <dt><b>Несколько значений</b></dt>
-<dd>Если можно указать несколько значений, элемент почти всегда 
-приводится повторно. Делается это вместо перечисления нескольких значений в одном элементе.  
+<dd>Если можно указать несколько значений, элемент почти всегда
+приводится повторно. Делается это вместо перечисления нескольких значений в одном элементе.
 Например, в фильтре Intent может быть перечислено несколько действий:
 
 <pre>&lt;intent-filter . . . &gt;
@@ -274,24 +274,24 @@
 &lt;/intent-filter&gt;</pre></dd>
 
 <dt><b>Значения ресурсов</b></dt>
-<dd>Значения некоторых атрибутов могут отображаться на экране &mdash; например, 
-метка и значок операции.  Значения этих атрибутов 
-следует локализовать, поэтому они должны задаваться в ресурсе или теме.  Значения 
+<dd>Значения некоторых атрибутов могут отображаться на экране &mdash; например,
+метка и значок операции.  Значения этих атрибутов
+следует локализовать, поэтому они должны задаваться в ресурсе или теме.  Значения
 ресурсов выражаются в следующем формате:</p>
 
 <p style="margin-left: 2em">{@code @[<i>пакет</i>:]<i>тип</i>:<i>имя</i>}</p>
 
 <p>
-где <i>имя пакета</i> можно опустить, если ресурс находится в одном пакете 
-с приложением, <i>тип —</i> это тип ресурса, &mdash; например "string" или 
-"drawable", &mdash; а <i>имя —</i> это имя, определяющее ресурс.  
+где <i>имя пакета</i> можно опустить, если ресурс находится в одном пакете
+с приложением, <i>тип —</i> это тип ресурса, &mdash; например "string" или
+"drawable", &mdash; а <i>имя —</i> это имя, определяющее ресурс.
 Например:
 </p>
 
 <pre>&lt;activity android:icon="@drawable/smallPic" . . . &gt</pre>
 
 <p>
-Значения из темы выражаются схожим образом, только в начале у них идет "{@code ?}", 
+Значения из темы выражаются схожим образом, только в начале у них идет "{@code ?}",
 а не "{@code @}":
 </p>
 
@@ -299,8 +299,8 @@
 </p></dd>
 
 <dt><b>Строковые значения</b></dt>
-<dd>Когда значением атрибута является строка, следует использовать двойную обратную косую черту ("{@code \\}") 
-для выделения управляющей последовательности символов, &mdash; например "{@code \\n}" для 
+<dd>Когда значением атрибута является строка, следует использовать двойную обратную косую черту ("{@code \\}")
+для выделения управляющей последовательности символов, &mdash; например "{@code \\n}" для
 новой строки или "{@code \\uxxxx}" для символа Юникода.</dd>
 </dl>
 
@@ -308,7 +308,7 @@
 <h2 id="filef">Отображение функций в файле</h2>
 
 <p>
-В следующих разделах описано, как некоторые функции Android отображаются 
+В следующих разделах описано, как некоторые функции Android отображаются
 в файле манифеста.
 </p>
 
@@ -316,37 +316,37 @@
 <h3 id="ifs">Фильтры объектов Intent</h3>
 
 <p>
-Базовые компоненты приложения (его операции, службы и 
-приемники широковещательных сообщений) активируются <i>объектами Intent</i>.  Intent — 
-это совокупность информации (объект {@link android.content.Intent}), описывающей 
-требуемое действие, &mdash; в том числе в ней указаны данные, с которыми следует выполнить это действие, категория 
-компонентов, которые должны выполнять это действие, и другие уместные инструкции.  
-Система Android находит компонент, который отреагирует на объект Intent, запускает 
-новый экземпляр компонента, если он требуется, и передает ему 
+Базовые компоненты приложения (его операции, службы и
+приемники широковещательных сообщений) активируются <i>объектами Intent</i>.  Intent —
+это совокупность информации (объект {@link android.content.Intent}), описывающей
+требуемое действие, &mdash; в том числе в ней указаны данные, с которыми следует выполнить это действие, категория
+компонентов, которые должны выполнять это действие, и другие уместные инструкции.
+Система Android находит компонент, который отреагирует на объект Intent, запускает
+новый экземпляр компонента, если он требуется, и передает ему
 объект Intent.
 </p>
 
 <p>
-Компоненты объявляют свои возможности &mdash; виды объектов Intent, на которые они могут 
-реагировать, &mdash; с помощью <i>фильтров Intent</i>.  Поскольку система Android 
-должна узнать, какие объекты Intent может обрабатывать тот или иной компонент, до того как она его запустит, 
-фильтры Intent указываются в файле манифеста как 
-элементы <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
-.  Компонент может иметь любое количество фильтров, каждый из которых описывает 
+Компоненты объявляют свои возможности &mdash; виды объектов Intent, на которые они могут
+реагировать, &mdash; с помощью <i>фильтров Intent</i>.  Поскольку система Android
+должна узнать, какие объекты Intent может обрабатывать тот или иной компонент, до того как она его запустит,
+фильтры Intent указываются в файле манифеста как
+элементы <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+.  Компонент может иметь любое количество фильтров, каждый из которых описывает
 отдельную возможность компонента.
 </p>
 
 <p>
-Объект Intent, в котором целевой компонент явно указан по имени, активирует этот компонент, 
-и фильтр при этом не учитывается.  Но объект Intent, в котором имя целевого 
-компонента не указано, может активировать компонент, только если он может пройти через один из фильтров 
+Объект Intent, в котором целевой компонент явно указан по имени, активирует этот компонент,
+и фильтр при этом не учитывается.  Но объект Intent, в котором имя целевого
+компонента не указано, может активировать компонент, только если он может пройти через один из фильтров
 компонента.
 </p>
 
 <p>
-Сведения о том, каким образом объекты Intent проверяются по фильтрам Intent, 
-см. в отдельном документе 
-<a href="{@docRoot}guide/components/intents-filters.html">Объекты Intent 
+Сведения о том, каким образом объекты Intent проверяются по фильтрам Intent,
+см. в отдельном документе
+<a href="{@docRoot}guide/components/intents-filters.html">Объекты Intent
 и фильтры объектов Intent</a>.
 </p>
 
@@ -354,42 +354,42 @@
 <h3 id="iconlabel">Значки и метки</h3>
 
 <p>
-У ряда элементов есть атрибуты {@code icon} и {@code label} для 
-небольшого значка и текстовой метки, которые могут отображаться на экране.  У некоторых из них также есть атрибут 
-{@code description} для более длинного описательного текста, который также может 
-отображаться на экране.  Например, элемент 
+У ряда элементов есть атрибуты {@code icon} и {@code label} для
+небольшого значка и текстовой метки, которые могут отображаться на экране.  У некоторых из них также есть атрибут
+{@code description} для более длинного описательного текста, который также может
+отображаться на экране.  Например, элемент
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-имеет все три таких атрибута, поэтому, когда пользователю задается вопрос, предоставить ли 
-разрешение запросившему его приложению, на экране может отображаться значок, 
-представляющий разрешение, имя разрешения и описание того, что оно 
+имеет все три таких атрибута, поэтому, когда пользователю задается вопрос, предоставить ли
+разрешение запросившему его приложению, на экране может отображаться значок,
+представляющий разрешение, имя разрешения и описание того, что оно
 за собой влечет.
 </p>
 
 <p>
-В любом случае значок и метка, заданные в элементе-контейнере, становятся параметрами 
-{@code icon} и {@code label}, используемыми по умолчанию для всех вложенных в этот контейнер дочерних элементов.  
-Так, значок и метка, заданные в элементе 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>, 
-являются значком и меткой, используемыми по умолчанию для каждого компонента приложения.  
-Точно так же, значок и метка, заданные для компонента, &mdash; например элемента 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, &mdash; 
-являются параметрами, используемыми по умолчанию для каждого элемента 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
- компонента.  Если в элементе 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-задана метка, а в операции и ее фильтре Intent — нет, 
-метка приложения будет считаться меткой и для операции, и для 
+В любом случае значок и метка, заданные в элементе-контейнере, становятся параметрами
+{@code icon} и {@code label}, используемыми по умолчанию для всех вложенных в этот контейнер дочерних элементов.
+Так, значок и метка, заданные в элементе
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>,
+являются значком и меткой, используемыми по умолчанию для каждого компонента приложения.
+Точно так же, значок и метка, заданные для компонента, &mdash; например элемента
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, &mdash;
+являются параметрами, используемыми по умолчанию для каждого элемента
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+ компонента.  Если в элементе
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+задана метка, а в операции и ее фильтре Intent — нет,
+метка приложения будет считаться меткой и для операции, и для
 фильтра Intent.
 </p>
 
 <p>
-Значок и метка, заданные для фильтра Intent, используются для обозначения компонента, 
+Значок и метка, заданные для фильтра Intent, используются для обозначения компонента,
 когда он представляется пользователю, для указания функции,
-которую анонсирует фильтр.  Например, фильтр с параметрами 
-"{@code android.intent.action.MAIN}" и 
-"{@code android.intent.category.LAUNCHER}" сообщает, что эта операция 
+которую анонсирует фильтр.  Например, фильтр с параметрами
+"{@code android.intent.action.MAIN}" и
+"{@code android.intent.category.LAUNCHER}" сообщает, что эта операция
 инициирует приложение, &mdash; то есть он обозначает ее как
- операцию, которая должна быть отображена в средстве запуска приложений.  Отсюда следует, что значок и метка, 
+ операцию, которая должна быть отображена в средстве запуска приложений.  Отсюда следует, что значок и метка,
 заданные в фильтре, отображаются в средстве запуска.
 </p>
 
@@ -397,14 +397,14 @@
 <h3 id="perms">Разрешения</h3>
 
 <p>
-Разрешение <i>представляет</i> собой ограничение на доступ к части кода 
-или к данным, имеющимся на устройстве.   Это ограничение накладывается для защиты важных 
-данных и кода, ненадлежащее использование которых может пагубно сказаться на работе приложения.  
+Разрешение <i>представляет</i> собой ограничение на доступ к части кода
+или к данным, имеющимся на устройстве.   Это ограничение накладывается для защиты важных
+данных и кода, ненадлежащее использование которых может пагубно сказаться на работе приложения.
 </p>
 
 <p>
-Каждое разрешение обозначается уникальной меткой.  Зачастую метка обозначает 
-действие, выполнение которого ограничивается.  Например, вот некоторые разрешения, определенные 
+Каждое разрешение обозначается уникальной меткой.  Зачастую метка обозначает
+действие, выполнение которого ограничивается.  Например, вот некоторые разрешения, определенные
 системой Android:
 </p>
 
@@ -418,25 +418,25 @@
 </p>
 
 <p>
-Если приложению требуется доступ к функции, защищенной разрешением, 
-оно должно объявить, что ему необходимо это разрешение, с помощью элемента 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-в файле манифеста.  Затем, когда приложение устанавливается на 
-устройство, установщик определяет, выдать ли запрошенное 
-разрешение, проверяя полномочия органов, подписавших сертификаты 
-приложения, а также, в некоторых случаях, спрашивая об этом пользователя.  
-Если разрешение предоставляется, приложение сможет использовать защищенные 
+Если приложению требуется доступ к функции, защищенной разрешением,
+оно должно объявить, что ему необходимо это разрешение, с помощью элемента
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+в файле манифеста.  Затем, когда приложение устанавливается на
+устройство, установщик определяет, выдать ли запрошенное
+разрешение, проверяя полномочия органов, подписавших сертификаты
+приложения, а также, в некоторых случаях, спрашивая об этом пользователя.
+Если разрешение предоставляется, приложение сможет использовать защищенные
 функции.  В противном случае его попытки доступа к этим функциям будут безуспешными,
-причем пользователь не получит никакого уведомления об этом. 
+причем пользователь не получит никакого уведомления об этом.
 </p>
 
 <p>
-Приложение также может защищать с помощью разрешений собственные компоненты (операции, службы, 
-приемники широковещательных сообщений и поставщиков контента).  Оно может использовать 
-любые разрешения, определенные системой Android (они приведены в объекте 
-{@link android.Manifest.permission android.Manifest.permission}) или объявленные 
-другими приложениями.  Либо оно может определить разрешения самостоятельно.  Новое разрешение объявляется 
-с помощью элемента 
+Приложение также может защищать с помощью разрешений собственные компоненты (операции, службы,
+приемники широковещательных сообщений и поставщиков контента).  Оно может использовать
+любые разрешения, определенные системой Android (они приведены в объекте
+{@link android.Manifest.permission android.Manifest.permission}) или объявленные
+другими приложениями.  Либо оно может определить разрешения самостоятельно.  Новое разрешение объявляется
+с помощью элемента
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 .  Например, операцию можно защитить следующим образом:
 </p>
@@ -457,43 +457,43 @@
 </pre>
 
 <p>
-Обратите внимание, что в этом примере разрешение {@code DEBIT_ACCT} не только 
-объявляется с помощью элемента 
+Обратите внимание, что в этом примере разрешение {@code DEBIT_ACCT} не только
+объявляется с помощью элемента
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-, его использование также запрашивается с помощью элемента 
+, его использование также запрашивается с помощью элемента
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
 .  Чтобы другие компоненты приложения запускали защищенную
-операцию, ее использование должно быть запрошено, даже несмотря на то, что защита 
-наложена самим приложением.  
+операцию, ее использование должно быть запрошено, даже несмотря на то, что защита
+наложена самим приложением.
 </p>
 
 <p>
-В этом же примере: если атрибут {@code permission} был бы задан как 
-разрешение, объявленное где-то еще 
-(например, {@code android.permission.CALL_EMERGENCY_NUMBERS}), его бы не 
-нужно было объявлять еще раз с помощью элемента 
+В этом же примере: если атрибут {@code permission} был бы задан как
+разрешение, объявленное где-то еще
+(например, {@code android.permission.CALL_EMERGENCY_NUMBERS}), его бы не
+нужно было объявлять еще раз с помощью элемента
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-.  Однако все равно нужно было бы запрашивать его использование с помощью 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>. 
+.  Однако все равно нужно было бы запрашивать его использование с помощью
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>.
 </p>
 
 <p>
-Элемент 
-<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code> 
-объявляет пространство имен для группы разрешений, которые будут определены в 
-коде.  А элемент 
+Элемент
+<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code>
+объявляет пространство имен для группы разрешений, которые будут определены в
+коде.  А элемент
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-определяет метку для набора разрешений (как для разрешений, объявленных в файле манифеста с помощью элементов 
+определяет метку для набора разрешений (как для разрешений, объявленных в файле манифеста с помощью элементов
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-, так и для объявленных где-то еще).  Это влияет только на то, каким образом разрешения 
-группируются, когда отображаются пользователю.  Элемент 
+, так и для объявленных где-то еще).  Это влияет только на то, каким образом разрешения
+группируются, когда отображаются пользователю.  Элемент
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-не указывает, какие разрешения относятся к группе. 
+не указывает, какие разрешения относятся к группе.
 Он просто дает группе имя.  Чтобы включить разрешение в группу,
-атрибуту 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code> 
- его элемента 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
+атрибуту
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code>
+ его элемента
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 необходимо присвоить имя группы.
 </p>
 
@@ -501,17 +501,17 @@
 <h3 id="libs">Библиотеки</h3>
 
 <p>
-Каждое приложение связывается с используемой по умолчанию библиотекой Android, в которой 
-имеются базовые пакеты для построения приложений (со стандартными классами, 
-например Activity, Service, Intent, View, Button, Application, ContentProvider 
+Каждое приложение связывается с используемой по умолчанию библиотекой Android, в которой
+имеются базовые пакеты для построения приложений (со стандартными классами,
+например Activity, Service, Intent, View, Button, Application, ContentProvider
 и так далее).
 </p>
 
 <p>
-Однако некоторые пакеты находятся в собственных библиотеках.  Если ваше приложение 
-использует код из одного из таких пакетов, оно должно в явном виде потребовать, чтобы его связали 
-с этим пакетом.  Файл манифеста должен содержать отдельный элемент 
-<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code> 
-для указания имени каждой библиотеки.  (Имя библиотеки можно найти в 
+Однако некоторые пакеты находятся в собственных библиотеках.  Если ваше приложение
+использует код из одного из таких пакетов, оно должно в явном виде потребовать, чтобы его связали
+с этим пакетом.  Файл манифеста должен содержать отдельный элемент
+<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code>
+для указания имени каждой библиотеки.  (Имя библиотеки можно найти в
 документации по пакету.)
 </p>
diff --git a/docs/html-intl/intl/ru/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/ru/guide/topics/providers/calendar-provider.jd
index 2d12e12..3533ad0 100644
--- a/docs/html-intl/intl/ru/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/ru/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">Использование намерения для просмотра данных календаря</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">Адаптеры синхронизации</a></li>
 </ol>
 
@@ -113,26 +113,26 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>В этой таблице находится
 информация о календарях. В каждой строке этой таблицы представлены сведения
 об отдельном календаре, например, его название, цвет, информация о синхронизации и т. д.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>В этой таблице находится
 информация о событиях. В каждой строке этой таблицы содержится информация об отдельном
 событии &mdash;например, заголовок события, место проведения, время начала, время
 завершения и т. д. Событие может быть однократным или повторяющимся. Сведения об участниках,
-напоминаниях и расширенные свойства хранятся в отдельных таблицах. 
+напоминаниях и расширенные свойства хранятся в отдельных таблицах.
 В каждой из них имеется целочисленная переменная {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID},
 которая ссылается на объект {@link android.provider.BaseColumns#_ID} в таблице событий.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>В этой таблице содержатся данные о времени
 начала и окончания каждого повторения события. В каждой строке этой таблицы
 представлено одно повторение события. Однократные события сопоставляются с повторениями
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>В этой таблице находится
 информация об участниках (гостях). В каждой строке этой таблицы указан один
 гость. В ней указываются тип гостя и информация о том,
@@ -149,7 +149,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>В этой таблице находятся
 данные уведомлений или оповещений. В каждой строке этой таблицы указано одно уведомление или оповещение. Для одного
 события можно создать несколько напоминаний. Максимальное количество таких напоминаний для события
@@ -159,7 +159,7 @@
 указанным календарем. Напоминания задаются в минутах до начала события и
 имеют метод, который определяет порядок уведомления пользователя.</td>
   </tr>
-  
+
 </table>
 
 <p>API поставщика календаря обеспечивает достаточную гибкость и эффективность. В то же время
@@ -211,7 +211,7 @@
 
 <p>В таблице {@link android.provider.CalendarContract.Calendars} содержатся подробные сведения
 о каждом отдельном календаре. Выполнять запись в указанные ниже столбцы
-этой таблицы могут и приложение, и <a href="#sync-adapter">адаптер синхронизации</a>. 
+этой таблицы могут и приложение, и <a href="#sync-adapter">адаптер синхронизации</a>.
 Полный список поддерживаемых полей представлен в справке по классу
 {@link android.provider.CalendarContract.Calendars}.</p>
 <table>
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>Логическое значение, обозначающее, выбран ли календарь для отображения. Значение
 «0» указывает на то, что события, связанные с
 этим календарем, не отображаются.  Значение «1» указывает на то, что события, связанные с
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>Логическое значение, обозначающее, следует ли синхронизировать календарь и хранить имеющиеся в нем события
 на устройстве. Значение «0» указывает, что не следует синхронизировать этот календарь или
 хранить имеющиеся в нем события на устройстве.  Значение «1» указывает, что этот календарь следует синхронизировать и
@@ -268,13 +268,13 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Зачем необходимо указывать параметр
 ACCOUNT_TYPE?</h3> <p>При создании запроса {@link
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}. Он используется для календарей,
 которые не связаны с аккаунтом устройства. Аккаунты {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} не
-синхронизируются.</p> </div> </div> 
+синхронизируются.</p> </div> </div>
 
 
 <p> В следующей части примера создается запрос. С помощью выбора определяются
@@ -308,38 +308,38 @@
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>В следующем разделе кода выполняется пошаговый обзор набора результатов с помощью курсора. В нем
 используются константы, которые были заданы в начале примера, для получения значений
 для каждого из полей.</p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">Изменение календаря</h3>
 
 <p>Чтобы обновить календарь, можно указать {@link
@@ -350,7 +350,7 @@
 либо в качестве первого элемента выделения. Выделение
 должно начинаться с <code>&quot;_id=?&quot;</code>, а первым аргументом
 <code>selectionArg</code> должен быть {@link
-android.provider.BaseColumns#_ID} календаря. 
+android.provider.BaseColumns#_ID} календаря.
 Также для выполнения обновлений можно закодировать идентификатор в URI. В этом примере для
 изменения отображаемого имени календаря используется
 подход
@@ -387,7 +387,7 @@
 в <a href="#manifest">файл манифеста</a>
 приложения необходимо включить разрешение {@link android.Manifest.permission#WRITE_CALENDAR}.</p>
 
-<p>Выполнять запись в указанные ниже столбцы этой таблицы могут и приложение, и 
+<p>Выполнять запись в указанные ниже столбцы этой таблицы могут и приложение, и
 адаптер синхронизации. Полный список поддерживаемых полей представлен в справке по классу {@link
 android.provider.CalendarContract.Events}.</p>
 
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>Продолжительность события в формате <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a>.
 Например, значение <code>&quot;PT1H&quot;</code> обозначает, что событие
 должно длиться один час, а значение <code>&quot;P2W&quot;</code> указывает на продолжительность
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>Значение «1» обозначает, что это событие занимает весь день по
 местному часовому поясу. Значение «0» указывает на то, что это регулярное событие, которое может начаться
 и завершиться в любое время в течение дня.</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>Правило повторения для формата события. Например,
 <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>. С другими
 примерами можно ознакомиться <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">здесь</a>.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>Даты повторения события. 
+    <td>Даты повторения события.
 Обычно {@link android.provider.CalendarContract.EventsColumns#RDATE}
 используется вместе с {@link android.provider.CalendarContract.EventsColumns#RRULE}
 для определения агрегированного набора
 повторяющихся событий. Дополнительные сведения представлены в <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">спецификации RFC5545</a>.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>Если событие считается как занятое или как свободное время,
  доступное для планирования. </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 вставке события с помощью намерения {@link
 android.content.Intent#ACTION_INSERT INSERT}, как описано в разделе <a href="#intent-insert">Использование намерения для вставки события</a>, &mdash; в этом
 случае используется часовой пояс по умолчанию.</li>
-  
+
   <li>Для однократных событий необходимо указать {@link
 android.provider.CalendarContract.EventsColumns#DTEND}. </li>
-  
-  
+
+
   <li>Для повторяющихся событий необходимо указать {@link
 android.provider.CalendarContract.EventsColumns#DURATION} в дополнение к {@link
 android.provider.CalendarContract.EventsColumns#RRULE} или {@link
@@ -528,7 +528,7 @@
 случае можно использовать {@link
 android.provider.CalendarContract.EventsColumns#RRULE} в сочетании с {@link android.provider.CalendarContract.EventsColumns#DTSTART} и {@link android.provider.CalendarContract.EventsColumns#DTEND}; кроме того, приложение «Календарь»
  автоматически преобразует указанный период в продолжительность.</li>
-  
+
 </ul>
 
 <p>Ниже представлен пример вставки события. Для простоты все это выполняется в потоке
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,7 +625,7 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Таблица участников</h2>
@@ -634,10 +634,10 @@
 указан один участник или гость события. При вызове метода
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 возвращается список участников для события
-с заданным {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}. 
+с заданным {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}.
 Этот {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 должен соответствовать {@link
-android.provider.BaseColumns#_ID} определенного события.</p> 
+android.provider.BaseColumns#_ID} определенного события.</p>
 
 <p>В таблице ниже указаны
 поля, доступные для записи. При вставке нового участника необходимо указать все эти поля, кроме
@@ -720,7 +720,7 @@
 <p>В каждой строке таблицы {@link android.provider.CalendarContract.Reminders}
 указано одно напоминание о событии. При вызове метода
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}возвращается список напоминаний для события
-с заданным 
+с заданным
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}.</p>
 
 
@@ -780,9 +780,9 @@
 возможность запрашивать повторения событий. </p>
 
 <p>В таблице ниже перечислены некоторые из полей, которые можно запросить для экземпляра. Обратите внимание,
-что часовой пояс задается параметрами 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 

+что часовой пояс задается параметрами
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}

 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}.</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>День окончания экземпляра по юлианскому календарю относительно часового пояса
-приложения «Календарь». 
-    
+приложения «Календарь».
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>Минута окончания экземпляра, вычисленная от полуночи по часовому поясу
 приложения «Календарь».</td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,27 +820,27 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>День начала экземпляра по юлианскому календарю относительно часового пояса приложения «Календарь». 
+    <td>День начала экземпляра по юлианскому календарю относительно часового пояса приложения «Календарь».
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>Минута начала экземпляра, вычисленная от полуночи по часовому поясу
-приложения «Календарь». 
+приложения «Календарь».
 </td>
-    
+
   </tr>
 
 </table>
 
 <h3 id="query-instances">Запрос таблицы экземпляров</h3>
 
-<p>Чтобы запросить таблицу экземпляров, необходимо указать промежуток времени для запроса в 
+<p>Чтобы запросить таблицу экземпляров, необходимо указать промежуток времени для запроса в
 URI. В этом примере {@link android.provider.CalendarContract.Instances}
 получает доступ к полю {@link
 android.provider.CalendarContract.EventsColumns#TITLE} посредством своей реализации
-интерфейса {@link android.provider.CalendarContract.EventsColumns}. 
+интерфейса {@link android.provider.CalendarContract.EventsColumns}.
 Другими словами, {@link
 android.provider.CalendarContract.EventsColumns#TITLE}
 возвращается посредством обращения к базе данных, а не путем запроса таблицы {@link
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -923,8 +923,8 @@
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
     Сослаться на URI также можно с помощью
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}. 
-Пример использования этого намерения представлен в разделе <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Использование намерений для просмотра данных календаря</a>. 
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}.
+Пример использования этого намерения представлен в разделе <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Использование намерений для просмотра данных календаря</a>.
 
     </td>
     <td>Открытие календаря во время, заданное параметром <code>&lt;ms_since_epoch&gt;</code>.</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
     Сослаться на URI также можно с помощью
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Пример использования этого намерения представлен в разделе <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Использование намерений для просмотра данных календаря</a>.
-    
+
     </td>
     <td>Просмотр события, указанного с помощью <code>&lt;event_id&gt;</code>.</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
+
   Сослаться на URI также можно с помощью
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Пример использования этого намерения представлен в разделе <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">Использование намерения для редактирования события</a>.
-    
-    
+
+
     </td>
     <td>Редактирование события, указанного с помощью <code>&lt;event_id&gt;</code>.</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
+
    Сослаться на URI также можно с помощью
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Пример использования этого намерения представлен в разделе <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">Использование намерения для редактирования события</a>.
-    
+
     </td>
 
     <td>Создание события.</td>
@@ -996,7 +996,7 @@
     <td>Название события.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>Время начала события (в миллисекундах) от эпохи.</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>Время окончания события (в миллисекундах) от эпохи.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>Логическое значение, обозначающее, что это событие на весь день. Значение может быть
 <code>true</code> или <code>false</code>.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>Место проведения события.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>Описание события.</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>Указывает на то, является ли событие общедоступным или закрытым.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>Если событие считается как занятое или как свободное время, доступное для планирования.</td>
-    
-</table> 
+
+</table>
 <p>В разделах ниже указан порядок использования этих намерений.</p>
 
 
@@ -1059,14 +1059,14 @@
 Благодаря этому в <a href="#manifest">файл манифеста</a> вашего приложения не нужно включать разрешение {@link
 android.Manifest.permission#WRITE_CALENDAR}.</p>
 
-  
+
 <p>Когда пользователи работают с приложением, в котором используется такой подход, приложение отправляет
 их в «Календарь» для завершения добавления события. Намерение {@link
 android.content.Intent#ACTION_INSERT INSERT} использует дополнительные поля
 для предварительного указания в форме сведений о событии в приложении «Календарь». После этого пользователи
 могут отменить событие, отредактировать форму или сохранить событие в своем
 календаре.</p>
-  
+
 
 
 <p>Ниже представлен фрагмент кода, в котором на 19 января 2012 г. планируется событие, которое будет проходить с
@@ -1075,7 +1075,7 @@
 <ul>
   <li>В качестве URI в нем задается
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.</li>
-  
+
   <li>В нем используются дополнительные поля {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} и {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} для предварительного указания в форме
 сведений о времени события. Значения времени должны быть указаны в формате UTC и в миллисекундах от
 эпохи.</li>
-  
+
   <li>В нем используется дополнительное поле {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 для предоставления списка участников, разделенных запятыми (их адреса эл. почты).</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,12 +1158,12 @@
 
 <ul>
   <li>Адаптеру синхронизации необходимо указать, что он является таковым, задав для параметра {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} значение <code>true</code>.</li>
-  
-  
+
+
   <li>Адаптеру синхронизации необходимо предоставить {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} и {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} в качестве параметров запроса в URI. </li>
-  
+
   <li>Адаптер синхронизации имеет доступ на запись к большему числу столбцов, чем приложение или виджет.
   Например, приложение может изменять только некоторые характеристики календаря,
 такие как название, отображаемое имя, настройки видимости и
diff --git a/docs/html-intl/intl/ru/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/ru/guide/topics/providers/contacts-provider.jd
index 4d07856..151f75b 100644
--- a/docs/html-intl/intl/ru/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/ru/guide/topics/providers/contacts-provider.jd
@@ -467,7 +467,7 @@
 </p>
 <p>
     При добавлении нового необработанного контакта,
-который не соответствует ни одному из существующих контактов, поставщик контактов создает новый контакт. Поставщик поступает аналогично в случае, если 
+который не соответствует ни одному из существующих контактов, поставщик контактов создает новый контакт. Поставщик поступает аналогично в случае, если
 данные в строке существующего необработанного контакта изменяются таким образом, что они больше не соответствуют контакту,
 с которым они ранее были связаны. При создании приложением или адаптером синхронизации нового контакта,
 который <em></em> соответствует существующему контакту, то новый контакт объединяется с
@@ -543,7 +543,7 @@
 </p>
 <p>
     Если необходимо передать данные из службы в поставщик контактов, необходимо создать
-собственный адаптер синхронизации. Дополнительные сведения об этом представлены в разделе 
+собственный адаптер синхронизации. Дополнительные сведения об этом представлены в разделе
 <a href="#SyncAdapters">Адаптеры синхронизации поставщика контактов</a>.
 </p>
 <p>
@@ -672,7 +672,7 @@
 Android.
             <p>
                 Адаптеры синхронизации, которые вносят изменения в необработанные контакты или таблицы данных, должны всегда добавлять к используемому ими URI
-контента строку 
+контента строку
 {@link android.provider.ContactsContract#CALLER_IS_SYNCADAPTER}. Это позволяет предотвратить пометку таких строк поставщиком как «грязных».
                 В противном случае изменения, внесенные адаптером синхронизации, будут рассматриваться как локальные изменения,
 которые подлежат отправке на сервер, даже если источником таких изменений был сам сервер.
@@ -1809,7 +1809,7 @@
                 <li>
                     <strong>Необязательно:</strong> элемент
 <code>&lt;<a href="{@docRoot}guide/topics/manifest/meta-data-element.html">meta-data</a>&gt;</code>
-для структуры проверки подлинности указывает на файл XML 
+для структуры проверки подлинности указывает на файл XML
 <code>res/xml/authenticator.xml</code>. В свою очередь, в этом файле задается
 тип аккаунта, который поддерживает структура проверки подлинности, а также ресурсы пользовательского интерфейса,
 которые отображаются в процессе аутентификации. Тип аккаунта, указанный в этом
@@ -2022,7 +2022,7 @@
     </ul>
 <p>
     Регулярная синхронизация элементов потока с помощью поставщика контактов выполняется так же,
-как и любая другая синхронизация. Дополнительные сведения о синхронизации представлены в разделе 
+как и любая другая синхронизация. Дополнительные сведения о синхронизации представлены в разделе
 <a href="#SyncAdapters">Адаптеры синхронизации поставщика контактов</a>. Регистрация уведомлений
 и приглашение контактов рассматриваются в следующих двух разделах.
 </p>
@@ -2092,7 +2092,7 @@
 <h4>Взаимодействие со службой социальной сети</h4>
 <p>
     Пользователям не обязательно выходить из приложения для работы с контактами, которое имеется на устройстве, чтобы пригласить контакт на сайт
-социальной сети. Вместо этого приложение для работы с контактами может отправить намерение для приглашения 
+социальной сети. Вместо этого приложение для работы с контактами может отправить намерение для приглашения
 контакта в одну из ваших операций. Для этого выполните указанные ниже действия.
 </p>
 <ol>
diff --git a/docs/html-intl/intl/ru/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/ru/guide/topics/providers/content-provider-basics.jd
index c912dbc..4d520e8 100644
--- a/docs/html-intl/intl/ru/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/ru/guide/topics/providers/content-provider-basics.jd
@@ -251,7 +251,7 @@
 </pre>
 <p>
     В таблице 2 указано соответствие аргументов для метода
-{@link android.content.ContentResolver#query 
+{@link android.content.ContentResolver#query
 query(Uri,projection,selection,selectionArgs,sortOrder)} SQL-инструкции SELECT.
 </p>
 <p class="table-caption">
@@ -701,7 +701,7 @@
 для вставки, обновления или удаления данных.
 </p>
 <p>
-    Чтобы получить разрешения, необходимые для доступа к поставщику, приложение запрашивает их с помощью элемента 
+    Чтобы получить разрешения, необходимые для доступа к поставщику, приложение запрашивает их с помощью элемента
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
 в файле манифеста. При установке менеджером пакетов Android приложения пользователю необходимо
 утвердить все разрешения, запрашиваемые приложением. В случае утверждения всех разрешений
diff --git a/docs/html-intl/intl/ru/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/ru/guide/topics/providers/content-provider-creating.jd
index d8f7873..d669757 100644
--- a/docs/html-intl/intl/ru/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/ru/guide/topics/providers/content-provider-creating.jd
@@ -485,7 +485,7 @@
 <h3 id="RequiredAccess">Необходимые методы</h3>
 <p>
     В абстрактном классе {@link android.content.ContentProvider} определены шесть абстрактных методов,
-которые необходимо реализовать в рамках вашего собственного конкретного подкласса. Все указанные ниже методы, кроме 
+которые необходимо реализовать в рамках вашего собственного конкретного подкласса. Все указанные ниже методы, кроме
 {@link android.content.ContentProvider#onCreate() onCreate()}, вызываются клиентским приложением,
 которое пытается получить доступ к вашему поставщику контента.
 </p>
@@ -777,7 +777,7 @@
 <p>
     Для общих типов данных, таких как текст, HTML или JPEG, метод
 {@link android.content.ContentProvider#getType(Uri) getType()} должен возвращать стандартный тип
-MIME. Полный список стандартных типов представлен на 
+MIME. Полный список стандартных типов представлен на
 веб-сайте
 <a href="http://www.iana.org/assignments/media-types/index.htm">IANA MIME Media Types</a>.
 </p>
@@ -870,8 +870,8 @@
 <p>
     Класс-контракт представляет собой класс <code>public final</code>, в котором содержатся определения констант для
 URI, имен столбцов, типов MIME и других метаданных поставщика. Класс
-устанавливает контрактные отношения между поставщиком и другими приложениями путем обеспечения 
-прямого доступа к поставщику даже в случае изменения фактических значений URI, имен столбцов и 
+устанавливает контрактные отношения между поставщиком и другими приложениями путем обеспечения
+прямого доступа к поставщику даже в случае изменения фактических значений URI, имен столбцов и
 т. д.
 </p>
 <p>
@@ -928,7 +928,7 @@
 <h3>Реализация разрешений</h3>
 <p>
     Любое приложение может выполнять чтение данных в поставщике или записывать их, даже если соответствующие данные
-являются закрытыми, поскольку по умолчанию для поставщика не заданы разрешения. Чтобы изменить эти настройки, 
+являются закрытыми, поскольку по умолчанию для поставщика не заданы разрешения. Чтобы изменить эти настройки,
 задайте разрешения для поставщика в файле манифеста с помощью атрибутов элемента
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
     &lt;provider&gt;</a></code> или его дочерних элементов. Можно задать разрешения, которые применяются ко всему поставщику
diff --git a/docs/html-intl/intl/ru/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/ru/guide/topics/providers/document-provider.jd
index c594968..c394e60 100644
--- a/docs/html-intl/intl/ru/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/ru/guide/topics/providers/document-provider.jd
@@ -567,7 +567,7 @@
 <li>Атрибут <code>android:exported</code>, установленный в значение <code>&quot;true&quot;</code>.
  Необходимо экспортировать поставщик, чтобы он был виден другим приложениям.</li>
 
-<li>Атрибут <code>android:grantUriPermissions</code>, установленный в значение 
+<li>Атрибут <code>android:grantUriPermissions</code>, установленный в значение
 <code>&quot;true&quot;</code>. Этот параметр позволяет системе предоставлять другим приложениям доступ
 к контенту поставщика. Обсуждение того, как следует удерживать права доступа
 к конкретному документу см. в разделе <a href="#permissions">Удержание прав доступа</a>.</li>
@@ -776,7 +776,7 @@
 
 <h4 id="queryChildDocuments">Реализация метода queryChildDocuments</h4>
 
-<p>Реализация метода 
+<p>Реализация метода
 {@link android.provider.DocumentsProvider#queryChildDocuments queryChildDocuments()}
 должна возвращать объект{@link android.database.Cursor}, указывающий на все файлы в
 заданном каталоге, используя столбцы, определенные в
diff --git a/docs/html-intl/intl/ru/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/ru/guide/topics/resources/accessing-resources.jd
index 3d59ceb..ccb7ad8 100644
--- a/docs/html-intl/intl/ru/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/ru/guide/topics/resources/accessing-resources.jd
@@ -209,7 +209,7 @@
 <ul>
   <li>{@code &lt;package_name&gt;} — это имя пакета, в котором находится ресурс (не
 требуется при создании ссылок на ресурсы из одного и того же пакета).</li>
-  <li>{@code &lt;resource_type&gt;} — это подкласс 
+  <li>{@code &lt;resource_type&gt;} — это подкласс
 {@code R} для типа ресурса.</li>
   <li>{@code &lt;resource_name&gt;} — это либо имя файла
 ресурса (без расширения), либо значение атрибута {@code android:name} в элементе XML (для простых
@@ -222,7 +222,7 @@
 
 <h3>Примеры использования</h3>
 
-<p>В некоторых случаях ресурс необходимо использовать в качестве значения в элементе XML (например, чтобы применить графическое изображение к 
+<p>В некоторых случаях ресурс необходимо использовать в качестве значения в элементе XML (например, чтобы применить графическое изображение к
 виджету), однако вы также можете использовать ресурс в любом фрагменте XML, где ожидается простое значение. Например,
 если имеется следующий файл ресурса, включающий <a href="more-resources.html#Color">цветовой ресурс</a> и <a href="string-resource.html">строковый ресурс</a>:</p>
 
@@ -260,13 +260,13 @@
 </pre>
 
 <p class="note"><strong>Примечание.</strong> Всегда используйте строковые ресурсы,
-поскольку ваше приложение может потребоваться перевести на другие языки. 
+поскольку ваше приложение может потребоваться перевести на другие языки.
 Сведения о создании альтернативных
 ресурсов (например, локализованных строк) представлены в разделе <a href="providing-resources.html#AlternativeResources">Предоставление альтернативных
 ресурсов</a>. В разделе <a href="localization.html">Локализация</a> приведено полное руководство по локализации
 приложения.</p>
 
-<p>Вы даже можете использовать ресурсы в XML для создания псевдонимов. Например, можно создать 
+<p>Вы даже можете использовать ресурсы в XML для создания псевдонимов. Например, можно создать
 элемент дизайна, который будет служить псевдонимом для другого элемента дизайна:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/ru/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/ru/guide/topics/resources/providing-resources.jd
index be0af95..6a287b8 100644
--- a/docs/html-intl/intl/ru/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/ru/guide/topics/resources/providing-resources.jd
@@ -495,7 +495,7 @@
 экрану VGA средней плотности.
         Минимальный размер макета для большого экрана составляет приблизительно 480x640 пикселов.
         Примерами являются экраны VGA и WVGA средней плотности.</li>
-        <li>{@code xlarge}: Экраны значительно крупнее обычного 
+        <li>{@code xlarge}: Экраны значительно крупнее обычного
 экрана HVGA средней плотности. Минимальный размер макета для очень большого экрана составляет
 приблизительно 720x960 пикселов.  В большинстве случаев устройства с очень большими
 экранами слишком велики для карманного использования и, скорее всего,
@@ -510,7 +510,7 @@
 аварийно завершится во время выполнения (например, если все ресурсы макета отмечены квалификатором {@code
 xlarge}, но устройство оснащено экраном нормального размера).</p>
         <p><em>Добавлено в API уровня 4.</em></p>
-        
+
         <p>Дополнительную информацию см. в разделе <a href="{@docRoot}guide/practices/screens_support.html">Поддержка нескольких
 экранов</a>.</p>
         <p>См. также поле конфигурации {@link android.content.res.Configuration#screenLayout}, которое
@@ -1088,7 +1088,7 @@
 чем число квалификаторов, которые точно соответствуют устройству. Например, на шаге 4 выше, последний
 вариант в списке содержит три квалификатора, которые точно соответствуют устройству (ориентация, тип
 сенсорного экрана и способ ввода), в то время как <code>drawable-en</code> содержит только один подходящий параметр
-(язык). Однако язык имеет более высокий приоритет, чем эти остальные квалификаторы, поэтому 
+(язык). Однако язык имеет более высокий приоритет, чем эти остальные квалификаторы, поэтому
 <code>drawable-port-notouch-12key</code> вычеркивается.</p>
 
 <p>Для получения более подробной информации об использовании ресурсов в приложении перейдите к разделу <a href="accessing-resources.html">Доступ к ресурсам</a>.</p>
diff --git a/docs/html-intl/intl/ru/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/ru/guide/topics/resources/runtime-changes.jd
index 5dc59c8..5133751 100644
--- a/docs/html-intl/intl/ru/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/ru/guide/topics/resources/runtime-changes.jd
@@ -125,7 +125,7 @@
 означает, что приложение удерживает их, и система не может очистить от них память, поэтому
 может теряться значительный объем памяти).</p>
 
-<p>Затем используйте {@link android.app.FragmentManager} для добавления фрагмента в операцию. 
+<p>Затем используйте {@link android.app.FragmentManager} для добавления фрагмента в операцию.
 Можно получить объект данных из фрагмента, когда операция повторно запускается в результате изменения конфигурации
 в режиме выполнения. В качестве примера операция определена следующим образом:</p>
 
@@ -168,7 +168,7 @@
 <p>В этом примере {@link android.app.Activity#onCreate(Bundle) onCreate()} добавляет фрагмент
 или восстанавливает ссылку на него. Метод {@link android.app.Activity#onCreate(Bundle) onCreate()} также
 хранит объект, сохраняющий состояние, внутри экземпляра фрагмента.
-Метод {@link android.app.Activity#onDestroy() onDestroy()} обновляет объект, сохраняющий состояние, внутри 
+Метод {@link android.app.Activity#onDestroy() onDestroy()} обновляет объект, сохраняющий состояние, внутри
 сохраненного экземпляра фрагмента.</p>
 
 
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/controls.jd b/docs/html-intl/intl/ru/guide/topics/ui/controls.jd
index 62f4c76..7e15a72 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">Переключатель</a></td>
         <td>Этот элемент управления аналогичен флажку, за исключением того, что в группе элементов можно выбрать только один вариант.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/ru/guide/topics/ui/declaring-layout.jd
index 71428f6..b5db656 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/declaring-layout.jd
@@ -219,9 +219,9 @@
 <p>Как правило, не рекомендуется задавать абсолютные значения ширины и высоты макета
 (например, в пикселах). Вместо этого используйте относительные единицы измерения, такие как
 пикселы, не зависящие от разрешения экрана (<var>dp</var>), <var>wrap_content</var>или
-<var>match_parent</var>Это гарантирует одинаковое отображение 
+<var>match_parent</var>Это гарантирует одинаковое отображение
 вашего приложения на устройствах с экранами разных размеров.
-Принятые типы измерения определены в 
+Принятые типы измерения определены в
 документе
 <a href="{@docRoot}guide/topics/resources/available-resources.html#dimension">Доступные ресурсы</a>.</p>
 
@@ -325,7 +325,7 @@
 Android.</p>
 
 <p class="note"><strong>Примечание.</strong> Несмотря на то, что для формирования пользовательского интерфейса один
-макет может содержать один или несколько вложенных макетов, рекомендуется использовать как можно более простую 
+макет может содержать один или несколько вложенных макетов, рекомендуется использовать как можно более простую
 иерархию макетов. Чем меньше в макете вложенных элементов, тем быстрее выполняется его отрисовка (горизонтальная иерархия
 представлений намного лучше вертикальной).</p>
 
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/ru/guide/topics/ui/dialogs.jd
index 515ecc6..7e5d908 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>См. также:</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">Руководство по дизайну диалоговых окон</a></li>
@@ -235,8 +235,8 @@
 </pre>
 
 <p>Методы <code>set...Button()</code> предполагают заголовок для кнопки (реализуемый
-через <a href="{@docRoot}guide/topics/resources/string-resource.html">строковый ресурс</a>) и 
-{@link android.content.DialogInterface.OnClickListener}, который определяет действие, 
+через <a href="{@docRoot}guide/topics/resources/string-resource.html">строковый ресурс</a>) и
+{@link android.content.DialogInterface.OnClickListener}, который определяет действие,
 следующее за нажатием кнопки пользователем.</p>
 
 <p>Реализована возможность добавлять три различных вида кнопок действий:</p>
@@ -248,7 +248,7 @@
   <dt>Нейтральные</dt>
   <dd>Используются в случаях, когда пользователь может не желать продолжить действие,
   но при этом необязательно хочет его отменить. Появляется между положительными и отрицательнымиI
-  кнопками. Примером такого действия может быть «Напомнить позже».</dd> 
+  кнопками. Примером такого действия может быть «Напомнить позже».</dd>
 </dl>
 
 <p>Можно добавлять только одну кнопку каждого вида в {@link
@@ -271,7 +271,7 @@
 <li>Интерактивный список с выбором нескольких вариантов (флажки)</li>
 </ul>
 
-<p>Для создания списка с выбором одного варианта, как на рисунке 3, 
+<p>Для создания списка с выбором одного варианта, как на рисунке 3,
 используйте метод{@link android.app.AlertDialog.Builder#setItems setItems()}:</p>
 
 <pre style="clear:right">
@@ -289,9 +289,9 @@
 }
 </pre>
 
-<p>Поскольку список отображается в области содержимого диалогового окна, 
+<p>Поскольку список отображается в области содержимого диалогового окна,
 диалоговое окно не может показать одновременно сообщение и список, поэтому необходимо задать заголовок
-диалогового окна с помощью {@link android.app.AlertDialog.Builder#setTitle setTitle()}. 
+диалогового окна с помощью {@link android.app.AlertDialog.Builder#setTitle setTitle()}.
 Для указания элементов списка необходимо вызвать {@link
 android.app.AlertDialog.Builder#setItems setItems()}, передающий указатель.
 В качестве другого варианта можно указать список с помощью {@link
@@ -320,8 +320,8 @@
 <p>Для добавления списка с несколькими вариантами ответов (флажки) или
 списка с одним вариантом ответа (переключатели) используйте методы
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} или 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} или
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} соответственно.</p>
 
 <p>Например, таким образом можно создать список с несколькими вариантами ответов, как на
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -371,9 +371,9 @@
 }
 </pre>
 
-<p>Несмотря на то, что и традиционный список, и список с переключателями 
+<p>Несмотря на то, что и традиционный список, и список с переключателями
 предполагают действие по выбору одного элемента, вам необходимо использовать {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()}, чтобы сохранить выбор пользователя.
 Это значит, что при повторном открытии диалогового окна будет отображаться текущий выбор пользователя,
 а затем создается список с переключателями.</p>
@@ -442,7 +442,7 @@
 одинаковые стили шрифта.</p>
 
 <p>Для применения макета в вашем {@link android.support.v4.app.DialogFragment}
-вам понадобится {@link android.view.LayoutInflater} с 
+вам понадобится {@link android.view.LayoutInflater} с
 {@link android.app.Activity#getLayoutInflater()} и вызов
 {@link android.view.LayoutInflater#inflate inflate()}, где первым параметром будет являться
 ID ресурса макета, а вторым параметром — исходный вид макета.
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -638,7 +638,7 @@
 
 <p>Тем не менее, в этом случае нельзя использовать{@link android.app.AlertDialog.Builder AlertDialog.Builder}
 или другие объекты {@link android.app.Dialog} для построения диалогового окна. Если
-необходимо сделать {@link android.support.v4.app.DialogFragment} 
+необходимо сделать {@link android.support.v4.app.DialogFragment}
 встраиваемым, нужно определить пользовательский интерфейс диалогового окна в макете методом обратного вызова
 {@link android.support.v4.app.DialogFragment#onCreateView
 onCreateView()}.</p>
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -695,12 +695,12 @@
 }
 </pre>
 
-<p>Подробные сведения о выполнении операций с фрагментами приведены в руководстве 
+<p>Подробные сведения о выполнении операций с фрагментами приведены в руководстве
 <a href="{@docRoot}guide/components/fragments.html">Фрагменты</a>.</p>
 
 <p>В приведенном примере <code>mIsLargeLayout</code> булеан указывает, должно ли текущее устройство использовать
  большой макет приложения  (и отображать фрагмент как диалоговое окно, а не
-в полноэкранном режиме). Лучшим способом установить такой вид булеана является объявление 
+в полноэкранном режиме). Лучшим способом установить такой вид булеана является объявление
 <a href="{@docRoot}guide/topics/resources/more-resources.html#Bool">значения булевой переменной</a>
 с <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">альтернативным</a> значением для других размеров экранов. В качестве примера приведены два
 варианта булевых ресурсов для различных размеров экранов:</p>
@@ -776,7 +776,7 @@
 android.support.v4.app.DialogFragment}.</p>
 
 <p>Также можно <em>отменить</em> диалоговое окно. Это особое событие, возникающее, когда пользователь
-покинул диалоговое окно, не завершив задачу. Так происходит, когда пользователь нажимает кнопку 
+покинул диалоговое окно, не завершив задачу. Так происходит, когда пользователь нажимает кнопку
 <em>Назад</em>, касается экрана за областью диалогового окна,
 либо когда задано {@link android.app.Dialog#cancel()} в {@link
 android.app.Dialog} (например, в качестве отклика на нажатие кнопки «Отмена» в диалоговом окне).</p>
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/menus.jd b/docs/html-intl/intl/ru/guide/topics/ui/menus.jd
index 2f3ce1e..885918f 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/menus.jd
@@ -66,13 +66,13 @@
 
 <p>Несмотря на то что оформление и поведение некоторых пунктов меню изменились, семантика для определения
 набора действий и вариантов по-прежнему основана на API-интерфейсах класса {@link android.view.Menu}. В этом
-руководстве рассказывается, как создавать три основополагающих типа меню или представлений действий в системе 
+руководстве рассказывается, как создавать три основополагающих типа меню или представлений действий в системе
 Android всех версий:</p>
 
 <dl>
   <dt><strong>Меню параметров и строка действий</strong></dt>
     <dd>Пункты <a href="#options-menu">меню параметров</a> представляют собой основные варианты выбора действий в пределах
-операции. Именно здесь следует размещать действия, которые затрагивают приложение в целом, например: 
+операции. Именно здесь следует размещать действия, которые затрагивают приложение в целом, например:
 "Поиск", "Составить сообщение эл. почты" и "Настройки".
   <p>При разработке приложений для версии Android 2.3 или более ранних версий пользователи могут
 открыть панель меню параметров нажатием кнопки <em>Меню</em>.</p>
@@ -83,9 +83,9 @@
 строки действий.</p>
   <p>См. раздел <a href="#options-menu">Создание меню параметров</a></p>
     </dd>
-    
+
   <dt><strong>Контекстное меню и режим контекстных действий</strong></dt>
-  
+
    <dd>Контекстное меню ― это <a href="#FloatingContextMenu">плавающее меню</a>, которое открывается, когда
 пользователь длительно нажимает на элемент. В нем содержатся действия, которые затрагивают выбранный контент или
 контекстный кадр.
@@ -94,11 +94,11 @@
 выбрать сразу несколько элементов.</p>
   <p>См. раздел <a href="#context-menu">Создание контекстного меню</a></p>
 </dd>
-    
+
   <dt><strong>Всплывающее меню</strong></dt>
     <dd>Во всплывающем меню отображается вертикальный список пунктов, который привязан к представлению,
 вызвавшему меню. Он хорошо подходит для предоставления возможности дополнительных вариантов действий, относящихся к определенному контенту или
-для выдачи вариантов для второй части команды. Действия во всплывающем меню 
+для выдачи вариантов для второй части команды. Действия во всплывающем меню
 <strong>не</strong> должны напрямую затрагивать соответствующий контент &mdash; для этого предназначены контекстные
 действия. Всплывающее меню предназначено для расширенных действий, относящихся к областям контента в вашей
 операции.
@@ -135,7 +135,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>Создает класс {@link android.view.MenuItem}, который представляет один пункт меню. Этот
 элемент может содержать вложенный элемент <code>&lt;menu></code> для создания вложенных меню.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>Необязательный, невидимый контейнер для элементов {@code &lt;item&gt;}. Он позволяет
 разделять пункты меню на категории и назначать им одинаковые свойства, такие как активное состояние и видимость. Подробные
@@ -322,7 +322,7 @@
 должен быть общедоступным и принимать один параметр {@link android.view.MenuItem}, &mdash; когда система
 вызывает этот метод, она передает ему выбранный пункт меню. Подробные сведения и пример см. в документе <a href="{@docRoot}guide/topics/resources/menu-resource.html">Ресурс меню</a>.</p>
 
-<p class="note"><strong>Совет.</strong> Если в приложении предусмотрено несколько операций и 
+<p class="note"><strong>Совет.</strong> Если в приложении предусмотрено несколько операций и
 в некоторых из них имеются одинаковые меню параметров, рассмотрите возможность создания
 операции, которая будет использовать исключительно методы {@link android.app.Activity#onCreateOptionsMenu(Menu)
 onCreateOptionsMenu()} и {@link android.app.Activity#onOptionsItemSelected(MenuItem)
@@ -346,7 +346,7 @@
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} следует использовать только для создания начального
 состояния меню, а не для внесения в него изменений в течение жизненного цикла операции.</p>
 
-<p>Если вам требуется изменять меню параметров в зависимости от 
+<p>Если вам требуется изменять меню параметров в зависимости от
 событий, которые возникают в течение жизненного цикла операции, сделать это можно в
 методе{@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}. Этот
 метод передает объект {@link android.view.Menu} в том виде, в котором он в данный момент существует. Его-то и можно изменить
@@ -363,7 +363,7 @@
 вызвать метод {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()}, чтобы запросить у
 системы вызов метода {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}.</p>
 
-<p class="note"><strong>Примечание.</strong> 
+<p class="note"><strong>Примечание.</strong>
 Никогда не следует изменять пункты меню параметров с учетом класса {@link android.view.View}, действующего
 в данный момент. В сенсорном режиме (когда пользователь не использует трекбол или кнопки направления движения) фокус
 не может переводиться на представления, поэтому никогда не следует использовать фокус в качестве основы для изменения
@@ -525,7 +525,7 @@
 представления, то вам следует:</p>
 <ol>
   <li>Реализовать интерфейс {@link android.view.ActionMode.Callback}. В его методах обратного вызова вы
-можете указать действия для строки контекстных действий, реагировать на нажатия пунктов действий и 
+можете указать действия для строки контекстных действий, реагировать на нажатия пунктов действий и
 обрабатывать другие события жизненного цикла для режима действий.</li>
   <li>Вызывайте {@link android.app.Activity#startActionMode startActionMode()}, когда требуется показать
 строку (например, когда пользователь выполняет длительное нажатие представления).</li>
@@ -582,12 +582,12 @@
 android.view.ActionMode#setSubtitle setSubtitle()} (удобно для указания количества выбранных
 элементов).</p>
 
-<p>Также обратите внимание, что приведенный выше образец кода задает для переменной {@code mActionMode} значение null, когда 
+<p>Также обратите внимание, что приведенный выше образец кода задает для переменной {@code mActionMode} значение null, когда
 режим действия прекращает свое существование. Далее вы узнаете, каким образом он инициализируется и чем может быть
 полезно сохранение составной переменной в операции или фрагменте.</p>
 </li>
 
-  <li>Для включения режима контекстных действий, когда это необходимо, 
+  <li>Для включения режима контекстных действий, когда это необходимо,
 например, в ответ на длительное нажатие {@link
 android.view.View}, вызывайте {@link android.app.Activity#startActionMode startActionMode()}:</p>
 
@@ -727,7 +727,7 @@
 
 <p>Если для <a href="#xml">определения меню используется XML</a>, вот каким образом можно показать всплывающее меню:</p>
 <ol>
-  <li>Создайте экземпляр класса {@link android.widget.PopupMenu} с помощью его конструктора, принимающий 
+  <li>Создайте экземпляр класса {@link android.widget.PopupMenu} с помощью его конструктора, принимающий
 текущие {@link android.content.Context} и {@link android.view.View} приложения, к которым
 должно быть привязано меню.</li>
   <li>С помощью {@link android.view.MenuInflater} загрузите свой ресурс меню в объект {@link
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -901,7 +901,7 @@
 (например {@link android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()}). Именно
 здесь необходимо задать состояние флажка, поскольку флажок или переключатель не
 изменяет свое состояние автоматически. Запросить текущее состояние пункта (в котором он находился до того, как был
-выбран пользователем) можно с помощью{@link android.view.MenuItem#isChecked()}, а затем задать помеченное состояние с помощью 
+выбран пользователем) можно с помощью{@link android.view.MenuItem#isChecked()}, а затем задать помеченное состояние с помощью
 {@link android.view.MenuItem#setChecked(boolean) setChecked()}. Например:</p>
 
 <pre>
@@ -1023,9 +1023,9 @@
 &lt;/intent-filter>
 </pre>
 
-<p>Подробные сведения о написании фильтров Intent см. в документе 
+<p>Подробные сведения о написании фильтров Intent см. в документе
 <a href="/guide/components/intents-filters.html">Объекты Intent и фильтры объектов Intent</a>.</p>
 
-<p>Образец приложения, в котором используется эта методика, см. в образце кода 
+<p>Образец приложения, в котором используется эта методика, см. в образце кода
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Note
 Pad</a>.</p>
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/ru/guide/topics/ui/notifiers/notifications.jd
index d072b77..c286431 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/notifiers/notifications.jd
@@ -92,7 +92,7 @@
 <p>Поскольку уведомления являются как важной составной частью пользовательского интерфейса Android, для них имеются собственные инструкции по проектированию.
 Появившиеся в Android 5.0 (уровень API 21) значительные изменения дизайна имеют особо важное
 значение, поэтому для получения более подробной информации вам следует ознакомиться с учебником по интерфейсу <a href="{@docRoot}training/material/index.html">Material Design</a>
-. Чтобы узнать, как проектировать уведомления и взаимодействие с ними, прочитайте руководство по проектированию 
+. Чтобы узнать, как проектировать уведомления и взаимодействие с ними, прочитайте руководство по проектированию
 <a href="{@docRoot}design/patterns/notifications.html">Уведомления</a>.</p>
 
 <h2 id="CreateNotification">Создание уведомления</h2>
@@ -294,7 +294,7 @@
         Обеспечьте доступ к этой функции операции {@link android.app.Activity} всех пользователей,
         сделав так, чтобы эта операция запускалась, когда пользователь нажимает уведомление. Для этого
         создайте объект {@link android.app.PendingIntent}
-        для операции {@link android.app.Activity}. Вызовите 
+        для операции {@link android.app.Activity}. Вызовите
         {@link android.support.v4.app.NotificationCompat.Builder#setContentIntent
         setContentIntent()}, чтобы добавить объект {@link android.app.PendingIntent} в уведомление.
     </li>
@@ -333,7 +333,7 @@
     вызова метода {@link android.app.NotificationManager#notify(int, android.app.Notification) NotificationManager.notify()}.
     Чтобы изменить это уведомление, после того как оно выдано,
     обновите или создайте объект {@link android.support.v4.app.NotificationCompat.Builder},
-    постройте на его основе объект {@link android.app.Notification} и выдайте 
+    постройте на его основе объект {@link android.app.Notification} и выдайте
     объект {@link android.app.Notification} с тем же идентификатором, который использовался ранее. Если
     предыдущее уведомление все еще отображается на экране, система обновит его с использованием содержимого
     объекта{@link android.app.Notification}. Если предыдущее уведомление было закрыто, то
@@ -451,14 +451,14 @@
                 Добавьте поддержку для версии Android 4.0.3 и более ранних версий. Для этого укажите родительский объект операции
                 {@link android.app.Activity}, которую запускаете, добавив элемент
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</a></code>
-                в качестве дочернего для элемента 
+                в качестве дочернего для элемента
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>.
                 <p>
                     Для этого элемента задайте
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#nm">android:name</a>="android.support.PARENT_ACTIVITY"</code>.
                     Задайте
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#val">android:value</a>="&lt;parent_activity_name&gt;"</code>,
-                    где <code>&lt;parent_activity_name&gt;</code> ― это значение 
+                    где <code>&lt;parent_activity_name&gt;</code> ― это значение
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#nm">android:name</a></code>
                     для родительского элемента
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
@@ -466,7 +466,7 @@
                 </p>
             </li>
             <li>
-                Также добавьте поддержку для версии Android 4.1 и более поздних версий. Для этого добавьте атрибут 
+                Также добавьте поддержку для версии Android 4.1 и более поздних версий. Для этого добавьте атрибут
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#parent">android:parentActivityName</a></code>
                 в элемент
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
@@ -513,7 +513,7 @@
                 запускает {@link android.app.Activity}. Этот метод также добавляет флаги, которые запускают
                 стек в новой задаче.
                 <p class="note">
-                    <strong>Примечание.</strong> Несмотря на то что аргумент 
+                    <strong>Примечание.</strong> Несмотря на то что аргумент
                     {@link android.support.v4.app.TaskStackBuilder#addParentStack addParentStack()}
                     является ссылкой на запускаемую операцию {@link android.app.Activity}, при вызове этого метода
                     не добавляется объект {@link android.content.Intent}, который запускает операцию
@@ -536,7 +536,7 @@
                 в нее с помощью действия <i>"Назад"</i>.
             </li>
             <li>
-                Получите объект {@link android.app.PendingIntent} для этого стека переходов назад путем вызова метода 
+                Получите объект {@link android.app.PendingIntent} для этого стека переходов назад путем вызова метода
                 {@link android.support.v4.app.TaskStackBuilder#getPendingIntent getPendingIntent()}.
                 Затем этот объект {@link android.app.PendingIntent} можно будет использовать в качестве аргумента для метода
                 {@link android.support.v4.app.NotificationCompat.Builder#setContentIntent
@@ -576,7 +576,7 @@
     Особой операции {@link android.app.Activity} не требуется стек перехода назад, поэтому не нужно
     определять иерархию объектов {@link android.app.Activity} в файле манифеста и
     вызывать
-    метод {@link android.support.v4.app.TaskStackBuilder#addParentStack  addParentStack()} для построения 
+    метод {@link android.support.v4.app.TaskStackBuilder#addParentStack  addParentStack()} для построения
     стека перехода назад. Вместо этого в файле манифеста задайте параметры задачи {@link android.app.Activity}
     и создайте объект {@link android.app.PendingIntent} путем вызова метода
     {@link android.app.PendingIntent#getActivity getActivity()}:
@@ -597,7 +597,7 @@
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">android:taskAffinity</a>=""</code>
             </dt>
             <dd>
-                В сочетании с 
+                В сочетании с
                 флагом {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_NEW_TASK},
                 который вы задали в коде, это гарантирует, что данная операция {@link android.app.Activity} не
                 перейдет в задачу приложения, используемую по умолчанию. Любые существующие задачи, имеющие
@@ -629,11 +629,11 @@
         Построение и выдача уведомления:
         <ol style="list-style-type: lower-alpha;">
             <li>
-                Создайте объект {@link android.content.Intent}, который запускает операцию 
+                Создайте объект {@link android.content.Intent}, который запускает операцию
                 {@link android.app.Activity}.
             </li>
             <li>
-                Настройте операцию {@link android.app.Activity}, запускаемую в новой пустой задаче, путем вызова метода 
+                Настройте операцию {@link android.app.Activity}, запускаемую в новой пустой задаче, путем вызова метода
                 {@link android.content.Intent#setFlags setFlags()} с флагами
                 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_NEW_TASK}
                 и
@@ -714,7 +714,7 @@
     {@link android.support.v4.app.NotificationCompat.Builder#setProgress
     setProgress(max, progress, false)}, а затем выдайте уведомление. По мере выполнения
     увеличивайте значение <code>progress</code> и обновляйте уведомление. По окончании операции
-    <code>progress</code> должен быть равен <code>max</code>. Стандартный способ вызова метода 
+    <code>progress</code> должен быть равен <code>max</code>. Стандартный способ вызова метода
     {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}
     заключается в следующем: задать значение <code>max</code> равным 100 с последующим увеличением <code>progress</code> в виде
     величины "процента выполнения" операции.
@@ -841,7 +841,7 @@
 <p>Примеры ситуаций, в которых могут быть вызваны уведомления heads-up:</p>
 
 <ul>
-  <li>операция пользователя выполняется в полноэкранном режиме (приложение использует 
+  <li>операция пользователя выполняется в полноэкранном режиме (приложение использует
 {@link android.app.Notification#fullScreenIntent}) или;</li>
   <li>уведомление имеет высокий приоритет и использует рингтоны или
     вибрацию.</li>
@@ -915,7 +915,7 @@
 </pre>
 
 <p class="note"><strong>Примечание.</strong> Прекращение использования класса {@link android.media.RemoteControlClient}
-имеет и другие последствия для управления мультимедиа. Подробные сведения о новых API-интерфейсах для управления сеансами воспроизведения мультимедиа см. в разделе 
+имеет и другие последствия для управления мультимедиа. Подробные сведения о новых API-интерфейсах для управления сеансами воспроизведения мультимедиа см. в разделе
 <a href="{@docRoot}about/versions/android-5.0.html#MediaPlaybackControl">Управление воспроизведением мультимедиа</a>
 .</p>
 
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/overview.jd b/docs/html-intl/intl/ru/guide/topics/ui/overview.jd
index 0e9628b..8bb953f 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>Полное руководство по созданию макета пользовательского интерфейса см. в документе <a href="declaring-layout.html">Макеты
 XML</a>.
 
-  
+
 <h2 id="UIComponents">Компоненты пользовательского интерфейса</h2>
 
 <p>Не обязательно создавать все элементы пользовательского интерфейса с помощью объектов {@link android.view.View} и {@link
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/settings.jd b/docs/html-intl/intl/ru/guide/topics/ui/settings.jd
index 4325439..9adfd62 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/settings.jd
@@ -82,7 +82,7 @@
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
 <p class="img-caption"><strong>Рисунок 1.</strong> Снимки экранов настроек приложения Android
-для обмена сообщениями. Выбор элемента, заданного посредством {@link android.preference.Preference}, 
+для обмена сообщениями. Выбор элемента, заданного посредством {@link android.preference.Preference},
 открывает интерфейс для изменения значения.</p>
 
 
@@ -143,7 +143,7 @@
 <p>Каждая настройка для вашего приложения представлена конкретным подклассом класса {@link
 android.preference.Preference}. Каждый подкласс содержит набор основных свойств, которые позволяют вам
 указывать, например, заголовок для настройки и ее значение по умолчанию. Каждый подкласс также содержит
-собственные специализированные свойства и пользовательский интерфейс. В качестве примера на рисунке 1 показан снимок экрана настроек 
+собственные специализированные свойства и пользовательский интерфейс. В качестве примера на рисунке 1 показан снимок экрана настроек
 приложения Android для обмена сообщениями. Каждый элемент списка на экране настроек возвращается отдельным объектом {@link
 android.preference.Preference}.</p>
 
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>Этот атрибут необходим для предпочтений, которые сохраняют значение данных. Он задает уникальный
 ключ (строку), который использует система при сохранении значения этой настройки в {@link
-android.content.SharedPreferences}. 
+android.content.SharedPreferences}.
   <p>Этот атрибут <em>не является обязательным</em> только когда предпочтение представляет собой
 {@link android.preference.PreferenceCategory} или {@link android.preference.PreferenceScreen}, либо
 предпочтение указывает намерение {@link android.content.Intent} для вызова (посредством элемента <a href="#Intents">{@code &lt;intent&gt;}</a>) или фрагмент {@link android.app.Fragment} для отображения (с помощью атрибута <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
@@ -271,7 +271,7 @@
 </ul>
 
 <p>Вы можете пользоваться одним или обоими из этих методов группировки для организации настроек в вашем приложении. Принимая
-решение об используемом варианте и о разделении настроек на группы, вы должны следовать инструкциям в разделе 
+решение об используемом варианте и о разделении настроек на группы, вы должны следовать инструкциям в разделе
 <a href="{@docRoot}design/patterns/settings.html">Настройки</a> руководства «Дизайн для Android».</p>
 
 
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -430,7 +430,7 @@
 
 <p>При разработке приложений для Android 3.0 (API уровня 11) и более поздних версий необходимо использовать {@link
 android.preference.PreferenceFragment} для отображения списка
-объектов {@link android.preference.Preference}. Вы можете добавить {@link android.preference.PreferenceFragment} в любую операцию, при этом 
+объектов {@link android.preference.Preference}. Вы можете добавить {@link android.preference.PreferenceFragment} в любую операцию, при этом
 необязательно использовать {@link android.preference.PreferenceActivity}.</p>
 
 <p><a href="{@docRoot}guide/components/fragments.html">Фрагменты</a> обеспечивают более
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -636,7 +636,7 @@
 <h3 id="DisplayHeaders">Отображение заголовков</h3>
 
 <p>Чтобы отобразить заголовки предпочтений, вы должны реализовать метод обратного вызова {@link
-android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} и вызвать 
+android.preference.PreferenceActivity#onBuildHeaders onBuildHeaders()} и вызвать
 {@link android.preference.PreferenceActivity#loadHeadersFromResource
 loadHeadersFromResource()}. Например:</p>
 
@@ -672,38 +672,38 @@
 для загрузки.</p>
 
 <p>В качестве примера приведен XML-файл для заголовков предпочтений, который используется в Android версии 3.0
-и более поздних версий ({@code res/xml/preference_headers.xml}):</p> 
+и более поздних версий ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
 &lt;/preference-headers>
 </pre>
 
-<p>А здесь представлен файл предпочтений, который содержит те же самые заголовки для версий старше 
+<p>А здесь представлен файл предпочтений, который содержит те же самые заголовки для версий старше
 Android 3.0 ({@code res/xml/preference_headers_legacy.xml}):</p>
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -992,7 +992,7 @@
 
 <p>Вы можете сохранить значение настройки в любой момент, вызвав один из методов {@code persist*()} класса {@link
 android.preference.Preference}, например, {@link
-android.preference.Preference#persistInt persistInt()}, если настройка имеет целое значение, или 
+android.preference.Preference#persistInt persistInt()}, если настройка имеет целое значение, или
 {@link android.preference.Preference#persistBoolean persistBoolean()} для сохранения логического значения.</p>
 
 <p class="note"><strong>Примечание.</strong> Каждое предпочтение {@link android.preference.Preference} может сохранять только один
@@ -1071,7 +1071,7 @@
 
 <h3 id="CustomDefault">Предоставление значения по умолчанию</h3>
 
-<p>Если экземпляр вашего класса {@link android.preference.Preference} указывает значение по умолчанию 
+<p>Если экземпляр вашего класса {@link android.preference.Preference} указывает значение по умолчанию
 (с помощью атрибута {@code android:defaultValue}),
 система вызывает {@link android.preference.Preference#onGetDefaultValue
 onGetDefaultValue()}, когда она создает экземпляр объекта для извлечения значения. Вы должны реализовать
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/ru/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/ru/guide/topics/ui/ui-events.jd
index cd2b481..9f3609b 100644
--- a/docs/html-intl/intl/ru/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/ru/guide/topics/ui/ui-events.jd
@@ -30,7 +30,7 @@
 которые называются <a href="#EventListeners">приемниками событий</a>, и служат перехватчиками действий пользователя с вашим пользовательским интерфейсом.</p>
 
 <p>Несмотря на то, что вы будете чаще использовать приемники событий для перехвата действий пользователя, может
-наступить момент, когда вам не захочется наследовать класс View, чтобы создать нестандартный компонент. 
+наступить момент, когда вам не захочется наследовать класс View, чтобы создать нестандартный компонент.
 Возможно, вы захотите наследовать класс {@link android.widget.Button},
 чтобы сделать нечто более необычное. В этом случае вы сможете определить поведение события по умолчанию для своего
 класса с помощью <a href="#EventHandlers">обработчиков событий</a> класса.</p>
@@ -46,27 +46,27 @@
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnClickListener}. 
+    <dd>Из объекта {@link android.view.View.OnClickListener}.
  Этот метод вызывается, когда пользователь касается элемента
  (в режиме касания), или переводит фокус на элемент с помощью клавиш перемещения или трекбола и
 нажимает соответствующую клавишу «ввода» или нажимает на трекбол.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnLongClickListener}. 
+    <dd>Из объекта {@link android.view.View.OnLongClickListener}.
  Этот метод вызывается, когда пользователь касается элемента и удерживает его (в режиме касания),
 или переводит фокус на элемент с помощью клавиш перемещения или трекбола и
 нажимает и удерживает соответствующую клавишу «ввода» или трекбол (в течение одной секунды).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnFocusChangeListener}. 
+    <dd>Из объекта {@link android.view.View.OnFocusChangeListener}.
  Этот метод вызывается, когда пользователь перемещается в элемент или из него с помощью клавиш перемещения или трекбола.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnKeyListener}. 
+    <dd>Из объекта {@link android.view.View.OnKeyListener}.
  Этот метод вызывается, когда пользователь переносит фокус на элемент и нажимает или отпускает аппаратную клавишу на устройстве.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnTouchListener}. 
+    <dd>Из объекта {@link android.view.View.OnTouchListener}.
  Этот метод вызывается, когда пользователь выполняет действие, считающееся событием касания, например, нажимает, отпускает
 или выполняет любой жест на экране (в пределах границ элемента).</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>Из объекта {@link android.view.View.OnCreateContextMenuListener}. 
+    <dd>Из объекта {@link android.view.View.OnCreateContextMenuListener}.
 Этот метод вызывается, когда создается контекстное меню (в результате длительного «длительного нажатия»). См. обсуждение
 контекстных меню в руководстве
 для разработчиков <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Меню</a>.</dd>
@@ -75,8 +75,8 @@
 <p>Эти методы являются единственными составными частями соответствующих интерфейсов. Чтобы определить один из этих методов
 и обрабатывать события, реализуйте вложенный интерфейс в вашем процесс или определите его, как анонимный класс.
 Затем передайте экземпляр реализации
-в соответствующий метод <code>View.set...Listener()</code>. (Например, вызовите 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code> 
+в соответствующий метод <code>View.set...Listener()</code>. (Например, вызовите
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
 и передайте ему свою реализацию {@link android.view.View.OnClickListener OnClickListener}.)</p>
 
 <p>В следующем примере показано, как зарегистрировать приемник события «по клику» (on-click) для кнопки. </p>
@@ -122,7 +122,7 @@
 зависит от события. Для некоторых методов, которые возвращают значения, причина описана ниже:</p>
 <ul>
   <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> —
-этот метод возвращает логическое значение, указывающее, что вы обработали это событие и его более не следует хранить. 
+этот метод возвращает логическое значение, указывающее, что вы обработали это событие и его более не следует хранить.
 А именно, верните значение <em>true</em>, чтобы указать, что вы обработали событие и его следует остановить;
 верните значение <em>false</em>, если вы не обработали его и/или событие должно продолжаться для любых других
 приемников события on-click.</li>
@@ -181,14 +181,14 @@
 макета, учитывайте и другие методы:</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> — этот метод позволяет вашей операции {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> — этот метод позволяет вашей операции {@link
     android.app.Activity} перехватывать все события касаний перед их отправкой в окно.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> — этот метод позволяет объекту {@link
     android.view.ViewGroup} просматривать события перед их отправкой в дочерние отображаемые объекты.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> — вызовите этот метод
-в родительском отображаемом объекте, чтобы указать ему, что он не должен перехватывать события касания с помощью <code>{@link 
+в родительском отображаемом объекте, чтобы указать ему, что он не должен перехватывать события касания с помощью <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>.</li>
 </ul>
 
@@ -199,7 +199,7 @@
 какой элемент будет принимать ввод.  Однако, если устройство поддерживает сенсорный ввод, и пользователь
 начинает взаимодействовать с интерфейсом, прикасаясь к его элементам, исчезает необходимость
 выделять элементы или передавать фокус определенному отображаемому объекту.  Следовательно, существует режим
-взаимодействия, который называется «режимом касания». 
+взаимодействия, который называется «режимом касания».
 </p>
 <p>
 Как только пользователь касается экрана, устройство, поддерживающее сенсорный ввод,
@@ -214,7 +214,7 @@
 с пользовательским интерфейсом без касания экрана.
 </p>
 <p>
-Состояние режима касания поддерживается во всей системе (для всех окон и операций). 
+Состояние режима касания поддерживается во всей системе (для всех окон и операций).
 Чтобы узнать текущее состояние, можно вызвать
 {@link android.view.View#isInTouchMode} и посмотреть, находится ли устройство в режиме касания.
 </p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/ru/preview/api-overview.jd b/docs/html-intl/intl/ru/preview/api-overview.jd
index d4e6042..887ea63 100644
--- a/docs/html-intl/intl/ru/preview/api-overview.jd
+++ b/docs/html-intl/intl/ru/preview/api-overview.jd
@@ -456,7 +456,7 @@
 <h2 id="android_for_work">Android for Work</h2>
 
 <p>В Android for Work добавлены много новых возможностей и API-интерфейсов для устройств под управлением Android N.
-Некоторые из них приведены ниже. Полный список обновлений Android for Work, касающихся 
+Некоторые из них приведены ниже. Полный список обновлений Android for Work, касающихся
 Android N, содержится в списке изменений Android for Work.</p>
 
 <h3 id="work_profile_security_challenge">Пароль безопасности для рабочего профиля </h3>
diff --git a/docs/html-intl/intl/ru/preview/features/direct-boot.jd b/docs/html-intl/intl/ru/preview/features/direct-boot.jd
index b49624b..3392c13 100644
--- a/docs/html-intl/intl/ru/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/ru/preview/features/direct-boot.jd
@@ -103,7 +103,7 @@
 <p>Шифрованное хранилище устройства следует использовать только для
 информации, которая должна быть доступна в режиме Direct Boot.
 Шифрованное хранилище устройства не следует использовать в качестве шифрованного хранилища общего назначения.
-Для хранения данных пользователя или шифрованных данных, которые не требуются в режиме 
+Для хранения данных пользователя или шифрованных данных, которые не требуются в режиме
 Direct Boot, следует использовать шифрованное хранилище, требующее ввода учетных данных.</p>
 
 <h2 id="notification">Уведомление о разблокировке пользователем</h2>
@@ -148,7 +148,7 @@
 Direct Boot на поддерживаемых устройствах с Android N, выполните одну из следующих последовательностей действий.</p>
 
 <ul>
-<li>Включите на устройстве параметры разработчика <b>Developer options</b>, если вы еще не сделали этого ранее. Для этого 
+<li>Включите на устройстве параметры разработчика <b>Developer options</b>, если вы еще не сделали этого ранее. Для этого
 перейдите на экран <b>Settings &gt; About phone</b> и нажмите семь раз <b>Build number</b>.
  Когда параметры разработчика станут доступны, откройте раздел
 <b>Settings &gt; Developer options</b> и выберите
diff --git a/docs/html-intl/intl/ru/preview/features/multi-window.jd b/docs/html-intl/intl/ru/preview/features/multi-window.jd
index f1a8ea6..b45766c 100644
--- a/docs/html-intl/intl/ru/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/ru/preview/features/multi-window.jd
@@ -356,7 +356,7 @@
 <p>
   Чтобы перевести операцию в режим "картинка в картинке",
  вызовите новый метод <code>Activity.enterPictureInPicture()</code>. Этот метод игнорируется, если
- устройство не поддерживает режим "картинка в картинке". Дополнительная информация содержится в документации 
+ устройство не поддерживает режим "картинка в картинке". Дополнительная информация содержится в документации
  <a href="picture-in-picture.html">Режим "картинка в картинке"</a>.
 </p>
 
diff --git a/docs/html-intl/intl/ru/preview/features/multilingual-support.jd b/docs/html-intl/intl/ru/preview/features/multilingual-support.jd
index 83dd2b4..83e9968 100644
--- a/docs/html-intl/intl/ru/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/ru/preview/features/multilingual-support.jd
@@ -208,7 +208,7 @@
 конечных пользователей.  Поэтому при разработке приложений для Android N
 следует использовать средства форматирования, а не жесткое кодирование строк с числами и датами.</p>
 
-<p>В качестве наглядного примера можно привести арабский язык, поддержка которого в Android N расширена 
+<p>В качестве наглядного примера можно привести арабский язык, поддержка которого в Android N расширена
 с одного {@code ar_EG} до 27 языковых стандартов. Большинство ресурсов этих языковых стандартов общие, но
 в некоторых из них используются цифры формата ASCII, а в других — собственные цифры. Например,
 если вы хотите создать предложение с числовой переменной
diff --git a/docs/html-intl/intl/ru/preview/features/notification-updates.jd b/docs/html-intl/intl/ru/preview/features/notification-updates.jd
index 9c7cb93..54b3bc3 100644
--- a/docs/html-intl/intl/ru/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/ru/preview/features/notification-updates.jd
@@ -203,7 +203,7 @@
 
 </p>
 
-<p>Добавление уведомлений в группу описано в разделе 
+<p>Добавление уведомлений в группу описано в разделе
 <a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Добавление
 каждого уведомления в группу</a>.</p>
 
diff --git a/docs/html-intl/intl/ru/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/ru/preview/features/scoped-folder-access.jd
index a39230c2..51a4c4d 100644
--- a/docs/html-intl/intl/ru/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/ru/preview/features/scoped-folder-access.jd
@@ -113,7 +113,7 @@
 <h2 id="best">Советы и рекомендации</h2>
 
 <p>По возможности оставляйте постоянный URI для доступа к внешнему каталогу, чтобы приложению не
-приходилось многократно запрашивать у пользователя разрешение на доступ. После предоставления доступа пользователем вызовите метод 
+приходилось многократно запрашивать у пользователя разрешение на доступ. После предоставления доступа пользователем вызовите метод
 <code>getContentResolver().takePersistableUriPermssion()</code> для
 URI доступа к каталогу. Система сохранит постоянный URI и при последующих запросах
 доступа будет возвращать ответ <code>RESULT_OK</code>. Таким образом, приложение не будет постоянно выводить
diff --git a/docs/html-intl/intl/ru/preview/features/security-config.jd b/docs/html-intl/intl/ru/preview/features/security-config.jd
index de117d6..5294a4f 100644
--- a/docs/html-intl/intl/ru/preview/features/security-config.jd
+++ b/docs/html-intl/intl/ru/preview/features/security-config.jd
@@ -133,7 +133,7 @@
 </p>
 
 <p>
-  Добавьте самозаверенный сертификат или сертификат закрытого ЦС в формате PEM или DER в 
+  Добавьте самозаверенный сертификат или сертификат закрытого ЦС в формате PEM или DER в
  {@code res/raw/my_ca}.
 </p>
 
@@ -209,7 +209,7 @@
   При отладке приложения, которое использует для подключения протокол HTTPS, вам может потребоваться
  подключение к локальному серверу разработки, у которого нет сертификата SSL
  для рабочего сервера. Чтобы выполнить отладку без изменения кода
- приложения, вы можете указать ЦС для отладки, 
+ приложения, вы можете указать ЦС для отладки,
  которые входят в число доверенных, <i>только</i> если для параметра <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
 android:debuggable</a>
  установлено значение {@code true} с использованием {@code debug-overrides}. Обычно среды разработки и инструменты
diff --git a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/index.jd
index b8de11ec..29f1730 100644
--- a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/index.jd
@@ -34,12 +34,12 @@
 </div>
 </div>
 
-<p>Во время навигации пользователя по вашему приложению экземпляры 
+<p>Во время навигации пользователя по вашему приложению экземпляры
 {@link android.app.Activity} внутри приложения переключаются между разными состояниями их
 жизненного цикла Например, при первом запуске
 операции она получает высокий приоритет в системе и привлекает внимание
 пользователя. Во время этого процесса система Android вызывает серию методов жизненного цикла
-операции, позволяя настроить пользовательский интерфейс и другие компоненты. Если пользователь выполняет 
+операции, позволяя настроить пользовательский интерфейс и другие компоненты. Если пользователь выполняет
 действие, запускающее другую операцию, или переключается на другое приложение, система вызывает другой набор
 методов жизненного цикла для операции, поскольку она переносится на фоновый уровень (операция больше не
 отображается, но экземпляр и состояние остаются без изменений).</p>
@@ -50,12 +50,12 @@
 а сетевое соединение разрывалось. После возврата пользователя проигрыватель может снова подключиться к сети, и пользователь сможет возобновить воспроизведение
 видео с того же самого места.</p>
 
-<p>В этом учебном курсе разъясняются важные методы обратного вызова жизненного цикла, которые получает каждый экземпляр {@link 
+<p>В этом учебном курсе разъясняются важные методы обратного вызова жизненного цикла, которые получает каждый экземпляр {@link
 android.app.Activity}, и описывается как их использовать, чтобы операция выполнялась так, как этого ожидает
 пользователь, и не потребляла системные ресурсы, когда они ей не нужны.</p>
 
 <h2>Уроки</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">Запуск операции</a></b></dt>
   <dd>Из этого урока вы узнаете об основах жизненного цикла операций, способах запуска вашего приложения пользователями и вариантах
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">Повторное создание операции</a></b></dt>
   <dd>Вы узнаете, что происходит при полном прекращении операции, и как можно восстановить ее состояние
 в случае необходимости.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/pausing.jd
index c483780..8d1ce92 100644
--- a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Содержание этого урока</h2>
     <ol>
       <li><a href="#Pause">Приостановка операции</a></li>
       <li><a href="#Resume">Возобновление операции</a></li>
     </ol>
-    
+
     <h2>См. также:</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Операции</a>
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">Приостановка операции</h2>
-      
+
 <p>Когда система вызывает {@link android.app.Activity#onPause()} для операции, это
 технически означает, что операция остается частично видимой. Однако чаще всего это означает, что
 пользователь покидает операцию, и вскоре она войдет в состояние остановки.  Обратный вызов
diff --git a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/recreating.jd
index acb89fa..c36ccf4 100644
--- a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Содержание этого урока</h2>
     <ol>
       <li><a href="#SaveState">Сохранение состояния операции</a></li>
       <li><a href="#RestoreState">Восстановление состояния операции</a></li>
     </ol>
-    
+
     <h2>См. также:</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">Поддержка
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 после метода {@link android.app.Activity#onStart()}. Система вызывает {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} только при наличии сохраненного состояния
 для восстановления, и поэтому вам не нужно проверять, имеет ли {@link android.os.Bundle} значение null:</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/starting.jd
index ef8be5b..19f7134 100644
--- a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Содержание этого урока</h2>
 <ol>
   <li><a href="#lifecycle-states">Изучение обратных вызовов жизненного цикла</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">Создание нового экземпляра</a></li>
   <li><a href="#Destroy">Уничтожение операции</a></li>
 </ol>
-    
+
     <h2>См. также:</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Операции</a></li>
@@ -34,7 +34,7 @@
 </div>
 
 <p>В отличие от других парадигм программирования, где приложения запускаются с использованием метода {@code main()}, система
-Android запускает код в {@link android.app.Activity}экземпляре посредством активации определенных 
+Android запускает код в {@link android.app.Activity}экземпляре посредством активации определенных
 методов обратного вызова, соответствующих определенным этапам его
 жизненного цикла. Существует последовательность методов обратного вызова, которые запускают операцию и последовательность
 методов обратного вызова, уничтожающих операцию.</p>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">Указание операции, запускающей приложение</h2> 
+<h2 id="launching-activity">Указание операции, запускающей приложение</h2>
 
 <p>Когда пользователь выбирает значок приложения на главном экране, система вызывает метод {@link
 android.app.Activity#onCreate onCreate()} для {@link android.app.Activity} в вашем приложении
@@ -151,7 +151,7 @@
 <p>Основная операция приложения должна декларироваться в манифесте с помощью фильтра <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a>, включающего действие {@link
 android.content.Intent#ACTION_MAIN MAIN} и категорию
-{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER}. Например:</p> 
+{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER}. Например:</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -221,7 +221,7 @@
 <p>После завершения выполнения {@link android.app.Activity#onCreate onCreate()} система
 быстро вызывает методы {@link android.app.Activity#onStart()} и {@link android.app.Activity#onResume()} по
 очереди. Операция никогда не остается в состоянии создания или запуска. Технически
-операция становится видимой для пользователя при вызове {@link android.app.Activity#onStart()}, однако затем сразу же происходит 
+операция становится видимой для пользователя при вызове {@link android.app.Activity#onStart()}, однако затем сразу же происходит
 {@link android.app.Activity#onResume()} и операция остается в состоянии возобновления,
 пока что-то не произойдет, например пока не поступит телефонный звонок, пользователь не переключится
 на другую операцию или экран устройства не выключится.</p>
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/stopping.jd
index 27c771f..f78e4ef 100644
--- a/docs/html-intl/intl/ru/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/ru/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>Содержание этого урока</h2>
     <ol>
       <li><a href="#Stop">Остановка операции</a></li>
       <li><a href="#Start">Запуск/перезапуск операции</a></li>
     </ol>
-    
+
     <h2>См. также:</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Операции</a>
@@ -118,7 +118,7 @@
 <p class="note"><strong>Примечание.</strong> Даже если система уничтожит операцию в период остановки,
 она сохранит состояние объектов {@link android.view.View} (например, текста в {@link
 android.widget.EditText}) в {@link android.os.Bundle} (наборе пар "ключ-значение") и восстановит
-их, если пользователь вернется в тот же экземпляр операции (на <a href="recreating.html">следующем уроке</a> мы более подробно поговорим об использовании {@link android.os.Bundle} для сохранения 
+их, если пользователь вернется в тот же экземпляр операции (на <a href="recreating.html">следующем уроке</a> мы более подробно поговорим об использовании {@link android.os.Bundle} для сохранения
 других данных состояния в случае уничтожения и воссоздания вашей операции).</p>
 
 
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html-intl/intl/ru/training/basics/data-storage/databases.jd b/docs/html-intl/intl/ru/training/basics/data-storage/databases.jd
index 418d288..bd1a4b7 100644
--- a/docs/html-intl/intl/ru/training/basics/data-storage/databases.jd
+++ b/docs/html-intl/intl/ru/training/basics/data-storage/databases.jd
@@ -118,11 +118,11 @@
 по умолчанию недоступна другим приложениям.</p>
 
 <p>Полезный набор API-интерфейсов содержится в классе {@link
-android.database.sqlite.SQLiteOpenHelper}. 
+android.database.sqlite.SQLiteOpenHelper}.
 Если вы используете этот класс для получения ссылок на свою базу данных, система
 выполняет потенциально
 долговременные операции создания и обновления базы данных только тогда, когда это
-необходимо, а <em>не при запуске приложения</em>. Для этого нужно использовать вызов 
+необходимо, а <em>не при запуске приложения</em>. Для этого нужно использовать вызов
 {@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} или
 {@link android.database.sqlite.SQLiteOpenHelper#getReadableDatabase}.</p>
 
@@ -245,7 +245,7 @@
     );
 </pre>
 
-<p>Чтобы посмотреть на строку в месте курсора, используйте один из методов перемещения 
+<p>Чтобы посмотреть на строку в месте курсора, используйте один из методов перемещения
 {@link android.database.Cursor}, которые всегда нужно вызывать перед считыванием значений. Обычно следует начинать
 с вызова {@link android.database.Cursor#moveToFirst}, который помещает "позицию чтения"
 на первую запись в результатах. Для каждой строки значение столбца можно прочитать, вызвав один из методов
diff --git a/docs/html-intl/intl/ru/training/basics/data-storage/shared-preferences.jd b/docs/html-intl/intl/ru/training/basics/data-storage/shared-preferences.jd
index 61a0037..9a52e3e 100644
--- a/docs/html-intl/intl/ru/training/basics/data-storage/shared-preferences.jd
+++ b/docs/html-intl/intl/ru/training/basics/data-storage/shared-preferences.jd
@@ -79,7 +79,7 @@
 SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
 </pre>
 
-<p class="caution"><strong>Внимание!</strong> Если вы создадите общий файл настроек 
+<p class="caution"><strong>Внимание!</strong> Если вы создадите общий файл настроек
 с {@link android.content.Context#MODE_WORLD_READABLE} или {@link
 android.content.Context#MODE_WORLD_WRITEABLE}, ваши данные будут доступны всем другим приложениям, которым известен идентификатор
 файла.</p>
diff --git a/docs/html-intl/intl/ru/training/basics/intents/result.jd b/docs/html-intl/intl/ru/training/basics/intents/result.jd
index 8ab03d4..c413725 100644
--- a/docs/html-intl/intl/ru/training/basics/intents/result.jd
+++ b/docs/html-intl/intl/ru/training/basics/intents/result.jd
@@ -37,7 +37,7 @@
 результат отправляется как другой объект {@link android.content.Intent}. Ваша операция получает
 его в обратном вызове {@link android.app.Activity#onActivityResult onActivityResult()}.</p>
 
-<p class="note"><strong>Примечание.</strong> Вы можете использовать явные и неявные результаты при вызове 
+<p class="note"><strong>Примечание.</strong> Вы можете использовать явные и неявные результаты при вызове
 {@link android.app.Activity#startActivityForResult startActivityForResult()}. При запуске собственной
 операции для получения результата вы должны использовать явные результаты, чтобы получить
 именно ожидаемый результат.</p>
@@ -104,7 +104,7 @@
 Android Контакты или Люди, предоставляют контент {@link android.net.Uri}, который идентифицирует
 выбранный пользователем контакт.</p>
 
-<p>Для успешной обработки результатов необходимо понимать, каким будет формат этих результатов 
+<p>Для успешной обработки результатов необходимо понимать, каким будет формат этих результатов
 {@link android.content.Intent}. Это просто, если результат возвращается одной из ваших
 собственных операций. Приложения, входящие в состав платформы Android, имеют собственные прикладные интерфейсы, так что
 вы можете рассчитывать на получение определенных результатов. Например, приложение "Люди" (приложение "Контакты" в старых
diff --git a/docs/html-intl/intl/ru/training/material/animations.jd b/docs/html-intl/intl/ru/training/material/animations.jd
index 9808a9f..ab59ea5 100644
--- a/docs/html-intl/intl/ru/training/material/animations.jd
+++ b/docs/html-intl/intl/ru/training/material/animations.jd
@@ -173,7 +173,7 @@
 </ul>
 
 <p>Любой переход, являющийся наследованием класса {@link android.transition.Visibility}, поддерживается как начальный или конечный переход.
- Дополнительные сведения представлены в справке по API для класса 
+ Дополнительные сведения представлены в справке по API для класса
 {@link android.transition.Transition}.</p>
 
 <p>В Android 5.0 (уровень API 21) также поддерживаются следующие переходы общих элементов:</p>
@@ -230,7 +230,7 @@
 {@link android.transition.ChangeImageTransform}. Дополнительные сведения представлены в справке по API для {@link android.transition.Transition}.
 </p>
 
-<p>Чтобы активировать в своем коде переходы содержимого окна, вызовите метод 
+<p>Чтобы активировать в своем коде переходы содержимого окна, вызовите метод
 {@link android.view.Window#requestFeature Window.requestFeature()}:</p>
 
 <pre>
@@ -263,7 +263,7 @@
  В противном случае вызывающая операция запустит конечный переход, однако будет выполнен переход окна (например, масштабирование или затемнение).
 </p>
 
-<p>Чтобы запустить начальный переход как можно раньше, используйте в вызываемой операции метод 
+<p>Чтобы запустить начальный переход как можно раньше, используйте в вызываемой операции метод
 {@link android.view.Window#setAllowEnterTransitionOverlap Window.setAllowEnterTransitionOverlap()}
 . Это позволит сделать начальные переходы более эффектными.</p>
 
@@ -289,7 +289,7 @@
 <li>Активируйте в своей теме переходы содержимого окна.</li>
 <li>В определении стиля укажите переходы общих элементов.</li>
 <li>Определите свой переход как XML-ресурс.</li>
-<li>Присвойте одинаковое имя общим элементам в обоих макетах, используя для этого атрибут 
+<li>Присвойте одинаковое имя общим элементам в обоих макетах, используя для этого атрибут
 <code>android:transitionName</code>.</li>
 <li>Воспользуйтесь методом {@link android.app.ActivityOptions#makeSceneTransitionAnimation
 ActivityOptions.makeSceneTransitionAnimation()}.</li>
@@ -321,7 +321,7 @@
 {@link android.view.View#setTransitionName View.setTransitionName()} для определения одинакового имени элемента в обеих операциях.
 </p>
 
-<p>Чтобы выполнить анимацию обратного перехода по завершении второй операции, вызовите метод 
+<p>Чтобы выполнить анимацию обратного перехода по завершении второй операции, вызовите метод
 {@link android.app.Activity#finishAfterTransition Activity.finishAfterTransition()}
  вместо{@link android.app.Activity#finish Activity.finish()}.</p>
 
@@ -414,15 +414,15 @@
 &lt;/selector>
 </pre>
 
-<p>Чтобы присоединить к представлению настраиваемые анимации состояния представления, определите аниматор, используя элемент 
+<p>Чтобы присоединить к представлению настраиваемые анимации состояния представления, определите аниматор, используя элемент
 <code>selector</code> в файле XML-ресурса (как в этом примере), а затем назначьте его своему представлению
 с помощью атрибута <code>android:stateListAnimator</code>. Чтобы в своем коде назначить представлению аниматор
  списка состояний, используйте метод {@link android.animation.AnimatorInflater#loadStateListAnimator
-AnimationInflater.loadStateListAnimator()}, а затем назначьте аниматор своему представлению с помощью метода 
+AnimationInflater.loadStateListAnimator()}, а затем назначьте аниматор своему представлению с помощью метода
 {@link android.view.View#setStateListAnimator View.setStateListAnimator()}.</p>
 
 <p>Если ваша тема является расширением темы Material Design, по умолчанию у кнопок имеется возможность анимации по оси Z. Чтобы отключить
-такое поведение кнопок, задайте для атрибута <code>android:stateListAnimator</code> значение 
+такое поведение кнопок, задайте для атрибута <code>android:stateListAnimator</code> значение
 <code>@null</code>.</p>
 
 <p>С помощью класса {@link android.graphics.drawable.AnimatedStateListDrawable} можно создавать элементы, которые служат для отображения анимации между изменениями состояния связанного представления.
diff --git a/docs/html-intl/intl/ru/training/material/drawables.jd b/docs/html-intl/intl/ru/training/material/drawables.jd
index 2554f07..c1924e3 100644
--- a/docs/html-intl/intl/ru/training/material/drawables.jd
+++ b/docs/html-intl/intl/ru/training/material/drawables.jd
@@ -38,7 +38,7 @@
 
 <p>Тонирование можно применить к объектам {@link android.graphics.drawable.BitmapDrawable} и {@link
 android.graphics.drawable.NinePatchDrawable} с помощью метода {@code setTint()}. Также можно
-задать цвет и способ тонирования в макетах, используя для этого атрибуты <code>android:tint</code> и 
+задать цвет и способ тонирования в макетах, используя для этого атрибуты <code>android:tint</code> и
 <code>android:tintMode</code>.</p>
 
 
diff --git a/docs/html-intl/intl/ru/training/material/get-started.jd b/docs/html-intl/intl/ru/training/material/get-started.jd
index 476de7f..6a0340d 100644
--- a/docs/html-intl/intl/ru/training/material/get-started.jd
+++ b/docs/html-intl/intl/ru/training/material/get-started.jd
@@ -59,7 +59,7 @@
 
 <h2 id="ApplyTheme">Применение темы Material Design</h2>
 
-<p>Чтобы применить тему Material Design в своем приложении, укажите стиль, который наследует от 
+<p>Чтобы применить тему Material Design в своем приложении, укажите стиль, который наследует от
 <code>android:Theme.Material</code>:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/ru/training/material/index.jd b/docs/html-intl/intl/ru/training/material/index.jd
index 0b3f1c4..e609557 100644
--- a/docs/html-intl/intl/ru/training/material/index.jd
+++ b/docs/html-intl/intl/ru/training/material/index.jd
@@ -1,7 +1,7 @@
-page.title=Создание приложений с помощью Material Design 
-page.type=проектирование 
+page.title=Создание приложений с помощью Material Design
+page.type=проектирование
 page.image=images/cards/material_2x.png
-page.metaDescription=Научитесь применять Material Design к своим приложениям. 
+page.metaDescription=Научитесь применять Material Design к своим приложениям.
 
 
 @jd:body
diff --git a/docs/html-intl/intl/ru/training/material/lists-cards.jd b/docs/html-intl/intl/ru/training/material/lists-cards.jd
index 44ff160..fa0db14 100644
--- a/docs/html-intl/intl/ru/training/material/lists-cards.jd
+++ b/docs/html-intl/intl/ru/training/material/lists-cards.jd
@@ -90,7 +90,7 @@
 
 <h3 id="RVExamples">Примеры</h3>
 
-<p>В следующем примере демонстрируется, как включить в макет виджет 
+<p>В следующем примере демонстрируется, как включить в макет виджет
 {@link android.support.v7.widget.RecyclerView}:</p>
 
 <pre>
@@ -253,7 +253,7 @@
 
 <p> Виджеты {@link android.support.v7.widget.RecyclerView} и {@link android.support.v7.widget.CardView}
 входят во <a href="{@docRoot}tools/support-library/features.html#v7">вспомогательные
-библиотеки v7</a>. Чтобы использовать эти виджеты в своем проекте, добавьте в модуль приложения следующие 
+библиотеки v7</a>. Чтобы использовать эти виджеты в своем проекте, добавьте в модуль приложения следующие
 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">зависимости Gradle</a>:
 </p>
 
diff --git a/docs/html-intl/intl/ru/training/material/shadows-clipping.jd b/docs/html-intl/intl/ru/training/material/shadows-clipping.jd
index a1c41fc..293b525 100644
--- a/docs/html-intl/intl/ru/training/material/shadows-clipping.jd
+++ b/docs/html-intl/intl/ru/training/material/shadows-clipping.jd
@@ -31,7 +31,7 @@
 <p>Установка высоты также полезна для создания анимации, когда виджеты временно поднимаются выше плоскости представления при выполнении какого-либо действия.
 </p>
 
-<p>Дополнительные сведения об установке высоты в Material Design представлены на странице 
+<p>Дополнительные сведения об установке высоты в Material Design представлены на странице
 <a href="http://www.google.com/design/spec/what-is-material/objects-in-3d-space.html">Объекты в трехмерном пространстве</a>.
 </p>
 
@@ -59,13 +59,13 @@
 
 <p>Новые методы {@link android.view.ViewPropertyAnimator#z ViewPropertyAnimator.z()} и {@link
 android.view.ViewPropertyAnimator#translationZ ViewPropertyAnimator.translationZ()} позволяют с легкостью анимировать изменение высоты представлений.
- Дополнительные сведения см. в справке по API для 
+ Дополнительные сведения см. в справке по API для
 {@link android.view.ViewPropertyAnimator}, а также в руководстве по <a href="{@docRoot}guide/topics/graphics/prop-animation.html">анимации свойств</a> для разработчиков.
 </p>
 
 <p>Также можно использовать класс {@link android.animation.StateListAnimator} для декларирования этих анимаций.
  Это особенно полезно в тех случаях, когда анимация запускается при изменении состояния, например, когда пользователь нажимает на кнопку.
- Дополнительные сведения см. в разделе 
+ Дополнительные сведения см. в разделе
 <a href="{@docRoot}training/material/animations.html#ViewState">Анимация изменений состояния представления</a>.</p>
 
 <p>Значения Z измеряются в dp (пиксели, не зависящие от плотности).</p>
@@ -110,7 +110,7 @@
 android.view.View#setOutlineProvider View.setOutlineProvider()}.</li>
 </ol>
 
-<p>Можно создавать овальные и прямоугольные контуры со скругленными углами, используя для этого методы класса 
+<p>Можно создавать овальные и прямоугольные контуры со скругленными углами, используя для этого методы класса
 {@link android.graphics.Outline}. Стандартный источник контуров получает контуры из фона представления.
  Чтобы представление не отбрасывало тень, задайте для источника контуров значение <code>null</code>.
 </p>
diff --git a/docs/html-intl/intl/ru/training/material/theme.jd b/docs/html-intl/intl/ru/training/material/theme.jd
index 320f308..62c310f 100644
--- a/docs/html-intl/intl/ru/training/material/theme.jd
+++ b/docs/html-intl/intl/ru/training/material/theme.jd
@@ -42,7 +42,7 @@
   <li><code>@android:style/Theme.Material.Light.DarkActionBar</code>.</li>
 </ul>
 
-<p>Список доступных стилей Material Design см. в справке по API для 
+<p>Список доступных стилей Material Design см. в справке по API для
 {@link android.R.style R.style}.</p>
 
 <!-- two columns, dark/light material theme example -->
@@ -66,7 +66,7 @@
 <strong>Примечание.</strong> Темы Material Design доступны только в ОС Android 5.0 (уровень API 21) и более поздних версий.
  Во <a href="{@docRoot}tools/support-library/features.html#v7">вспомогательных библиотеках v7</a>
  представлены темы со стилями Material Design для некоторых виджетов. Эти библиотеки также обеспечивают поддержку настройки цветовой палитры.
- Дополнительные сведения см. на странице 
+ Дополнительные сведения см. на странице
 <a href="{@docRoot}training/material/compatibility.html">Обеспечение совместимости</a>.
 </p>
 
@@ -108,7 +108,7 @@
 
 <p>Кроме того, можно самостоятельно разместить элемент за строкой состояния. Например, если требуется наложить прозрачную строку состояния поверх фотографии, применив еле уловимый темный градиент, чтобы были видны белые значки состояния.
 
- Для этого задайте для атрибута <code>android:statusBarColor</code> значение 
+ Для этого задайте для атрибута <code>android:statusBarColor</code> значение
 <code>&#64;android:color/transparent</code> и настройте флаги окна требуемым образом. Также можно воспользоваться
 методом {@link android.view.Window#setStatusBarColor Window.setStatusBarColor()} для применения анимации или эффекта постепенного исчезания.
 </p>
diff --git a/docs/html-intl/intl/ru/training/monitoring-device-state/battery-monitoring.jd b/docs/html-intl/intl/ru/training/monitoring-device-state/battery-monitoring.jd
index 26daf04..a8e5843 100644
--- a/docs/html-intl/intl/ru/training/monitoring-device-state/battery-monitoring.jd
+++ b/docs/html-intl/intl/ru/training/monitoring-device-state/battery-monitoring.jd
@@ -7,8 +7,8 @@
 next.link=docking-monitoring.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>Содержание урока</h2>
@@ -24,9 +24,9 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Намерения и фильтры намерений</a>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 <p>Если вы хотите изменить частоту фоновых обновлений, чтобы продлить время работы устройства от батареи, сначала рекомендуется проверить текущий уровень заряда и состояние зарядки.</p>
 
 <p>Именно от этих двух факторов зависит, как обновления повлияют на время работы устройства от батареи. Когда устройство подключено к сети переменного тока, приложение можно обновлять максимально часто, поскольку процесс обновления не будет сказываться на уровне заряда батареи. Если устройство не подключено к сети, следует воздержаться от обновлений, чтобы продлить время его работы от батареи.</p>
@@ -34,8 +34,8 @@
 <p>Если заряд батареи практически исчерпан, можно снизить частоту обновлений (вплоть до их полного прекращения).</p>
 
 
-<h2 id="DetermineChargeState">Определение текущего состояния зарядки</h2> 
- 
+<h2 id="DetermineChargeState">Определение текущего состояния зарядки</h2>
+
 <p>Начните с определения текущего состояния зарядки. {@link android.os.BatteryManager} передает все сведения о батарее и зарядке в закрепленном намерении {@link android.content.Intent}, которое содержит также информацию о состоянии зарядки.</p>
 
 <p>Поскольку это намерение является закрепленным, регистрировать {@link android.content.BroadcastReceiver} не нужно. Чтобы получить текущее состояние батареи в виде намерения, нужно вызвать {@code registerReceiver}, передав {@code null} в качестве приемника, как показано в коде ниже. Можно также передать фактический объект {@link android.content.BroadcastReceiver}, но это необязательно, поскольку обработка обновлений будет выполняться позднее.</p>
@@ -58,7 +58,7 @@
 <p>Как правило, если устройство подключено к сети переменного тока, фоновые обновления можно выполнять с максимальной частотой. Если устройство заряжается через USB, частоту можно несколько сократить, а если устройство не подключено к сети&nbsp;– сократить еще больше.</p>
 
 
-<h2 id="MonitorChargeState">Отслеживание изменений состояния зарядки</h2> 
+<h2 id="MonitorChargeState">Отслеживание изменений состояния зарядки</h2>
 
 <p>Состояние зарядки изменяется всякий раз, когда пользователь подключает устройство к источнику питания. Поскольку это случается довольно часто, важно отслеживать изменения этого состояния и соответствующим образом корректировать частоту обновления приложения.</p>
 
@@ -75,11 +75,11 @@
 
 <pre>public class PowerConnectionReceiver extends BroadcastReceiver {
     &#64;Override
-    public void onReceive(Context context, Intent intent) { 
+    public void onReceive(Context context, Intent intent) {
         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                             status == BatteryManager.BATTERY_STATUS_FULL;
-    
+
         int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
         boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
         boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
@@ -87,7 +87,7 @@
 }</pre>
 
 
-<h2 id="CurrentLevel">Определение текущего уровня заряда батареи</h2> 
+<h2 id="CurrentLevel">Определение текущего уровня заряда батареи</h2>
 
 <p>В некоторых случаях целесообразно определять текущий уровень заряда батареи. Если он ниже определенного значения, частоту фоновых обновлений следует уменьшить.</p>
 
@@ -99,7 +99,7 @@
 float batteryPct = level / (float)scale;</pre>
 
 
-<h2 id="MonitorLevel">Отслеживание существенных изменений уровня заряда батареи</h2> 
+<h2 id="MonitorLevel">Отслеживание существенных изменений уровня заряда батареи</h2>
 
 <p>Отслеживать состояние батареи непрерывно не следует,</p>
 
diff --git a/docs/html-intl/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html-intl/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
index ca1a942..d372431 100644
--- a/docs/html-intl/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html-intl/intl/ru/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>Содержание урока</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Намерения и фильтры намерений</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Чаще всего повторяющиеся оповещения и фоновые службы используются для планового обновления приложения из Интернета, кэширования или загрузки больших объемов данных. Однако если подключение к Интернету не установлено или скорость соединения слишком низкая, выполнять загрузку не имеет смысла.</p>
@@ -35,18 +35,18 @@
 <p>Проверить наличие подключения к Интернету и его тип можно с помощью {@link android.net.ConnectivityManager}.</p>
 
 
-<h2 id="DetermineConnection">Определение наличия подключения к Интернету</h2> 
- 
+<h2 id="DetermineConnection">Определение наличия подключения к Интернету</h2>
+
 <p>Если подключение отсутствует, нет смысла планировать обновление из Интернета. В приведенном ниже коде показано, как использовать {@link android.net.ConnectivityManager} для отправки запросов об активной сети и определять возможности подключения.</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">Определение типа подключения к Интернету</h2> 
+<h2 id="DetermineType">Определение типа подключения к Интернету</h2>
 
 <p>Также можно определить тип доступного в настоящий момент подключения к Интернету.</p>
 
@@ -59,7 +59,7 @@
 <p>Когда обновления отключены, необходимо отслеживать изменения доступных соединений, чтобы возобновить их сразу после подключения устройства к Интернету.</p>
 
 
-<h2 id="MonitorChanges">Отслеживание изменения возможностей подключения</h2> 
+<h2 id="MonitorChanges">Отслеживание изменения возможностей подключения</h2>
 
 <p>{@link android.net.ConnectivityManager} передает действие {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) при каждом изменении сведений о подключении. Зарегистрируйте в манифесте приемник широковещательных намерений, чтобы отслеживать эти изменения и запускать (или приостанавливать) фоновые обновления соответствующим образом.</p>
 
diff --git a/docs/html-intl/intl/ru/training/monitoring-device-state/docking-monitoring.jd b/docs/html-intl/intl/ru/training/monitoring-device-state/docking-monitoring.jd
index d94f357..002f351 100644
--- a/docs/html-intl/intl/ru/training/monitoring-device-state/docking-monitoring.jd
+++ b/docs/html-intl/intl/ru/training/monitoring-device-state/docking-monitoring.jd
@@ -10,7 +10,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>Содержание урока</h2>
@@ -26,7 +26,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Намерения и фильтры намерений</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Устройства под управлением ОС Android можно подключать к нескольким типам док-станций: настольным, которые делятся на цифровые и аналоговые, и автомобильным. В большинстве случаев устройства заряжаются при подключении к док-станции, поэтому состояние подключения к док-станции часто связано с состоянием зарядки.</p>
@@ -36,8 +36,8 @@
 <p>Состояние подключения к док-станции также передается в виде закрепленного намерения {@link android.content.Intent}, что позволяет запрашивать сведения о наличии подключения к док-станции и ее типе.</p>
 
 
-<h2 id="CurrentDockState">Определение текущего состояния подключения к док-станции</h2> 
- 
+<h2 id="CurrentDockState">Определение текущего состояния подключения к док-станции</h2>
+
 <p>Сведения о состоянии подключения к док-станции передаются в качестве дополнительных данных в закрепленном оповещении действия {@link android.content.Intent#ACTION_DOCK_EVENT}. Поскольку это закрепленное намерение, регистрировать {@link android.content.BroadcastReceiver} не требуется. Достаточно вызвать {@link android.content.Context#registerReceiver registerReceiver()}, передав {@code null} в качестве приемника широковещательных намерений, как показано в коде ниже.</p>
 
 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
@@ -49,9 +49,9 @@
 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
 
 
-<h2 id="DockType">Определение типа док-станции</h2> 
+<h2 id="DockType">Определение типа док-станции</h2>
 
-<p>Док-станция, к которой подключено устройство, может быть одного из четырех типов: 
+<p>Док-станция, к которой подключено устройство, может быть одного из четырех типов:
 <ul><li>автомобильная;</li>
 <li>настольная;</li>
 <li>настольная с минимальным набором функций (аналоговая);</li>
@@ -60,12 +60,12 @@
 <p>Обратите внимание, что последние два типа поддерживаются только на уровне API&nbsp;11, поэтому, даже если вас не интересует, является ли док-станция цифровой или аналоговой, а интересует только ее тип, рекомендуется выполнять проверку по всем трем типам:</p>
 
 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
+boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
 
 
-<h2 id="MonitorDockState">Отслеживание изменений состояния подключения к док-станции и ее типа</h2> 
+<h2 id="MonitorDockState">Отслеживание изменений состояния подключения к док-станции и ее типа</h2>
 
 <p>При каждом подключении устройства к док-станции или отключении от нее передается действие {@link android.content.Intent#ACTION_DOCK_EVENT}. Чтобы отслеживать состояние подключения к док-станции, достаточно зарегистрировать в манифесте приложения приемник широковещательных намерений, как показано ниже.</p>
 
diff --git a/docs/html-intl/intl/ru/training/monitoring-device-state/index.jd b/docs/html-intl/intl/ru/training/monitoring-device-state/index.jd
index c87d9af..e26af09 100644
--- a/docs/html-intl/intl/ru/training/monitoring-device-state/index.jd
+++ b/docs/html-intl/intl/ru/training/monitoring-device-state/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>Требования</h2> 
+<h2>Требования</h2>
 <ul>
   <li>Android 2.0 (API уровня&nbsp;5) или более поздней версии</li>
   <li>Опыт работы с <a href="{@docRoot}guide/components/intents-filters.html">намерениями и фильтрами намерений</a></li>
@@ -21,19 +21,19 @@
   <li><a href="{@docRoot}guide/components/services.html">Службы</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Качественное приложение должно оказывать минимальное влияние на время работы устройства от батареи. В этом уроке вы научитесь создавать приложения, способные изменять функционал и режим работы в зависимости от состояния устройства.</p>
 
 <p>Отключение обновления данных фоновых служб при потере подключения и снижение частоты обновления при низком заряде батареи позволяет снизить расход энергии и продлить работу устройства без подзарядки.</p>
 
-<h2>Уроки</h2> 
- 
+<h2>Уроки</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="battery-monitoring.html">Отслеживание уровня заряда батареи и состояния зарядки</a></b></dt>
   <dd>Вы узнаете, как изменять частоту обновления приложения, определяя и отслеживая текущий уровень заряда батареи и изменение состояния зарядки.</dd>
@@ -46,4 +46,4 @@
 
   <dt><b><a href="manifest-receivers.html">Операции с приемниками широковещательных намерений по запросу</a></b></dt>
   <dd>Приемники широковещательных намерений, объявленные в манифесте, можно включать и отключать во время работы приложения. Это позволяет отключать ненужные приемники в зависимости от состояния устройства. Вы узнаете, как повысить эффективность путем включения, отключения или каскадирования приемников изменения состояния и как отложить действие до момента перехода устройства в заданное состояние.</dd>
-</dl> 
\ No newline at end of file
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ru/training/monitoring-device-state/manifest-receivers.jd b/docs/html-intl/intl/ru/training/monitoring-device-state/manifest-receivers.jd
index 724ee93..2bd0fb9 100644
--- a/docs/html-intl/intl/ru/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html-intl/intl/ru/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>Содержание урока</h2>
@@ -23,7 +23,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Намерения и фильтры намерений</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Самый простой способ отслеживать изменения состояния устройства&nbsp;– создать приемники {@link android.content.BroadcastReceiver} для каждого отслеживаемого состояния и зарегистрировать их в манифесте приложения. Затем в каждом из этих приемников можно переопределять график повторяющихся оповещений в зависимости от текущего состояния устройства.</p>
@@ -31,10 +31,10 @@
 <p>Этот способ имеет недостатки: приложение активирует устройство при каждом запуске любого из этих приемников, что далеко не всегда оправданно.</p>
 
 <p>Оптимальный вариант&nbsp;– включать и выключать приемники широковещательных намерений во время работы приложения. Это позволяет использовать приемники, объявленные в манифесте, как пассивные оповещения, которые инициируются системными событиями только в случае необходимости.</p>
- 
 
-<h2 id="ToggleReceivers">Включение, отключение и каскадирование приемников изменения состояния для повышения эффективности </h2> 
- 
+
+<h2 id="ToggleReceivers">Включение, отключение и каскадирование приемников изменения состояния для повышения эффективности </h2>
+
 <p>{@link android.content.pm.PackageManager} позволяет включать и выключать любые компоненты, определенные в манифесте, в том числе все приемники широковещательных намерений:</p>
 
 <pre>ComponentName receiver = new ComponentName(context, myReceiver.class);
diff --git a/docs/html-intl/intl/ru/training/multiscreen/adaptui.jd b/docs/html-intl/intl/ru/training/multiscreen/adaptui.jd
index 490a64a..ee1dd9d 100644
--- a/docs/html-intl/intl/ru/training/multiscreen/adaptui.jd
+++ b/docs/html-intl/intl/ru/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>Содержание урока</h2>
 
 <ol>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">Поддержка планшетных ПК и мобильных телефонов</a></li>
 </ul>
- 
+
 <h2>Упражнение</h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Загрузить учебное приложение</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>Алгоритм пользовательского интерфейса зависит от макета, который в данный момент отображается. Например, если приложение работает в двухпанельном режиме, то при нажатии на элемент в левой панели содержание отобразится в правой. В однопанельном режиме содержание откроется отдельно (в другой активности).</p>
 
@@ -56,7 +56,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -116,7 +116,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -168,7 +168,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html-intl/intl/ru/training/multiscreen/index.jd b/docs/html-intl/intl/ru/training/multiscreen/index.jd
index 84b9b8b..66cf968 100644
--- a/docs/html-intl/intl/ru/training/multiscreen/index.jd
+++ b/docs/html-intl/intl/ru/training/multiscreen/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>Требования</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>Требования</h2>
 
 <ul>
   <li>Android 1.6 или более поздней версии (для запуска учебного приложения требуется версия 2.1 или более поздняя)</li>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">Поддержка нескольких экранов</a></li>
 </ul>
- 
-<h2>Упражнение</h2> 
- 
-<div class="download-box"> 
+
+<h2>Упражнение</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Загрузить учебное приложение</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>На платформе Android работают устройства с самыми разными размерами экрана: от телефонов до телевизоров. Чтобы с вашим приложением могли работать как можно больше пользователей, оно должно корректно отображаться на всех этих устройствах.</p>
 
 <p>Однако совместимость с разными типами устройств&nbsp;– это еще не все. От размера экрана зависит, какие возможности будет иметь пользователь при работе с приложением. Чтобы пользователи действительно остались довольны вашим приложением, оно должно не просто <em>поддерживать</em> разные экраны, но и быть <em>оптимизировано</em> для каждого из них.</p>
@@ -48,17 +48,17 @@
 
 <p class="note"><strong>Примечание</strong>. В этом модуле и в учебном приложении используется <a
 href="{@docRoot}tools/support-library/index.html">вспомогательная библиотека</a>, позволяющая работать с API  <PH>{@link android.app.Fragment}</PH> в версиях до Android 3.0. Чтобы иметь возможность использовать все необходимые API, загрузите библиотеку и добавьте ее в свое приложение.</p>
- 
 
-<h2>Уроки</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">Поддержка разных размеров экрана</a></b></dt> 
-    <dd>В этом уроке рассказывается, как создать макет, который адаптируется к разным размерам экрана, используя масштабируемые представления, объекты <PH>{@link android.widget.RelativeLayout}</PH>, квалификаторы размера и ориентации, фильтры псевдонимов и растровые изображений формата nine-patch.</dd> 
- 
-  <dt><b><a href="screendensities.html">Поддержка разных разрешений экрана</a></b></dt> 
-    <dd>В этом уроке рассказывается, как работать с экранами разного разрешения с помощью не зависящих от разрешения пикселей и как подготовить растровые изображения для каждого из них.</dd> 
- 
-  <dt><b><a href="adaptui.html">Реализация адаптируемых алгоритмов работы пользовательского интерфейса</a></b></dt> 
-    <dd>В этом уроке рассказывается, как реализовать алгоритм работы интерфейса, адаптирующийся к размеру и разрешению экрана, то есть способный определять активный макет во время выполнения приложения, выбирать дальнейшие действия на основе текущего макета и обрабатывать изменения конфигурации экрана.</dd> 
-</dl> 
+
+<h2>Уроки</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">Поддержка разных размеров экрана</a></b></dt>
+    <dd>В этом уроке рассказывается, как создать макет, который адаптируется к разным размерам экрана, используя масштабируемые представления, объекты <PH>{@link android.widget.RelativeLayout}</PH>, квалификаторы размера и ориентации, фильтры псевдонимов и растровые изображений формата nine-patch.</dd>
+
+  <dt><b><a href="screendensities.html">Поддержка разных разрешений экрана</a></b></dt>
+    <dd>В этом уроке рассказывается, как работать с экранами разного разрешения с помощью не зависящих от разрешения пикселей и как подготовить растровые изображения для каждого из них.</dd>
+
+  <dt><b><a href="adaptui.html">Реализация адаптируемых алгоритмов работы пользовательского интерфейса</a></b></dt>
+    <dd>В этом уроке рассказывается, как реализовать алгоритм работы интерфейса, адаптирующийся к размеру и разрешению экрана, то есть способный определять активный макет во время выполнения приложения, выбирать дальнейшие действия на основе текущего макета и обрабатывать изменения конфигурации экрана.</dd>
+</dl>
diff --git a/docs/html-intl/intl/ru/training/multiscreen/screendensities.jd b/docs/html-intl/intl/ru/training/multiscreen/screendensities.jd
index cfd4724..ffcdbbca 100644
--- a/docs/html-intl/intl/ru/training/multiscreen/screendensities.jd
+++ b/docs/html-intl/intl/ru/training/multiscreen/screendensities.jd
@@ -12,8 +12,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>Содержание урока</h2>
 <ol>
@@ -29,15 +29,15 @@
 </ul>
 
 <h2>Упражнение</h2>
- 
-<div class="download-box"> 
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Загрузить учебное приложение</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>В этом уроке рассказывается, как создать интерфейс, поддерживающий разные разрешения экрана, за счет использования разных ресурсов и не зависящих от разрешения единиц измерения.</p>
 
@@ -48,8 +48,8 @@
 <p>Например, если вы задаете расстояние между двумя представлениями, рекомендуется использовать <code>dp</code>, а не <code>px</code>:</p>
 
 <pre>
-&lt;Button android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+&lt;Button android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:text="&#64;string/clickme"
     android:layout_marginTop="20dp" /&gt;
 </pre>
@@ -57,8 +57,8 @@
 <p>Для определения размера шрифта всегда используйте <code>sp</code>:</p>
 
 <pre>
-&lt;TextView android:layout_width="match_parent" 
-    android:layout_height="wrap_content" 
+&lt;TextView android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:textSize="20sp" /&gt;
 </pre>
 
diff --git a/docs/html-intl/intl/ru/training/multiscreen/screensizes.jd b/docs/html-intl/intl/ru/training/multiscreen/screensizes.jd
index 9684d77..57496d9 100644
--- a/docs/html-intl/intl/ru/training/multiscreen/screensizes.jd
+++ b/docs/html-intl/intl/ru/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>Содержание урока</h2>
 <ol>
@@ -30,26 +30,26 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">Поддержка нескольких экранов</a></li>
 </ul>
 
-<h2>Упражнение</h2> 
- 
-<div class="download-box"> 
+<h2>Упражнение</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Загрузить учебное приложение</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>В этом уроке описаны следующие аспекты обеспечения совместимости интерфейса с разными экранами:</p>
-<ul> 
-  <li>обеспечение способности макета адаптироваться к размеру экрана;</li> 
-  <li>выбор макета интерфейса, отвечающего конфигурации экрана;</li> 
+<ul>
+  <li>обеспечение способности макета адаптироваться к размеру экрана;</li>
+  <li>выбор макета интерфейса, отвечающего конфигурации экрана;</li>
   <li>контроль правильности применяемого макета;</li>
-  <li>использование масштабируемых растровых изображений.</li> 
-</ul> 
+  <li>использование масштабируемых растровых изображений.</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">Использование параметров wrap_content и match_parent</h2> 
+<h2 id="TaskUseWrapMatchPar">Использование параметров wrap_content и match_parent</h2>
 
 <p>Чтобы создать масштабируемый макет, способный адаптироваться к разным экранам, используйте в качестве значений ширины и высоты отдельных компонентов представления параметры <code>"wrap_content"</code> и <code>"match_parent"</code>. Если используется <code>"wrap_content"</code>, для ширины или высоты представления устанавливается минимальное значение, позволяющее уместить содержание на экран, а параметр <code>"match_parent"</code> (известный как <code>"fill_parent"</code> в API до 8&nbsp;уровня) служит для растягивания компонента по размеру родительского представления.</p>
 
@@ -65,7 +65,7 @@
 <p class="img-caption"><strong>Рисунок 1</strong>. Приложение News Reader при вертикальной (слева) и горизонтальной (справа) ориентации.</p>
 
 
-<h2 id="TaskUseRelativeLayout">Использование объекта RelativeLayout</h2> 
+<h2 id="TaskUseRelativeLayout">Использование объекта RelativeLayout</h2>
 
 <p>С помощью вложенных экземпляров объекта <PH>{@link android.widget.LinearLayout}</PH> и параметров <code>"wrap_content"</code> и <code>"match_parent"</code> можно создавать достаточно сложные макеты. Однако <PH>{@link android.widget.LinearLayout}</PH> не дает возможности точно управлять взаимным расположением дочерних представлений: в <PH>{@link android.widget.LinearLayout}</PH> они просто помещаются в ряд друг за другом. Если необходимо расположить дочерние представления иным образом, используйте объект <PH>{@link android.widget.RelativeLayout}</PH>, позволяющий задать относительные позиции компонентов. Например, одно дочернее представление можно выровнять по левому краю экрана, а другое&nbsp;– по правому.</p>
 
@@ -115,8 +115,8 @@
 
 <p>Обратите внимание: несмотря на изменение размера компонентов их взаимное расположение остается прежним, так как оно задано объектом <PH>{@link android.widget.RelativeLayout.LayoutParams}</PH>.</p>
 
- 
-<h2 id="TaskUseSizeQuali">Использование квалификаторов размера</h2> 
+
+<h2 id="TaskUseSizeQuali">Использование квалификаторов размера</h2>
 
 <p>Масштабируемые или относительные макеты, один из которых продемонстрирован выше, имеют свои ограничения. Хотя они позволяют создать интерфейс, способный адаптироваться к разным экранам за счет растягивания пространства внутри и вокруг компонентов, пользователю может оказаться не слишком удобно работать с таким интерфейсом. Поэтому в приложении должен использоваться не один масштабируемый макет, а несколько альтернативных вариантов для разных конфигураций экрана. Их можно создать с помощью <a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">квалификаторов конфигураций</a>, которые позволяют оперативно выбирать ресурсы, отвечающие текущим параметрам экрана (например, разные варианты макетов для экранов разных размеров).</p>
 
@@ -158,7 +158,7 @@
 <p>Следует учесть, что на Android-устройствах до версии 3.2 квалификатор <code>sw600dp</code> не будет работать, поэтому для них по-прежнему нужно использовать <code>large</code>. Таким образом, вам потребуется еще один файл с названием <code>res/layout-large/main.xml</code>, идентичный файлу <code>res/layout-sw600dp/main.xml</code>. В следующем разделе вы познакомитесь с методом, который позволяет избежать дублирования таких файлов макета.</p>
 
 
-<h2 id="TaskUseAliasFilters">Использование псевдонимов макетов</h2> 
+<h2 id="TaskUseAliasFilters">Использование псевдонимов макетов</h2>
 
 <p>Квалификатор Smallest-width работает только на устройствах Android 3.2 или более поздних версий. Для совместимости с более ранними устройствами по-прежнему следует использовать абстрактные размеры (small, normal, large и xlarge). Например, чтобы интерфейс открывался в однопанельном режиме на телефонах и в многопанельном на планшетных ПК с 7-дюймовым экраном, телевизорах и других крупных устройствах, подготовьте следующие файлы:</p>
 
@@ -202,7 +202,7 @@
 <PH>{@code large}</PH>, а для более новых&nbsp;– <code>sw600dp</code>).</p>
 
 
-<h2 id="TaskUseOriQuali">Использование квалификаторов ориентации</h2> 
+<h2 id="TaskUseOriQuali">Использование квалификаторов ориентации</h2>
 
 <p>Хотя некоторые макеты одинаково хорошо смотрятся в вертикальной и горизонтальной ориентациях, в большинстве случаев интерфейс все же приходится адаптировать. Ниже показано, как изменяется макет в приложении News Reader в зависимости от размера и ориентации экрана.</p>
 
diff --git a/docs/html-intl/intl/vi/design/patterns/navigation.jd b/docs/html-intl/intl/vi/design/patterns/navigation.jd
index 98490db..a3d6003 100644
--- a/docs/html-intl/intl/vi/design/patterns/navigation.jd
+++ b/docs/html-intl/intl/vi/design/patterns/navigation.jd
@@ -168,7 +168,7 @@
 thông tin và tất cả hành động liên kết mà người dùng có thể thực hiện. Ứng dụng của bạn là tập hợp
 của nhiều hoạt động, bao gồm cả hoạt động do bạn tạo và hoạt động mà bạn sử dụng lại từ các ứng dụng khác.</p>
 
-<p><strong>Tác vụ</strong> là trình tự các hoạt động mà một người dùng tuân theo để hoàn thành một mục tiêu. 
+<p><strong>Tác vụ</strong> là trình tự các hoạt động mà một người dùng tuân theo để hoàn thành một mục tiêu.
 Tác vụ đơn có thể sử dụng các hoạt động từ chỉ một ứng dụng, hoặc có thể dựa trên hoạt động từ nhiều
 ứng dụng khác nhau.</p>
 
diff --git a/docs/html-intl/intl/vi/guide/components/activities.jd b/docs/html-intl/intl/vi/guide/components/activities.jd
index 83e7669..304b73c 100644
--- a/docs/html-intl/intl/vi/guide/components/activities.jd
+++ b/docs/html-intl/intl/vi/guide/components/activities.jd
@@ -57,7 +57,7 @@
 mới bắt đầu, hoạt động trước đó sẽ bị dừng lại, nhưng hệ thống vẫn giữ nguyên hoạt động
 trong một ngăn xếp ("back stack"). Khi một hoạt động mới bắt đầu, nó được đẩy lên ngăn xếp và
 chiếm lấy tiêu điểm của người dùng. Ngăn xếp sẽ tuân theo cơ chế xếp chồng cơ bản "vào cuối, ra đầu",
-vì thế, khi người dùng kết thúc hoạt động hiện tại và nhấn nút <em>Quay lại</em>, nó 
+vì thế, khi người dùng kết thúc hoạt động hiện tại và nhấn nút <em>Quay lại</em>, nó
 sẽ được đẩy ra khỏi ngăn xếp (và bị hủy) và hoạt động trước đó sẽ tiếp tục. (Ngăn xếp được
 đề cập kỹ hơn trong tài liệu <a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tác vụ
 và Ngăn Xếp</a>.)</p>
@@ -139,7 +139,7 @@
 <h3 id="Declaring">Khai báo hoạt động trong bản kê khai</h3>
 
 <p>Bạn phải khai báo hoạt động của mình trong tệp bản kê khai để hoạt động
-có thể truy cập được vào hệ thống. Để khai báo hoạt động của mình, hãy mở tệp bản kê khai của bạn và thêm một phần tử  <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 
+có thể truy cập được vào hệ thống. Để khai báo hoạt động của mình, hãy mở tệp bản kê khai của bạn và thêm một phần tử  <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>
 làm con của phần tử <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code &lt;application&gt;}</a>
 . Ví dụ:</p>
 
@@ -161,7 +161,7 @@
 một số tính năng, chẳng hạn như các lối tắt của ứng dụng (hãy đọc bài đăng trên blog, <a href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">Những Điều
 Không Thay Đổi Được</a>).</p>
 
-<p>Xem tài liệu tham khảo phần tử <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a> 
+<p>Xem tài liệu tham khảo phần tử <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code &lt;activity&gt;}</a>
 để biết thêm thông tin về việc khai báo hoạt động của bạn trong bản kê khai.</p>
 
 
@@ -200,7 +200,7 @@
 <p>Tuy nhiên, nếu bạn muốn hoạt động của mình phản hồi lại những ý định ngầm mà được chuyển giao từ
 các ứng dụng khác (và chính bạn), thì bạn phải định nghĩa các bộ lọc ý định bổ sung cho hoạt động
 của mình. Với mỗi loại ý định mà bạn muốn phản hồi, bạn phải nêu một <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
-&lt;intent-filter&gt;}</a> bao gồm một phần tử 
+&lt;intent-filter&gt;}</a> bao gồm một phần tử
 <a href="{@docRoot}guide/topics/manifest/action-element.html">{@code
 &lt;action&gt;}</a> và, không bắt buộc, một phần tử <a href="{@docRoot}guide/topics/manifest/category-element.html">{@code
 &lt;category&gt;}</a> và/hoặc một phần tử <a href="{@docRoot}guide/topics/manifest/data-element.html">{@code
@@ -324,7 +324,7 @@
 bằng cách sử dụng những phương pháp này. Như đề cập trong phần sau về vòng đời của hoạt động, hệ thống
 Android quản lý tuổi thọ của một hoạt động cho bạn, vì vậy bạn không cần kết thúc các hoạt động
 của chính mình. Việc gọi những phương pháp này có thể ảnh hưởng tiêu cực tới trải nghiệm người dùng
-kỳ vọng và chỉ nên được sử dụng khi bạn tuyệt đối không muốn người dùng quay lại thực thể này của 
+kỳ vọng và chỉ nên được sử dụng khi bạn tuyệt đối không muốn người dùng quay lại thực thể này của
 hoạt động.</p>
 
 
@@ -350,7 +350,7 @@
 trình quản lý cửa sổ), nhưng có thể bị hệ thống tắt bỏ trong trường hợp bộ nhớ cực kỳ thấp.</dd>
 
   <dt><i>Dừng</i></dt>
-    <dd>Hoạt động bị che khuất hoàn toàn bởi một hoạt động khác (hoạt động hiện đang 
+    <dd>Hoạt động bị che khuất hoàn toàn bởi một hoạt động khác (hoạt động hiện đang
 “dưới nền"). Hoạt động dừng cũng vẫn đang hoạt động ({@link android.app.Activity}
 đối tượng được giữ lại trong bộ nhớ, nó duy trì tất cả thông tin về trạng thái và thành viên, nhưng <em>không</em>
 gắn với trình quản lý cửa sổ). Tuy nhiên, hoạt động không còn hiển thị với người dùng nữa và hệ thống
@@ -608,7 +608,7 @@
 
 <p>Hệ thống gọi {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}
 trước khi khiến hoạt động dễ bị hủy. Hệ thống chuyển cho phương pháp này
-một {@link android.os.Bundle} trong đó bạn có thể lưu 
+một {@link android.os.Bundle} trong đó bạn có thể lưu
 thông tin trạng thái về hoạt động như cặp tên giá trị, bằng cách sử dụng các phương pháp như {@link
 android.os.Bundle#putString putString()} và {@link
 android.os.Bundle#putInt putInt()}. Sau đó, nếu hệ thống tắt bỏ tiến trình ứng dụng của bạn
diff --git a/docs/html-intl/intl/vi/guide/components/bound-services.jd b/docs/html-intl/intl/vi/guide/components/bound-services.jd
index 7a2ddba..9d19e05 100644
--- a/docs/html-intl/intl/vi/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/vi/guide/components/bound-services.jd
@@ -357,7 +357,7 @@
 
 
 <p>Theo cách này, không có "phương pháp" nào để máy khách gọi đối với dịch vụ. Thay vào đó, máy khách
-gửi “thông báo” (đối tượng {@link android.os.Message}) mà dịch vụ nhận được trong 
+gửi “thông báo” (đối tượng {@link android.os.Message}) mà dịch vụ nhận được trong
 {@link android.os.Handler} của mình.</p>
 
 <p>Sau đây là một dịch vụ ví dụ đơn giản sử dụng một giao diện {@link android.os.Messenger}:</p>
@@ -539,7 +539,7 @@
 </ol>
 
 <p>Ví dụ, đoạn mã HTML sau sẽ kết nối máy khách với dịch vụ được tạo bên trên bằng cách
-<a href="#Binder">mở rộng lớp Trình gắn kết</a>, vì vậy tất cả những việc mà nó phải làm là đổi kiểu 
+<a href="#Binder">mở rộng lớp Trình gắn kết</a>, vì vậy tất cả những việc mà nó phải làm là đổi kiểu
 {@link android.os.IBinder} được trả về thành lớp {@code LocalService} và yêu cầu thực thể {@code
 LocalService}:</p>
 
diff --git a/docs/html-intl/intl/vi/guide/components/fragments.jd b/docs/html-intl/intl/vi/guide/components/fragments.jd
index 95d9c76..7b6346c 100644
--- a/docs/html-intl/intl/vi/guide/components/fragments.jd
+++ b/docs/html-intl/intl/vi/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>Xem thêm</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Xây dựng một UI Động bằng các Phân đoạn</a></li>
@@ -148,7 +148,7 @@
 khởi tạo các thành phần thiết yếu của phân đoạn mà bạn muốn giữ lại khi phân đoạn
 bị tạm dừng hoặc dừng hẳn, sau đó tiếp tục.</dd>
   <dt>{@link android.app.Fragment#onCreateView onCreateView()}</dt>
-  <dd>Hệ thống sẽ gọi phương pháp này khi đến lúc phân đoạn vẽ giao diện người dùng của nó 
+  <dd>Hệ thống sẽ gọi phương pháp này khi đến lúc phân đoạn vẽ giao diện người dùng của nó
 lần đầu tiên. Để vẽ một UI cho phân đoạn của mình, bạn phải trả về một {@link android.view.View} từ phương pháp
 này, đây là gốc của bố trí phân đoạn của bạn. Bạn có thể trả về giá trị rỗng nếu phân đoạn không
 cung cấp UI.</dd>
@@ -303,7 +303,7 @@
   <ul>
     <li>Cung cấp thuộc tính {@code android:id} với một ID duy nhất.</li>
     <li>Cung cấp thuộc tính {@code android:tag} với một xâu duy nhất.</li>
-    <li>Nếu bạn không cung cấp được thuộc tính nào, hệ thống sẽ sử dụng ID của dạng xem 
+    <li>Nếu bạn không cung cấp được thuộc tính nào, hệ thống sẽ sử dụng ID của dạng xem
 của bộ chứa.</li>
   </ul>
 </div>
@@ -362,7 +362,7 @@
 
 <p>Để biết ví dụ về hoạt động sử dụng phân đoạn như một trình thực hiện nền, không có UI, hãy xem mẫu {@code
 FragmentRetainInstance.java}, mẫu này có trong các mẫu SDK (có sẵn thông qua
-Trình quản lý SDK Android) và nằm trên hệ thống của bạn như là 
+Trình quản lý SDK Android) và nằm trên hệ thống của bạn như là
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>.</p>
 
 
@@ -378,7 +378,7 @@
   <li>Nhận các phân đoạn tồn tại trong hoạt động, bằng {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (đối với các phân đoạn cung cấp UI trong
 bố trí hoạt động) hoặc {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()} (đối với các phân đoạn có hoặc không cung cấp UI).</li> 
+findFragmentByTag()} (đối với các phân đoạn có hoặc không cung cấp UI).</li>
   <li>Lấy phân đoạn ra khỏi ngăn xếp, bằng {@link
 android.app.FragmentManager#popBackStack()} (mô phỏng một câu lệnh <em>Quay lại</em> của người dùng).</li>
   <li>Đăng ký một đối tượng theo dõi cho những thay đổi đối với ngăn xếp, bằng {@link
@@ -562,9 +562,9 @@
 }
 </pre>
 
-<p>Nếu hoạt động chưa triển khai giao diện, khi đó phân đoạn sẽ đưa ra lỗi 
+<p>Nếu hoạt động chưa triển khai giao diện, khi đó phân đoạn sẽ đưa ra lỗi
 {@link java.lang.ClassCastException}.
-Nếu thành công, thành viên {@code mListener} giữ một tham chiếu tới triển khai 
+Nếu thành công, thành viên {@code mListener} giữ một tham chiếu tới triển khai
 {@code OnArticleSelectedListener}của hoạt động, sao cho phân đoạn A có thể chia sẻ sự kiện với hoạt động bằng cách gọi các phương pháp
 được định nghĩa bởi giao diện {@code OnArticleSelectedListener}. Ví dụ, nếu phân đoạn A là một
 phần mở rộng của {@link android.app.ListFragment}, mỗi lần
@@ -785,7 +785,7 @@
 
 <p>Phân đoạn thứ hai, {@code DetailsFragment} sẽ hiển thị tóm tắt vở kịch cho mục được chọn từ
 danh sách trong {@code TitlesFragment}:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>Nhớ lại ở lớp {@code TitlesFragment} rằng, nếu người dùng nhấp vào một mục danh sách và bố trí
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>Lưu ý rằng hoạt động này tự kết thúc nếu cấu hình là khổ ngang, sao cho hoạt động
 chính có thể chiếm lấy và hiển thị {@code DetailsFragment} bên cạnh {@code TitlesFragment}.
 Điều này có thể xảy ra nếu người dùng bắt đầu {@code DetailsActivity} ở dạng hướng đứng, nhưng
diff --git a/docs/html-intl/intl/vi/guide/components/fundamentals.jd b/docs/html-intl/intl/vi/guide/components/fundamentals.jd
index 4b70140..725c68d 100644
--- a/docs/html-intl/intl/vi/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/vi/guide/components/fundamentals.jd
@@ -295,16 +295,16 @@
 <p>Bạn phải khai báo tất cả thành phần của ứng dụng như sau:</p>
 <ul>
   <li>Các phần tử <code><a
-href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
+href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 cho hoạt động</li>
   <li>Các phần tử <code><a
 href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> cho
 dịch vụ</li>
   <li>Các phần tử <code><a
-href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code> 
+href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>
 cho hàm nhận quảng bá</li>
   <li>Các phần tử <code><a
-href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 
+href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
 cho trình cung cấp nội dung</li>
 </ul>
 
@@ -379,7 +379,7 @@
 cho người dùng khi họ tìm kiếm ứng dụng từ thiết bị của mình.</p>
 
 <p>Ví dụ, nếu ứng dụng của bạn yêu cầu máy ảnh và sử dụng các API được giới thiệu trong Android 2.1 (<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API Mức</a> 7),
-bạn cần khai báo những điều này như yêu cầu trong tệp bản kê khai của mình như sau:</p> 
+bạn cần khai báo những điều này như yêu cầu trong tệp bản kê khai của mình như sau:</p>
 
 <pre>
 &lt;manifest ... >
diff --git a/docs/html-intl/intl/vi/guide/components/index.jd b/docs/html-intl/intl/vi/guide/components/index.jd
index 966597d..87b51c2 100644
--- a/docs/html-intl/intl/vi/guide/components/index.jd
+++ b/docs/html-intl/intl/vi/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=Thành phần Ứng dụng
 page.landing=true
-page.landing.intro=Khuôn khổ ứng dụng của Android cho phép bạn tạo lập nhiều ứng dụng đa dạng và sáng tạo bằng cách sử dụng một tập hợp các thành phần có thể tái sử dụng. Phần này giải thích cách bạn có thể xây dựng các thành phần định nghĩa các khối dựng cho ứng dụng của mình và cách kết nối chúng với nhau bằng cách sử dụng ý định. 
-page.metaDescription=Khuôn khổ ứng dụng của Android cho phép bạn tạo lập nhiều ứng dụng đa dạng và sáng tạo bằng cách sử dụng một tập hợp các thành phần có thể tái sử dụng. Phần này giải thích cách bạn có thể xây dựng các thành phần định nghĩa các khối dựng cho ứng dụng của mình và cách kết nối chúng với nhau bằng cách sử dụng ý định. 
+page.landing.intro=Khuôn khổ ứng dụng của Android cho phép bạn tạo lập nhiều ứng dụng đa dạng và sáng tạo bằng cách sử dụng một tập hợp các thành phần có thể tái sử dụng. Phần này giải thích cách bạn có thể xây dựng các thành phần định nghĩa các khối dựng cho ứng dụng của mình và cách kết nối chúng với nhau bằng cách sử dụng ý định.
+page.metaDescription=Khuôn khổ ứng dụng của Android cho phép bạn tạo lập nhiều ứng dụng đa dạng và sáng tạo bằng cách sử dụng một tập hợp các thành phần có thể tái sử dụng. Phần này giải thích cách bạn có thể xây dựng các thành phần định nghĩa các khối dựng cho ứng dụng của mình và cách kết nối chúng với nhau bằng cách sử dụng ý định.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>Bài viết Blog</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>Sử dụng DialogFragments</h4>
       <p>Trong bài viết này, tôi sẽ trình bày cách sử dụng DialogFragments bằng thư viện hỗ trợ v4 (cho khả năng tương thích ngược trên các thiết bị chạy phiên bản trước Honeycomb) để hiển thị một hộp thoại chỉnh sửa đơn giản và trả về một kết quả cho lệnh gọi Hoạt động bằng cách sử dụng một giao diện.</p>
@@ -21,7 +21,7 @@
       <h4>Phân đoạn cho Tất cả</h4>
       <p>Hôm nay, chúng tôi đã phát hành một thư viện tĩnh giới thiệu API Phân đoạn (cũng như LoaderManager mới và một vài lớp khác) tương tự sao cho các ứng dụng tương thích với phiên bản Android 1.6 hoặc mới hơn có thể sử dụng phân đoạn để tạo các giao diện người dùng tương thích với máy tính bảng. </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>Tạo đa luồng cho Hiệu năng</h4>
       <p>Một cách làm hay trong khi tạo các ứng dụng hồi đáp đó là đảm bảo luồng UI chính của bạn
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>Đào tạo</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>Quản lý Vòng đời của Hoạt động</h4>
       <p>Lớp này giải thích các phương pháp gọi lại vòng đời quan trọng mà mỗi thực thể
diff --git a/docs/html-intl/intl/vi/guide/components/loaders.jd b/docs/html-intl/intl/vi/guide/components/loaders.jd
index b6d277f..0585076 100644
--- a/docs/html-intl/intl/vi/guide/components/loaders.jd
+++ b/docs/html-intl/intl/vi/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Lớp khóa</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>Các mẫu liên quan</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 tạo lại sau khi cấu hình thay đổi. Vì thế, chúng không cần truy vấn lại dữ liệu
 của mình.</li>
   </ul>
- 
+
 <h2 id="summary">Tổng quan về API Trình tải</h2>
 
 <p>Có nhiều lớp và giao diện có thể có liên quan trong khi sử dụng
@@ -129,10 +129,10 @@
 dữ liệu từ một số nguồn khác.</li>
   <li>Một triển khai cho {@link android.app.LoaderManager.LoaderCallbacks}.
 Đây là nơi bạn tạo trình tải mới và quản lý các tham chiếu của mình tới các
-trình tải hiện có.</li> 
+trình tải hiện có.</li>
 <li>Một cách để hiển thị dữ liệu của trình tải, chẳng hạn như {@link
 android.widget.SimpleCursorAdapter}.</li>
-  <li>Một nguồn dữ liệu, chẳng hạn như một {@link android.content.ContentProvider}, khi sử dụng một 
+  <li>Một nguồn dữ liệu, chẳng hạn như một {@link android.content.ContentProvider}, khi sử dụng một
 {@link android.content.CursorLoader}.</li>
 </ul>
 <h3 id="starting">Khởi động một Trình tải</h3>
@@ -140,7 +140,7 @@
 <p>{@link android.app.LoaderManager} quản lý một hoặc nhiều thực thể {@link
 android.content.Loader} trong một {@link android.app.Activity} hoặc
 {@link android.app.Fragment}. Chỉ có một {@link
-android.app.LoaderManager} trên mỗi hoạt động hoặc phân đoạn.</p> 
+android.app.LoaderManager} trên mỗi hoạt động hoặc phân đoạn.</p>
 
 <p>Thông thường, bạn
 sẽ khởi tạo một {@link android.content.Loader} bên trong phương pháp {@link
@@ -157,13 +157,13 @@
 <ul>
   <li>Một ID duy nhất xác định trình tải. Trong ví dụ này, ID là 0.</li>
 <li>Các tham đối tùy chọn để cung cấp cho trình tải khi
-xây dựng (<code>null</code> trong ví dụ này).</li> 
+xây dựng (<code>null</code> trong ví dụ này).</li>
 
-<li>Triển khai {@link android.app.LoaderManager.LoaderCallbacks}, phương pháp mà 
+<li>Triển khai {@link android.app.LoaderManager.LoaderCallbacks}, phương pháp mà
 {@link android.app.LoaderManager} gọi để báo cáo các sự kiện trình tải. Trong ví dụ này
 , lớp cục bộ triển khai giao diện {@link
 android.app.LoaderManager.LoaderCallbacks}, vì thế nó chuyển một tham chiếu
-tới chính nó, {@code this}.</li> 
+tới chính nó, {@code this}.</li>
 </ul>
 <p>Lệnh gọi {@link android.app.LoaderManager#initLoader initLoader()} đảm bảo rằng một trình tải
 được khởi tạo và hiện hoạt. Nó có hai kết quả có thể xảy ra:</p>
@@ -193,7 +193,7 @@
 khởi động và dừng tải khi cần và duy trì trạng thái của trình tải
 và nội dung đi kèm của nó. Như hàm ý, bạn hiếm khi tương tác trực tiếp với các trình tải
 (thông qua một ví dụ về việc sử dụng các phương pháp trình tải để tinh chỉnh hành vi
-của một trình tải, hãy xem ví dụ <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>). 
+của một trình tải, hãy xem ví dụ <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a>).
 Bạn thường sử dụng nhất là các phương pháp {@link
 android.app.LoaderManager.LoaderCallbacks} để can thiệp vào tiến trình tải
 khi diễn ra một sự kiện đặc biệt. Để thảo luận thêm về chủ đề này, hãy xem phần <a href="#callback">Sử dụng Phương pháp Gọi lại LoaderManager</a>.</p>
@@ -245,7 +245,7 @@
 — Được gọi khi một trình tải được tạo trước đó đã hoàn tất việc tải.
 </li></ul>
 <ul>
-  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}  
+  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}
     — Được gọi khi một trình tải được tạo trước đó đang được đặt lại, vì thế mà khiến dữ liệu
 của nó không sẵn có.
 </li>
@@ -315,7 +315,7 @@
 <p>Phương pháp này được gọi khi một trình tải được tạo trước đó đã hoàn thành việc tải của mình.
 Phương pháp này được bảo đảm sẽ được gọi trước khi giải phóng dữ liệu cuối cùng
 được cung cấp cho trình tải này.  Tại điểm này, bạn nên loại bỏ mọi trường hợp sử dụng
-dữ liệu cũ (do nó sẽ được giải phóng sớm), nhưng không nên 
+dữ liệu cũ (do nó sẽ được giải phóng sớm), nhưng không nên
 tự mình giải phóng dữ liệu do trình tải sở hữu dữ liệu và sẽ đảm nhận việc này.</p>
 
 
@@ -340,11 +340,11 @@
 
 <h4 id="onLoaderReset">onLoaderReset</h4>
 
-<p>Phương pháp này được gọi khi một trình tải được tạo trước đó đang được đặt lại, vì thế mà khiến 
+<p>Phương pháp này được gọi khi một trình tải được tạo trước đó đang được đặt lại, vì thế mà khiến
 dữ liệu của nó không sẵn có. Lệnh gọi lại này cho phép bạn tìm hiểu xem khi nào thì dữ liệu
 sẽ được giải phóng để bạn có thể loại bỏ tham chiếu của mình tới nó.  </p>
-<p>Sự triển khai này gọi ra 
-{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}  
+<p>Sự triển khai này gọi ra
+{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}
 với một giá trị <code>null</code>:</p>
 
 <pre>
@@ -366,7 +366,7 @@
 android.app.Fragment} có chức năng hiển thị một {@link android.widget.ListView} chứa
 kết quả của một truy vấn đối với trình cung cấp nội dung danh bạ. Nó sử dụng một {@link
 android.content.CursorLoader} để quản lý truy vấn trên trình cung cấp.</p>
- 
+
 <p>Để một ứng dụng truy cập danh bạ của một người dùng, như minh họa trong ví dụ này, bản kê khai
 của nó phải bao gồm quyền
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}.</p>
diff --git a/docs/html-intl/intl/vi/guide/components/processes-and-threads.jd b/docs/html-intl/intl/vi/guide/components/processes-and-threads.jd
index 390ca15..b9933ed 100644
--- a/docs/html-intl/intl/vi/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/vi/guide/components/processes-and-threads.jd
@@ -120,7 +120,7 @@
 
       <ul>
         <li>Nó lưu trữ một {@link android.app.Activity} mà không nằm trong tiền cảnh, nhưng vẫn
-hiển thị với người dùng (phương pháp {@link android.app.Activity#onPause onPause()} của nó đã được gọi). 
+hiển thị với người dùng (phương pháp {@link android.app.Activity#onPause onPause()} của nó đã được gọi).
 Điều này có thể xảy ra, ví dụ, nếu hoạt động tiền cảnh đã bắt đầu một hộp thoại, nó cho phép
 hoạt động trước được nhìn thấy phía sau nó.</li>
 
@@ -202,7 +202,7 @@
 hoặc một phương pháp gọi lại vòng đời) sẽ luôn chạy trong luồng UI của tiến trình.</p>
 
 <p>Ví dụ, khi người dùng chạm vào một nút trên màn hình, luồng UI của ứng dụng của bạn sẽ phân phối
-sự kiện chạm tới widget, đến lượt mình, widget sẽ đặt trạng thái được nhấn và đăng một yêu cầu vô hiệu hóa tới 
+sự kiện chạm tới widget, đến lượt mình, widget sẽ đặt trạng thái được nhấn và đăng một yêu cầu vô hiệu hóa tới
 hàng đợi sự kiện. Luồng UI loại yêu cầu khỏi hàng đợi và thông báo với widget rằng nó nên tự vẽ lại
 .</p>
 
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/vi/guide/components/recents.jd b/docs/html-intl/intl/vi/guide/components/recents.jd
index 0a17614..271c05d 100644
--- a/docs/html-intl/intl/vi/guide/components/recents.jd
+++ b/docs/html-intl/intl/vi/guide/components/recents.jd
@@ -180,7 +180,7 @@
   bất kỳ hoạt động nào mà người dùng đã gọi ra cuối cùng.</dd>
 </dl>
 
-<p class="note"><strong>Lưu ý:</strong> Đối với những giá trị ngoài {@code none} và {@code never} 
+<p class="note"><strong>Lưu ý:</strong> Đối với những giá trị ngoài {@code none} và {@code never}
 hoạt động phải được định nghĩa bằng {@code launchMode="standard"}. Nếu thuộc tính này không được quy định thì
 {@code documentLaunchMode="none"} sẽ được sử dụng.</p>
 
@@ -191,7 +191,7 @@
 bằng một cờ {@link android.content.Intent}, hoặc bằng một thuộc tính<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">
 &lt;activity&gt;</a></code>.</p>
 
-<p>Bạn có thể luôn loại trừ hoàn toàn một tác vụ khỏi màn hình tổng quan bằng cách thiết đặt thuộc tính 
+<p>Bạn có thể luôn loại trừ hoàn toàn một tác vụ khỏi màn hình tổng quan bằng cách thiết đặt thuộc tính
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 , <a href="{@docRoot}guide/topics/manifest/activity-element.html#exclude">
 {@code android:excludeFromRecents}</a> thành {@code true}.</p>
diff --git a/docs/html-intl/intl/vi/guide/components/services.jd b/docs/html-intl/intl/vi/guide/components/services.jd
index 9e3e6c7..fc2a7eae 100644
--- a/docs/html-intl/intl/vi/guide/components/services.jd
+++ b/docs/html-intl/intl/vi/guide/components/services.jd
@@ -199,7 +199,7 @@
 &lt;/manifest&gt;
 </pre>
 
-<p>Xem tham chiếu phần tử <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> 
+<p>Xem tham chiếu phần tử <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a>
 để biết thêm thông tin về việc khai báo dịch vụ của bạn trong bản kê khai.</p>
 
 <p>Có các thuộc tính khác mà bạn có thể bao gồm trong phần tử <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code &lt;service&gt;}</a> để
@@ -605,7 +605,7 @@
 
 <p>Sau khi chạy, một dịch vụ có thể thông báo cho người dùng về sự kiện bằng cách sử dụng <a href="{@docRoot}guide/topics/ui/notifiers/toasts.html">Thông báo Cửa sổ</a> hoặc <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Thông báo Thanh Trạng thái</a>.</p>
 
-<p>Thông báo cửa sổ là một thông báo xuất hiện một lúc trên bề mặt của cửa sổ hiện tại 
+<p>Thông báo cửa sổ là một thông báo xuất hiện một lúc trên bề mặt của cửa sổ hiện tại
 rồi biến mất, trong khi thông báo thanh trạng thái cung cấp một biểu tượng trong thanh trạng thái cùng một
 thông báo, người dùng có thể chọn nó để thực hiện một hành động (chẳng hạn như bắt đầu một hoạt động).</p>
 
diff --git a/docs/html-intl/intl/vi/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/vi/guide/components/tasks-and-back-stack.jd
index 85affff..76df1dd 100644
--- a/docs/html-intl/intl/vi/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/vi/guide/components/tasks-and-back-stack.jd
@@ -190,7 +190,7 @@
 
 <p>Khi hệ thống dừng một trong các hoạt động của bạn (chẳng hạn như khi một hoạt động mới bắt đầu hoặc tác vụ
 di chuyển về nền), hệ thống có thể hoàn toàn hủy hoạt động đó nếu nó cần khôi phục
-bộ nhớ hệ thống. Khi điều này xảy ra, thông tin về trạng thái của hoạt động sẽ bị mất. Nếu điều này xảy ra, 
+bộ nhớ hệ thống. Khi điều này xảy ra, thông tin về trạng thái của hoạt động sẽ bị mất. Nếu điều này xảy ra,
 hệ thống vẫn
 biết rằng hoạt động có một vị trí trong ngăn xếp, nhưng khi hoạt động được đưa tới vị trí trên cùng
 của chồng, hệ thống phải tạo lại nó (thay vì tiếp tục). Để tránh
@@ -314,7 +314,7 @@
   <p>Ví dụ, giả sử ngăn xếp của một tác vụ bao gồm hoạt động gốc A với các hoạt động B, C,
 và D ở trên cùng (chồng là A-B-C-D; D ở trên cùng). Một ý định đến cho loại hoạt động D.
 Nếu D có chế độ khởi chạy {@code "standard"} mặc định, một thực thể mới của lớp sẽ được khởi chạy và
-chồng trở thành A-B-C-D-D. Tuy nhiên, nếu chế độ khởi chạy của D là {@code "singleTop"}, thực thể hiện tại 
+chồng trở thành A-B-C-D-D. Tuy nhiên, nếu chế độ khởi chạy của D là {@code "singleTop"}, thực thể hiện tại
 của D sẽ nhận ý định thông qua {@link
 android.app.Activity#onNewIntent onNewIntent()}, bởi nó nằm ở vị trí trên cùng của chồng&mdash;chồng
 vẫn là A-B-C-D. Tuy nhiên, nếu một ý định đến cho hoạt động loại B, khi đó một thực thể
@@ -557,9 +557,9 @@
 . Lúc này, tác vụ được gửi tới nền và không hiển thị. Bây giờ, người dùng không có cách nào để quay lại
 tác vụ bởi nó không được biểu diễn trong trình khởi chạy ứng dụng.</p>
 
-<p>Đối với những trường hợp mà bạn không muốn người dùng có thể quay lại một hoạt động, hãy đặt giá trị của phần tử 
+<p>Đối với những trường hợp mà bạn không muốn người dùng có thể quay lại một hoạt động, hãy đặt giá trị của phần tử
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
-, 
+,
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#finish">{@code finishOnTaskLaunch}</a>
 thành {@code "true"} (xem <a href="#Clearing">Xóa chồng</a>).</p>
 
diff --git a/docs/html-intl/intl/vi/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/vi/guide/topics/manifest/manifest-intro.jd
index ca2ed26..06668b4 100644
--- a/docs/html-intl/intl/vi/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/vi/guide/topics/manifest/manifest-intro.jd
@@ -31,27 +31,27 @@
 <li>Nó đặt tên gói Java cho ứng dụng.
 Tên gói đóng vai trò như một mã nhận diện duy nhất cho ứng dụng.</li>
 
-<li>Nó mô tả các thành phần của ứng dụng &mdash; hoạt động, 
-dịch vụ, hàm nhận quảng bá, và trình cung cấp nội dung mà ứng dụng 
-được soạn bởi.  Nó đặt tên các lớp triển khai từng thành phần và 
-công bố các khả năng của chúng (ví dụ, những tin nhắn {@link android.content.Intent 
-Intent} mà chúng có thể xử lý).  Những khai báo này cho phép hệ thống Android 
+<li>Nó mô tả các thành phần của ứng dụng &mdash; hoạt động,
+dịch vụ, hàm nhận quảng bá, và trình cung cấp nội dung mà ứng dụng
+được soạn bởi.  Nó đặt tên các lớp triển khai từng thành phần và
+công bố các khả năng của chúng (ví dụ, những tin nhắn {@link android.content.Intent
+Intent} mà chúng có thể xử lý).  Những khai báo này cho phép hệ thống Android
 biết các thành phần là gì và chúng có thể được khởi chạy trong những điều kiện nào.</li>
 
-<li>Nó xác định những tiến trình nào sẽ lưu trữ các thành phần ứng dụng.</li>  
+<li>Nó xác định những tiến trình nào sẽ lưu trữ các thành phần ứng dụng.</li>
 
-<li>Nó khai báo các quyền mà ứng dụng phải có để 
-truy cập các phần được bảo vệ của API và tương tác với các ứng dụng khác.</li>  
+<li>Nó khai báo các quyền mà ứng dụng phải có để
+truy cập các phần được bảo vệ của API và tương tác với các ứng dụng khác.</li>
 
-<li>Nó cũng khai báo các quyền mà ứng dụng khác phải có để 
+<li>Nó cũng khai báo các quyền mà ứng dụng khác phải có để
 tương tác với các thành phần của ứng dụng.</li>
 
-<li>Nó liệt kê các lớp {@link android.app.Instrumentation} cung cấp 
-tính năng tạo hồ sơ và các thông tin khác khi ứng dụng đang chạy.  Những khai báo này 
-chỉ xuất hiện trong bản kê khai khi ứng dụng đang được phát triển và 
+<li>Nó liệt kê các lớp {@link android.app.Instrumentation} cung cấp
+tính năng tạo hồ sơ và các thông tin khác khi ứng dụng đang chạy.  Những khai báo này
+chỉ xuất hiện trong bản kê khai khi ứng dụng đang được phát triển và
 thử nghiệm; chúng bị loại bỏ trước khi ứng dụng được công bố.</li>
 
-<li>Nó khai báo mức tối thiểu của API Android mà ứng dụng 
+<li>Nó khai báo mức tối thiểu của API Android mà ứng dụng
 yêu cầu.</li>
 
 <li>Nó liệt kê các thư viện mà ứng dụng phải được liên kết với.</li>
@@ -61,12 +61,12 @@
 <h2 id="filestruct">Cấu trúc của Tệp Bản kê khai</h2>
 
 <p>
-Sơ đồ bên dưới minh họa cấu trúc chung của tệp bản kê khai và mọi 
-phần tử mà nó có thể chứa.  Từng phần tử, cùng với tất cả thuộc tính 
-của mình, sẽ được lập tài liệu theo dõi đầy đủ vào một tệp riêng.  Để xem thông tin 
-chi tiết về mọi phần tử, hãy nhấp vào tên phần tử trong sơ đồ, 
+Sơ đồ bên dưới minh họa cấu trúc chung của tệp bản kê khai và mọi
+phần tử mà nó có thể chứa.  Từng phần tử, cùng với tất cả thuộc tính
+của mình, sẽ được lập tài liệu theo dõi đầy đủ vào một tệp riêng.  Để xem thông tin
+chi tiết về mọi phần tử, hãy nhấp vào tên phần tử trong sơ đồ,
 trong danh sách các phần tử theo thứ tự chữ cái mà tuân theo sơ đồ, hoặc trên bất kỳ
-nội dung nào khác đề cập tới tên phần tử. 
+nội dung nào khác đề cập tới tên phần tử.
 </p>
 
 <pre>
@@ -126,9 +126,9 @@
 </pre>
 
 <p>
-Tất cả phần tử có thể xuất hiện trong tệp bản kê khai được liệt kê ở bên dưới 
-theo thứ tự chữ cái.  Đây là những phần tử hợp pháp duy nhất; bạn không thể 
-thêm các phần tử hay thuộc tính của chính mình.  
+Tất cả phần tử có thể xuất hiện trong tệp bản kê khai được liệt kê ở bên dưới
+theo thứ tự chữ cái.  Đây là những phần tử hợp pháp duy nhất; bạn không thể
+thêm các phần tử hay thuộc tính của chính mình.
 </p>
 
 <p style="margin-left: 2em">
@@ -158,74 +158,74 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">Các Quy ước Tệp</h2>
 
 <p>
-Một số quy ước và quy tắc áp dụng chung cho tất cả các phần tử và thuộc tính 
+Một số quy ước và quy tắc áp dụng chung cho tất cả các phần tử và thuộc tính
 trong bản kê khai:
 </p>
 
 <dl>
 <dt><b>Phần tử</b></dt>
-<dd>Chỉ các phần tử 
+<dd>Chỉ các phần tử
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> và
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-là bắt buộc phải có, chúng đều phải có mặt và chỉ có thể xảy ra một lần.  
-Hầu hết các phần tử khác có thể xảy ra nhiều lần hoặc không xảy ra &mdash; mặc dù ít 
-nhất một vài trong số chúng phải có mặt để bản kê khai thực sự có 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+là bắt buộc phải có, chúng đều phải có mặt và chỉ có thể xảy ra một lần.
+Hầu hết các phần tử khác có thể xảy ra nhiều lần hoặc không xảy ra &mdash; mặc dù ít
+nhất một vài trong số chúng phải có mặt để bản kê khai thực sự có
 ý nghĩa nào đó.
 
 <p>
-Nếu một phần tử chứa bất kỳ nội dung nào, nó có thể chứa các phần tử khác.  
+Nếu một phần tử chứa bất kỳ nội dung nào, nó có thể chứa các phần tử khác.
 Tất cả giá trị sẽ được đặt thông qua thuộc tính, chứ không phải là dữ liệu ký tự trong một phần tử.
 </p>
 
 <p>
 Các phần tử cùng cấp thường không theo thứ tự.  Ví dụ, các phần tử
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>, 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>, và 
-<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 
-có thể được trộn lẫn với nhau theo bất kỳ trình tự nào.  (Phần tử 
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>, và
+<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
+có thể được trộn lẫn với nhau theo bất kỳ trình tự nào.  (Phần tử
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
-là trường hợp ngoại lệ đối với quy tắc này:  Nó phải tuân theo 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
+là trường hợp ngoại lệ đối với quy tắc này:  Nó phải tuân theo
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
 , đối tượng mà nó là bí danh cho.)
 </p></dd>
 
 <dt><b>Thuộc tính</b></dt>
-<dd>Theo cách hiểu thông thường, tất cả thuộc tính đều mang tính tùy chọn.  Tuy nhiên, có một số thuộc tính 
-phải được quy định cho một phần tử để hoàn thành mục đích của nó.  Sử dụng 
+<dd>Theo cách hiểu thông thường, tất cả thuộc tính đều mang tính tùy chọn.  Tuy nhiên, có một số thuộc tính
+phải được quy định cho một phần tử để hoàn thành mục đích của nó.  Sử dụng
 tài liệu làm hướng dẫn.  Đối với những thuộc tính thực sự tùy chọn, nó đề cập tới một giá trị
 mặc định hoặc thông báo điều gì sẽ xảy ra nếu không có một đặc tả.
 
-<p>Ngoài một số thuộc tính của phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
-gốc, tất cả tên thuộc tính đều bắt đầu bằng một tiền tố {@code android:}&mdash; 
-ví dụ, {@code android:alwaysRetainTaskState}.  Do tiền tố này 
-phổ dụng, tài liệu thường bỏ sót nó khi tham chiếu tới các thuộc tính 
+<p>Ngoài một số thuộc tính của phần tử
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
+gốc, tất cả tên thuộc tính đều bắt đầu bằng một tiền tố {@code android:}&mdash;
+ví dụ, {@code android:alwaysRetainTaskState}.  Do tiền tố này
+phổ dụng, tài liệu thường bỏ sót nó khi tham chiếu tới các thuộc tính
 theo tên.</p></dd>
 
 <dt><b>Khai báo tên lớp</b></dt>
-<dd>Nhiều thuộc tính tương ứng với các đối tượng Java, bao gồm các phần tử cho 
-chính ứng dụng (phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-) và các thành phần chính của nó &mdash; hoạt động 
-(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>), 
-dịch vụ 
-(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>), 
-hàm nhận quảng bá 
-(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>), 
-và trình cung cấp nội dung 
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).  
+<dd>Nhiều thuộc tính tương ứng với các đối tượng Java, bao gồm các phần tử cho
+chính ứng dụng (phần tử
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+) và các thành phần chính của nó &mdash; hoạt động
+(<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>),
+dịch vụ
+(<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>),
+hàm nhận quảng bá
+(<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>),
+và trình cung cấp nội dung
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>).
 
 <p>
-Nếu bạn định nghĩa một lớp con như vẫn luôn làm đối với lớp thành phần 
-({@link android.app.Activity}, {@link android.app.Service}, 
-{@link android.content.BroadcastReceiver}, và {@link android.content.ContentProvider}), 
-lớp con sẽ được khai báo thông qua một thuộc tính {@code name}.  Tên phải bao gồm 
-chỉ định gói đầy đủ.  
+Nếu bạn định nghĩa một lớp con như vẫn luôn làm đối với lớp thành phần
+({@link android.app.Activity}, {@link android.app.Service},
+{@link android.content.BroadcastReceiver}, và {@link android.content.ContentProvider}),
+lớp con sẽ được khai báo thông qua một thuộc tính {@code name}.  Tên phải bao gồm
+chỉ định gói đầy đủ.
 Ví dụ, một lớp con {@link android.app.Service} có thể được khai báo như sau:
 </p>
 
@@ -239,12 +239,12 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Tuy nhiên, do cách viết tốc ký, nếu ký tự đầu tiên của xâu là một dấu chấm, 
-xâu sẽ được nối với tên gói của ứng dụng (như được quy định bởi 
-thuộc tính của phần tử <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> 
+Tuy nhiên, do cách viết tốc ký, nếu ký tự đầu tiên của xâu là một dấu chấm,
+xâu sẽ được nối với tên gói của ứng dụng (như được quy định bởi
+thuộc tính của phần tử <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
 
-<code>, <a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code> 
-).  Cách gán sau cũng giống như trên: 
+<code>, <a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
+).  Cách gán sau cũng giống như trên:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -257,13 +257,13 @@
 &lt;/manifest&gt;</pre>
 
 <p>
-Khi khởi động một thành phần, Android sẽ tạo một thực thể của lớp con được nêu tên.  
+Khi khởi động một thành phần, Android sẽ tạo một thực thể của lớp con được nêu tên.
 Nếu lớp con không được quy định, nó sẽ tạo một thực thể của lớp cơ sở.
 </p></dd>
 
 <dt><b>Nhiều giá trị</b></dt>
-<dd>Nếu có thể quy định nhiều hơn một giá trị, phần tử gần như luôn 
-được lặp lại, thay vì liệt kê nhiều giá trị trong một phần tử duy nhất.  
+<dd>Nếu có thể quy định nhiều hơn một giá trị, phần tử gần như luôn
+được lặp lại, thay vì liệt kê nhiều giá trị trong một phần tử duy nhất.
 Ví dụ, một bộ lọc ý định có thể liệt kê vài hành động:
 
 <pre>&lt;intent-filter . . . &gt;
@@ -274,24 +274,24 @@
 &lt;/intent-filter&gt;</pre></dd>
 
 <dt><b>Giá trị tài nguyên</b></dt>
-<dd>Một số thuộc tính có các giá trị có thể được hiển thị với người dùng &mdash; ví 
-dụ, một nhãn và một biểu tượng cho một hoạt động.  Giá trị của những thuộc tính này 
-cần được cục bộ hóa và vì thế phải được thiết đặt từ một tài nguyên hoặc chủ đề.  Giá trị 
+<dd>Một số thuộc tính có các giá trị có thể được hiển thị với người dùng &mdash; ví
+dụ, một nhãn và một biểu tượng cho một hoạt động.  Giá trị của những thuộc tính này
+cần được cục bộ hóa và vì thế phải được thiết đặt từ một tài nguyên hoặc chủ đề.  Giá trị
 tài nguyên được biểu diễn theo định dạng sau,</p>
 
 <p style="margin-left: 2em">{@code @[<i>gói</i>:]<i>kiểu</i>:<i>tên</i>}</p>
 
 <p>
-trong đó <i>gói</i> có thể được bỏ qua nếu tài nguyên nằm trong cùng gói 
-với ứng dụng, <i>kiểu</i> là kiểu của tài nguyên &mdash; chẳng hạn như "xâu" hoặc 
-&mdash; "vẽ được" và <i>tên</i> là tên nhận biết tài nguyên cụ thể.  
+trong đó <i>gói</i> có thể được bỏ qua nếu tài nguyên nằm trong cùng gói
+với ứng dụng, <i>kiểu</i> là kiểu của tài nguyên &mdash; chẳng hạn như "xâu" hoặc
+&mdash; "vẽ được" và <i>tên</i> là tên nhận biết tài nguyên cụ thể.
 Ví dụ:
 </p>
 
 <pre>&lt;activity android:icon="@drawable/smallPic" . . . &gt</pre>
 
 <p>
-Các giá trị từ một chủ đề được biểu diễn theo cách tương tự, nhưng với một '{@code ?}' 
+Các giá trị từ một chủ đề được biểu diễn theo cách tương tự, nhưng với một '{@code ?}'
 thay vì '{@code @}' ở đầu:
 </p>
 
@@ -299,8 +299,8 @@
 </p></dd>
 
 <dt><b>Giá trị xâu</b></dt>
-<dd>Trường hợp giá trị của một thuộc tính là một xâu, phải sử dụng hai dấu xuyệc ngược ('{@code \\}') 
-để thoát các ký tự &mdash; ví dụ, '{@code \\n}' đối với 
+<dd>Trường hợp giá trị của một thuộc tính là một xâu, phải sử dụng hai dấu xuyệc ngược ('{@code \\}')
+để thoát các ký tự &mdash; ví dụ, '{@code \\n}' đối với
 một dòng tin tức hoặc '{@code \\uxxxx}' đối với một ký tự Unicode.</dd>
 </dl>
 
@@ -308,7 +308,7 @@
 <h2 id="filef">Các Tính năng Tệp</h2>
 
 <p>
-Phần sau đây mô tả cách phản ánh một số tính năng của Android 
+Phần sau đây mô tả cách phản ánh một số tính năng của Android
 trong tệp bản kê khai.
 </p>
 
@@ -316,23 +316,23 @@
 <h3 id="ifs">Bộ lọc Ý định</h3>
 
 <p>
-Các thành phần cốt lõi của một ứng dụng (hoạt động, dịch vụ và hàm nhận 
-quảng bá) được kích hoạt bởi <i>ý định</i>.  Ý định là một 
-gói thông tin (một đối tượng {@link android.content.Intent}) mô tả một 
-hành động mong muốn &mdash; bao gồm dữ liệu sẽ được dựa trên, thể loại của 
-thành phần mà sẽ thực hiện hành động, và các chỉ dẫn thích hợp khác.  
-Android định vị một thành phần phù hợp để hồi đáp ý định, khởi chạy 
-một thực thể mới của thành phần nếu cần, và chuyển cho nó đối tượng đó 
+Các thành phần cốt lõi của một ứng dụng (hoạt động, dịch vụ và hàm nhận
+quảng bá) được kích hoạt bởi <i>ý định</i>.  Ý định là một
+gói thông tin (một đối tượng {@link android.content.Intent}) mô tả một
+hành động mong muốn &mdash; bao gồm dữ liệu sẽ được dựa trên, thể loại của
+thành phần mà sẽ thực hiện hành động, và các chỉ dẫn thích hợp khác.
+Android định vị một thành phần phù hợp để hồi đáp ý định, khởi chạy
+một thực thể mới của thành phần nếu cần, và chuyển cho nó đối tượng đó
 Ý định.
 </p>
 
 <p>
-Các thành phần sẽ quảng cáo khả năng của mình &mdash; các kiểu ý định mà chúng có thể 
-hồi đáp &mdash; thông qua <i>các bộ lọc ý định</i>.  Do hệ thống Android phải 
-tìm hiểu một thành phần có thể xử lý những ý định nào trước khi khởi chạy thành phần đó, 
-bộ lọc ý định được quy định trong bản kê khai như là các phần tử 
+Các thành phần sẽ quảng cáo khả năng của mình &mdash; các kiểu ý định mà chúng có thể
+hồi đáp &mdash; thông qua <i>các bộ lọc ý định</i>.  Do hệ thống Android phải
+tìm hiểu một thành phần có thể xử lý những ý định nào trước khi khởi chạy thành phần đó,
+bộ lọc ý định được quy định trong bản kê khai như là các phần tử
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
-.  Một thành phần có thể có nhiều bộ lọc, mỗi bộ lọc lại mô tả 
+.  Một thành phần có thể có nhiều bộ lọc, mỗi bộ lọc lại mô tả
 một khả năng khác nhau.
 </p>
 
@@ -344,9 +344,9 @@
 </p>
 
 <p>
-Để biết thông tin về cách các đối tượng Ý định được kiểm tra thông qua bộ lọc ý định, 
-hãy xem tài liệu riêng có tiêu đề 
-<a href="{@docRoot}guide/components/intents-filters.html">Ý định 
+Để biết thông tin về cách các đối tượng Ý định được kiểm tra thông qua bộ lọc ý định,
+hãy xem tài liệu riêng có tiêu đề
+<a href="{@docRoot}guide/components/intents-filters.html">Ý định
 và Bộ lọc Ý định</a>.
 </p>
 
@@ -354,42 +354,42 @@
 <h3 id="iconlabel">Biểu tượng và Nhãn</h3>
 
 <p>
-Nhiều phần tử có thuộc tính {@code icon} và {@code label} cho một 
-biểu tượng nhỏ và nhãn văn bản mà có thể được hiển thị với người dùng.  Một số cũng có thuộc tính 
-{@code description} cho văn bản giải trình dài hơn mà cũng có thể 
-được hiển thị trên màn hình.  Ví dụ, phần tử 
+Nhiều phần tử có thuộc tính {@code icon} và {@code label} cho một
+biểu tượng nhỏ và nhãn văn bản mà có thể được hiển thị với người dùng.  Một số cũng có thuộc tính
+{@code description} cho văn bản giải trình dài hơn mà cũng có thể
+được hiển thị trên màn hình.  Ví dụ, phần tử
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-có cả ba thuộc tính này, vì thế khi người dùng được hỏi xem có 
-cấp quyền cho một ứng dụng yêu cầu hay không, biểu tượng thể hiện 
+có cả ba thuộc tính này, vì thế khi người dùng được hỏi xem có
+cấp quyền cho một ứng dụng yêu cầu hay không, biểu tượng thể hiện
 quyền, tên của quyền, và mô tả nội dung
 của quyền đó đều có thể được trình bày cho người dùng xem.
 </p>
 
 <p>
-Trong mọi trường hợp, biểu tượng và nhãn được đặt trong một phần tử chứa sẽ trở thành các thiết đặt 
-{@code icon} và {@code label} mặc định cho tất cả phần tử con của bộ chứa đó.  
-Vì thế, biểu tượng và nhãn được đặt trong phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-là biểu tượng và nhãn mặc định cho từng thành phần của ứng dụng.  
-Tương tự, biểu tượng và nhãn được đặt cho một thành phần &mdash; ví dụ, một phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 
-&mdash; sẽ là các cài đặt mặc định cho từng phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 
+Trong mọi trường hợp, biểu tượng và nhãn được đặt trong một phần tử chứa sẽ trở thành các thiết đặt
+{@code icon} và {@code label} mặc định cho tất cả phần tử con của bộ chứa đó.
+Vì thế, biểu tượng và nhãn được đặt trong phần tử
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+là biểu tượng và nhãn mặc định cho từng thành phần của ứng dụng.
+Tương tự, biểu tượng và nhãn được đặt cho một thành phần &mdash; ví dụ, một phần tử
+<code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
+&mdash; sẽ là các cài đặt mặc định cho từng phần tử
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
 của thành phần đó.  Nếu một phần tử
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
-thiết đặt một nhãn, nhưng hoạt động và bộ lọc ý định của nó thì không, 
-nhãn ứng dụng sẽ được coi là nhãn của cả hoạt động và 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
+thiết đặt một nhãn, nhưng hoạt động và bộ lọc ý định của nó thì không,
+nhãn ứng dụng sẽ được coi là nhãn của cả hoạt động và
 bộ lọc ý định.
 </p>
 
 <p>
-Biểu tượng và nhãn được đặt cho một bộ lọc ý định sẽ được sử dụng để biểu diễn một thành phần 
+Biểu tượng và nhãn được đặt cho một bộ lọc ý định sẽ được sử dụng để biểu diễn một thành phần
 bất cứ khi nào thành phần đó được trình bày với người dùng để thực hiện chức năng
-mà bộ lọc đã quảng cáo.  Ví dụ, một bộ lọc với các thiết đặt 
-"{@code android.intent.action.MAIN}" và 
-"{@code android.intent.category.LAUNCHER}" quảng cáo một hoạt động 
+mà bộ lọc đã quảng cáo.  Ví dụ, một bộ lọc với các thiết đặt
+"{@code android.intent.action.MAIN}" và
+"{@code android.intent.category.LAUNCHER}" quảng cáo một hoạt động
 là hoạt động khởi đầu một ứng dụng &mdash; cụ thể, là
-hoạt động sẽ được hiển thị trong trình khởi chạy ứng dụng.  Vì thế, biểu tượng và nhãn 
+hoạt động sẽ được hiển thị trong trình khởi chạy ứng dụng.  Vì thế, biểu tượng và nhãn
 được đặt trong bộ lọc là những nội dung được hiển thị trong trình khởi chạy.
 </p>
 
@@ -397,14 +397,14 @@
 <h3 id="perms">Quyền</h3>
 
 <p>
-Một <i>quyền</i> là sự hạn chế giới hạn truy cập vào một phần của mã 
-hoặc vào dữ liệu trên thiết bị.   Giới hạn này được áp đặt nhằm bảo vệ dữ liệu 
-và mã trọng yếu, có thể bị lạm dụng để bóp méo hoặc làm hỏng trải nghiệm người dùng.  
+Một <i>quyền</i> là sự hạn chế giới hạn truy cập vào một phần của mã
+hoặc vào dữ liệu trên thiết bị.   Giới hạn này được áp đặt nhằm bảo vệ dữ liệu
+và mã trọng yếu, có thể bị lạm dụng để bóp méo hoặc làm hỏng trải nghiệm người dùng.
 </p>
 
 <p>
-Mỗi quyền được nhận biết bằng một nhãn duy nhất.  Thông thường, nhãn cho biết 
-hành động bị hạn chế.  Ví dụ, sau đây là một số quyền được định nghĩa 
+Mỗi quyền được nhận biết bằng một nhãn duy nhất.  Thông thường, nhãn cho biết
+hành động bị hạn chế.  Ví dụ, sau đây là một số quyền được định nghĩa
 bởi Android:
 </p>
 
@@ -418,25 +418,25 @@
 </p>
 
 <p>
-Nếu một ứng dụng cần truy cập vào một tính năng được bảo vệ bởi một quyền, 
-nó phải khai báo rằng nó yêu cầu quyền đó cùng với một phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-trong bản kê khai.  Lúc đó, khi ứng dụng được cài đặt trên 
-thiết bị, trình cài đặt sẽ xác định xem có cấp quyền 
-được yêu cầu hay không bằng cách kiểm tra các thẩm quyền đã ký chứng chỉ 
-của ứng dụng và trong một số trường hợp, bằng cách hỏi người dùng.  
-Nếu quyền được cấp, ứng dụng có thể sử dụng các tính năng 
+Nếu một ứng dụng cần truy cập vào một tính năng được bảo vệ bởi một quyền,
+nó phải khai báo rằng nó yêu cầu quyền đó cùng với một phần tử
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+trong bản kê khai.  Lúc đó, khi ứng dụng được cài đặt trên
+thiết bị, trình cài đặt sẽ xác định xem có cấp quyền
+được yêu cầu hay không bằng cách kiểm tra các thẩm quyền đã ký chứng chỉ
+của ứng dụng và trong một số trường hợp, bằng cách hỏi người dùng.
+Nếu quyền được cấp, ứng dụng có thể sử dụng các tính năng
 được bảo vệ.  Nếu không, việc thử truy cập những tính năng đó sẽ thất bại
-mà không có bất kỳ thông báo nào cho người dùng. 
+mà không có bất kỳ thông báo nào cho người dùng.
 </p>
 
 <p>
-Một ứng dụng cũng có thể bảo vệ các thành phần của chính nó (hoạt động, dịch vụ, 
-hàm nhận quảng bá và trình cung cấp nội dung) bằng các quyền.  Nó có thể sử dụng 
-bất kỳ quyền nào được định nghĩa bởi Android (được liệt kê trong 
-{@link android.Manifest.permission android.Manifest.permission}) hoặc được khai báo 
-bởi các ứng dụng khác.  Hoặc nó có thể tự định nghĩa quyền của mình.  Một quyền mới được khai báo 
-bằng phần tử 
+Một ứng dụng cũng có thể bảo vệ các thành phần của chính nó (hoạt động, dịch vụ,
+hàm nhận quảng bá và trình cung cấp nội dung) bằng các quyền.  Nó có thể sử dụng
+bất kỳ quyền nào được định nghĩa bởi Android (được liệt kê trong
+{@link android.Manifest.permission android.Manifest.permission}) hoặc được khai báo
+bởi các ứng dụng khác.  Hoặc nó có thể tự định nghĩa quyền của mình.  Một quyền mới được khai báo
+bằng phần tử
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 .  Ví dụ, một hoạt động có thể được bảo vệ như sau:
 </p>
@@ -457,43 +457,43 @@
 </pre>
 
 <p>
-Lưu ý rằng trong ví dụ này, quyền {@code DEBIT_ACCT} không chỉ 
-được khai báo bằng phần tử 
+Lưu ý rằng trong ví dụ này, quyền {@code DEBIT_ACCT} không chỉ
+được khai báo bằng phần tử
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-, việc sử dụng quyền cũng được yêu cầu bằng phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
-.  Phải yêu cầu sử dụng quyền để các thành phần khác của 
-ứng dụng nhằm khởi chạy hoạt động được bảo vệ, mặc dù việc bảo vệ 
-do chính ứng dụng áp đặt.  
+, việc sử dụng quyền cũng được yêu cầu bằng phần tử
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
+.  Phải yêu cầu sử dụng quyền để các thành phần khác của
+ứng dụng nhằm khởi chạy hoạt động được bảo vệ, mặc dù việc bảo vệ
+do chính ứng dụng áp đặt.
 </p>
 
 <p>
-Trong cùng ví dụ này, nếu thuộc tính {@code permission} được đặt thành một quyền 
-được khai báo ở nơi khác 
-(chẳng hạn như {@code android.permission.CALL_EMERGENCY_NUMBERS}, sẽ không 
-cần phải khai báo lại nó bằng một phần tử 
+Trong cùng ví dụ này, nếu thuộc tính {@code permission} được đặt thành một quyền
+được khai báo ở nơi khác
+(chẳng hạn như {@code android.permission.CALL_EMERGENCY_NUMBERS}, sẽ không
+cần phải khai báo lại nó bằng một phần tử
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
-.  Tuy nhiên, sẽ vẫn cần phải yêu cầu sử dụng nó bằng 
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>. 
+.  Tuy nhiên, sẽ vẫn cần phải yêu cầu sử dụng nó bằng
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>.
 </p>
 
 <p>
-Phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code> 
-sẽ khai báo một vùng tên cho nhóm quyền mà sẽ được định nghĩa trong 
-mã.  Và 
+Phần tử
+<code><a href="{@docRoot}guide/topics/manifest/permission-tree-element.html">&lt;permission-tree&gt;</a></code>
+sẽ khai báo một vùng tên cho nhóm quyền mà sẽ được định nghĩa trong
+mã.  Và
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-sẽ định nghĩa một nhãn cho một tập hợp quyền (cả được khai báo trong bản kê khai bằng phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-và được khai báo ở chỗ khác).  Nó chỉ ảnh hưởng tới cách các quyền được 
-nhóm lại khi được trình bày với người dùng.  Phần tử 
+sẽ định nghĩa một nhãn cho một tập hợp quyền (cả được khai báo trong bản kê khai bằng phần tử
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+và được khai báo ở chỗ khác).  Nó chỉ ảnh hưởng tới cách các quyền được
+nhóm lại khi được trình bày với người dùng.  Phần tử
 <code><a href="{@docRoot}guide/topics/manifest/permission-group-element.html">&lt;permission-group&gt;</a></code>
-không quy định những quyền nào thuộc về nhóm; 
+không quy định những quyền nào thuộc về nhóm;
 nó chỉ đặt cho nhóm một cái tên.  Một quyền được đặt vào nhóm
 bằng cách gán tên nhóm với thuộc tính của phần tử
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-, 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+,
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html#pgroup">permissionGroup</a></code>
 .
 </p>
 
@@ -501,17 +501,17 @@
 <h3 id="libs">Thư viện</h3>
 
 <p>
-Mọi ứng dụng đều được liên kết với thư viện Android mặc định, nó 
-bao gồm các gói cơ bản để xây dựng ứng dụng (bằng các lớp thông dụng 
-chẳng hạn như Hoạt động, Dịch vụ, Ý định, Dạng xem, Nút, Ứng dụng, Trình cung cấp Nội dung, 
+Mọi ứng dụng đều được liên kết với thư viện Android mặc định, nó
+bao gồm các gói cơ bản để xây dựng ứng dụng (bằng các lớp thông dụng
+chẳng hạn như Hoạt động, Dịch vụ, Ý định, Dạng xem, Nút, Ứng dụng, Trình cung cấp Nội dung,
 v.v.).
 </p>
 
 <p>
-Tuy nhiên, một số gói nằm trong thư viện của chính mình.  Nếu ứng dụng của bạn 
-sử dụng mã từ bất kỳ gói nào trong những gói này, nó phải công khai yêu cầu được liên kết 
-với chúng.  Bản kê khai phải chứa một phần tử 
-<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code> 
-riêng để đặt tên cho từng thư viện.  (Tên thư viện có thể được tìm thấy trong tài liệu 
+Tuy nhiên, một số gói nằm trong thư viện của chính mình.  Nếu ứng dụng của bạn
+sử dụng mã từ bất kỳ gói nào trong những gói này, nó phải công khai yêu cầu được liên kết
+với chúng.  Bản kê khai phải chứa một phần tử
+<code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code>
+riêng để đặt tên cho từng thư viện.  (Tên thư viện có thể được tìm thấy trong tài liệu
 của gói.)
 </p>
diff --git a/docs/html-intl/intl/vi/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/vi/guide/topics/providers/calendar-provider.jd
index e2ecdb3..c9d779b 100644
--- a/docs/html-intl/intl/vi/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/vi/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">Sử dụng ý định để xem dữ liệu lịch</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">Trình điều hợp Đồng bộ</a></li>
 </ol>
 
@@ -63,8 +63,8 @@
 
 <p>API Trình cung cấp Lịch có thể được sử dụng bởi các ứng dụng và trình điều hợp đồng bộ. Các quy tắc
 thay đổi tùy vào loại chương trình đang thực hiện lệnh gọi. Tài liệu này
-tập trung chủ yếu vào việc sử dụng API Trình cung cấp Lịch như một ứng dụng. Để bàn 
-về việc các trình điều hợp đồng bộ khác nhau như thế nào, hãy xem phần 
+tập trung chủ yếu vào việc sử dụng API Trình cung cấp Lịch như một ứng dụng. Để bàn
+về việc các trình điều hợp đồng bộ khác nhau như thế nào, hãy xem phần
 <a href="#sync-adapter">Trình điều hợp Đồng bộ</a>.</p>
 
 
@@ -79,17 +79,17 @@
 
 <h2 id="overview">Nội dung Cơ bản</h2>
 
-<p><a href="{@docRoot}guide/topics/providers/content-providers.html">Các trình cung cấp nội dung</a> sẽ lưu trữ dữ liệu và cho phép truy cập 
+<p><a href="{@docRoot}guide/topics/providers/content-providers.html">Các trình cung cấp nội dung</a> sẽ lưu trữ dữ liệu và cho phép truy cập
 ứng dụng. Trình cung cấp nội dung được nền tảng Android giới thiệu (bao gồm Trình cung cấp Lịch) thường trình bày dữ liệu như một tập hợp gồm nhiều bảng dựa trên một
 mô hình cơ sở dữ liệu quan hệ, trong đó mỗi hàng là một bản ghi và mỗi cột là dữ liệu thuộc
 một loại và có ý nghĩa cụ thể. Thông qua API Trình cung cấp Lịch, các ứng dụng
 và trình điều hợp đồng bộ có thể nhận được quyền truy cập đọc/ghi vào các bảng trong cơ sở dữ liệu là nơi chứa
 dữ liệu lịch của người dùng.</p>
 
-<p>Mọi trình cung cấp nội dung đều đưa ra một URI công khai (được bẻ dòng như một đối tượng 
+<p>Mọi trình cung cấp nội dung đều đưa ra một URI công khai (được bẻ dòng như một đối tượng
 {@link android.net.Uri}
 ) để xác định tập dữ liệu của nó một cách duy nhất.  Trình cung cấp nội dung mà kiểm soát nhiều
- tập dữ liệu (nhiều bảng) sẽ đưa ra một URI riêng cho từng bảng.  Tất cả 
+ tập dữ liệu (nhiều bảng) sẽ đưa ra một URI riêng cho từng bảng.  Tất cả
 URI cho trình cung cấp đều bắt đầu bằng xâu "content://".  Điều này
 sẽ xác định dữ liệu là đang được kiểm soát bởi một trình cung cấp nội dung. Trình cung cấp
 Lịch định nghĩa các hằng số cho URI đối với từng lớp (bảng) của nó. Những URI
@@ -113,26 +113,26 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
-    <td>Bảng này chứa 
+
+    <td>Bảng này chứa
 thông tin riêng của lịch. Mỗi hàng trong bảng này chứa chi tiết của
 một lịch duy nhất, chẳng hạn như tên, màu, thông tin đồng bộ, v.v.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>Bảng này chứa
 thông tin riêng theo sự kiện. Mỗi hàng trong bảng có thông tin cho một
 sự kiện duy nhất&mdash;ví dụ: tiêu đề sự kiện, địa điểm, thời gian bắt đầu
 , thời gian kết thúc, v.v. Sự kiện có thể xảy ra một lần hoặc lặp lại nhiều lần. Người dự,
-nhắc nhở, và các tính chất mở rộng được lưu trữ trong các bảng riêng. 
-Mỗi mục đều có một {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+nhắc nhở, và các tính chất mở rộng được lưu trữ trong các bảng riêng.
+Mỗi mục đều có một {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 tham chiếu tới {@link android.provider.BaseColumns#_ID} trong bảng Sự kiện.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>Bảng này chứa
 thời gian bắt đầu và thời gian kết thúc của mỗi lần xảy ra một sự kiện. Mỗi hàng trong bảng này
 đại diện cho một lần xảy ra sự kiện. Với các sự kiện xảy ra một lần thì có một ánh xạ 1:1
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>Bảng này chứa
 thông tin về người dự (khách) của sự kiện. Mỗi hàng đại diện một khách duy nhất của
 một sự kiện. Nó quy định loại khách và phản hồi tham dự của khách
@@ -149,17 +149,17 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>Bảng này chứa
 dữ liệu về cảnh báo/thông báo. Mỗi hàng đại diện một cảnh báo duy nhất cho một sự kiện. Một
 sự kiện có thể có nhiều nhắc nhở. Số nhắc nhở tối đa của một sự kiện
-được quy định trong 
-{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS}, 
+được quy định trong
+{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS},
 được đặt bởi trình điều hợp đồng bộ đang
 sở hữu lịch đã cho. Nhắc nhở được quy định bằng số phút trước khi diễn ra sự kiện
 và có một phương pháp để xác định cách người dùng sẽ được cảnh báo.</td>
   </tr>
-  
+
 </table>
 
 <p>API Trình cung cấp Lịch được thiết kế để linh hoạt và mạnh mẽ. Đồng
@@ -178,9 +178,9 @@
 
 
 <li><strong>Trình điều hợp đồng bộ.</strong> Trình điều hợp đồng bộ có chức năng đồng bộ dữ liệu lịch
-lên thiết bị của một người dùng bằng một máy chủ hoặc nguồn dữ liệu khác. Trong bảng 
+lên thiết bị của một người dùng bằng một máy chủ hoặc nguồn dữ liệu khác. Trong bảng
 {@link android.provider.CalendarContract.Calendars} và
-{@link android.provider.CalendarContract.Events}, 
+{@link android.provider.CalendarContract.Events},
 có các cột để cho trình điều hợp đồng bộ sử dụng.
 Trình cung cấp và ứng dụng không nên sửa đổi chúng. Trên thực tế, chúng không
 hiển thị trừ khi được truy cập như một trình điều hợp đồng bộ. Để biết thêm thông tin về
@@ -209,9 +209,9 @@
 
 <h2 id="calendar">Bảng Lịch</h2>
 
-<p>Bảng {@link android.provider.CalendarContract.Calendars} chứa thông tin chi tiết 
+<p>Bảng {@link android.provider.CalendarContract.Calendars} chứa thông tin chi tiết
 cho từng lịch. Các cột
-Lịch sau có thể ghi được bởi cả ứng dụng và <a href="#sync-adapter">trình điều hợp đồng bộ</a>. 
+Lịch sau có thể ghi được bởi cả ứng dụng và <a href="#sync-adapter">trình điều hợp đồng bộ</a>.
 Để xem danh sách đầy đủ về các trường được hỗ trợ, hãy xem tài liệu tham khảo
 {@link android.provider.CalendarContract.Calendars}.</p>
 <table>
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>Một boolean cho biết lịch có được chọn để hiển thị hay không. Giá trị
 bằng 0 cho biết các sự kiện liên kết với lịch này sẽ không được
 hiển thị.  Giá trị bằng 1 cho biết các sự kiện liên kết với lịch này sẽ được
@@ -240,10 +240,10 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>Một boolean cho biết lịch sẽ được đồng bộ và có các sự kiện
 của mình được lưu trữ trên thiết bị hay không. Giá trị bằng 0 tức là không đồng bộ lịch này hay
-lưu giữ các sự kiện của nó lên thiết bị.  Giá trị bằng 1 tức là đồng bộ các sự kiện cho lịch này 
+lưu giữ các sự kiện của nó lên thiết bị.  Giá trị bằng 1 tức là đồng bộ các sự kiện cho lịch này
 và lưu trữ các sự kiện của nó lên thiết bị.</td>
   </tr>
 </table>
@@ -253,8 +253,8 @@
 <p>Sau đây là một ví dụ về cách nhận được lịch do một người dùng
 cụ thể sở hữu. Để đơn giản, trong ví dụ này, thao tác truy vấn được thể hiện trong
  luồng giao diện người dùng ("luồng chính"). Trong thực hành, nên làm điều này trong một luồng
-không đồng bộ thay vì trên luồng chính. Để bàn thêm, hãy xem phần 
-<a href="{@docRoot}guide/components/loaders.html">Trình tải</a>. Nếu bạn đang không chỉ 
+không đồng bộ thay vì trên luồng chính. Để bàn thêm, hãy xem phần
+<a href="{@docRoot}guide/components/loaders.html">Trình tải</a>. Nếu bạn đang không chỉ
 đọc dữ liệu mà còn sửa đổi nó, hãy xem {@link android.content.AsyncQueryHandler}.
 </p>
 
@@ -268,18 +268,18 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Tại sao bạn phải nêu
 ACCOUNT_TYPE?</h3> <p>Nếu bạn truy vấn trên một {@link
 android.provider.CalendarContract.Calendars#ACCOUNT_NAME
-Calendars.ACCOUNT_NAME}, bạn cũng phải nêu 
+Calendars.ACCOUNT_NAME}, bạn cũng phải nêu
 {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
 trong lựa chọn. Đó là vì một tài khoản đã cho chỉ
 được coi là duy nhất nếu có cả <code>ACCOUNT_NAME</code> và
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} dành cho các lịch
 không liên kết với một tài khoản thiết bị. Tài khoản {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} không được
-đồng bộ.</p> </div> </div> 
+đồng bộ.</p> </div> </div>
 
 
 <p> Trong phần tiếp theo của ví dụ, bạn sẽ xây dựng truy vấn của mình. Lựa chọn
@@ -301,58 +301,58 @@
 đã xem, không chỉ các lịch mà người dùng sở hữu, hãy bỏ qua <code>OWNER_ACCOUNT</code>.
 Truy vấn sẽ trả về đối tượng {@link android.database.Cursor}
 mà bạn có thể sử dụng để xem xét tập kết quả được trả về bởi truy vấn
-cơ sở dữ liệu. Để bàn thêm về việc sử dụng các truy vấn trong trình cung cấp nội dung, 
+cơ sở dữ liệu. Để bàn thêm về việc sử dụng các truy vấn trong trình cung cấp nội dung,
 hãy xem phần <a href="{@docRoot}guide/topics/providers/content-providers.html">Trình cung cấp Nội dung</a>.</p>
 
 
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>Phần tiếp theo sử dụng con chạy để duyệt qua tập kết quả. Nó sử dụng
 các hằng số được thiết lập ngay từ đầu ví dụ để trả về các giá trị
 cho mỗi trường.</p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">Sửa đổi một lịch</h3>
 
 <p>Để thực hiện cập nhật một lịch, bạn có thể cung cấp {@link
 android.provider.BaseColumns#_ID} của lịch hoặc dưới dạng ID được nối vào cho
-Uri 
+Uri
 
-({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 hoặc dưới dạng mục chọn đầu tiên. Lựa chọn
 nên bắt đầu bằng <code>&quot;_id=?&quot;</code>, và
 <code>selectionArg</code> đầu tiên sẽ là {@link
-android.provider.BaseColumns#_ID} của lịch. 
+android.provider.BaseColumns#_ID} của lịch.
 Bạn cũng có thể thực hiện cập nhật bằng cách mã hóa ID trong URI. Ví dụ này thay đổi tên hiển thị
-của một lịch bằng cách sử dụng phương pháp 
+của một lịch bằng cách sử dụng phương pháp
 ({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 :</p>
 
@@ -375,7 +375,7 @@
 chèn lịch dưới dạng một trình điều hợp đồng bộ, sử dụng {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} của {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}.
-{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} 
+{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 là một loại tài khoản đặc biệt dành cho các lịch không
 liên kết với một tài khoản thiết bị. Các lịch loại này không được đồng bộ với một máy chủ. Để
 bàn về trình điều hợp đồng bộ, hãy xem phần <a href="#sync-adapter">Trình điều hợp Đồng bộ</a>.</p>
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>Thời lượng của sự kiện theo định dạng <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a>.
 Ví dụ, giá trị bằng <code>&quot;PT1H&quot;</code> cho biết sự kiện sẽ kéo dài
 một giờ và giá trị bằng <code>&quot;P2W&quot;</code> cho biết
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>Giá trị bằng 1 cho biết sự kiện này chiếm cả ngày, được xác định bởi
 múi giờ tại địa phương. Giá trị bằng 0 cho biết đó là một sự kiện thường xuyên mà có thể bắt đầu
 và kết thúc vào bất cứ lúc nào trong một ngày.</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>Quy tắc lặp lại đối với định dạng sự kiện. Ví
 dụ, <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>. Bạn có thể tìm thêm
 nhiều ví dụ hơn <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">ở đây</a>.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>Ngày lặp lại đối với sự kiện. 
-    Bạn thường sử dụng {@link android.provider.CalendarContract.EventsColumns#RDATE} 
-    cùng với {@link android.provider.CalendarContract.EventsColumns#RRULE} 
+    <td>Ngày lặp lại đối với sự kiện.
+    Bạn thường sử dụng {@link android.provider.CalendarContract.EventsColumns#RDATE}
+    cùng với {@link android.provider.CalendarContract.EventsColumns#RRULE}
     để định nghĩa một tập tổng hợp
 các trường hợp xảy ra lặp lại. Để bàn thêm, hãy xem phần <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 spec</a>.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
-    <td>Xem sự kiện này được tính là thời gian bận hay là thời gian rảnh có thể được 
+
+    <td>Xem sự kiện này được tính là thời gian bận hay là thời gian rảnh có thể được
 xếp lại lịch. </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 bạn đang chèn một sự kiện thông qua Ý định {@link
 android.content.Intent#ACTION_INSERT INSERT} như được mô tả trong <a href="#intent-insert">Sử dụng ý định để chèn một sự kiện</a>&mdash;trong kịch bản
 đó, một múi giờ mặc định sẽ được cung cấp.</li>
-  
+
   <li>Đối với các sự kiện không định kỳ, bạn phải đưa vào {@link
 android.provider.CalendarContract.EventsColumns#DTEND}. </li>
-  
-  
+
+
   <li>Đối với các sự kiện định kỳ, bạn phải đưa vào một {@link
 android.provider.CalendarContract.EventsColumns#DURATION} bên cạnh {@link
 android.provider.CalendarContract.EventsColumns#RRULE} hay {@link
@@ -526,9 +526,9 @@
 bạn đang chèn một sự kiện thông qua Ý định {@link
 android.content.Intent#ACTION_INSERT INSERT} như được mô tả trong <a href="#intent-insert">Sử dụng ý định để chèn một sự kiện</a>&mdash;trong kịch bản
 đó, bạn có thể sử dụng một {@link
-android.provider.CalendarContract.EventsColumns#RRULE} cùng với {@link android.provider.CalendarContract.EventsColumns#DTSTART} và {@link android.provider.CalendarContract.EventsColumns#DTEND}, và ứng dụng Lịch 
+android.provider.CalendarContract.EventsColumns#RRULE} cùng với {@link android.provider.CalendarContract.EventsColumns#DTSTART} và {@link android.provider.CalendarContract.EventsColumns#DTEND}, và ứng dụng Lịch
 sẽ tự động chuyển nó thành một thời lượng.</li>
-  
+
 </ul>
 
 <p>Sau đây là một ví dụ về cách chèn một sự kiện. Ví dụ này đang được thực hiện trong luồng
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -578,14 +578,14 @@
 bạn nên sử dụng một Ý định {@link android.content.Intent#ACTION_EDIT EDIT} như được mô tả
 trong <a href="#intent-edit">Sử dụng ý định để chỉnh sửa một sự kiện</a>.
 Tuy nhiên, nếu cần, bạn có thể chỉnh sửa sự kiện trực tiếp. Để thực hiện cập nhật
-một Sự kiện, bạn có thể cung cấp <code>_ID</code> của sự kiện 
+một Sự kiện, bạn có thể cung cấp <code>_ID</code> của sự kiện
 hoặc dưới dạng ID được nối vào cho Uri ({@link
-android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
-hoặc dưới dạng mục chọn đầu tiên. 
+android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
+hoặc dưới dạng mục chọn đầu tiên.
 Lựa chọn nên bắt đầu bằng <code>&quot;_id=?&quot;</code>, và
 <code>selectionArg</code> đầu tiên nên là <code>_ID</code> của sự kiện. Bạn cũng có thể
 thực hiện cập nhật bằng cách sử dụng một lựa chọn không có ID. Sau đây là một ví dụ về cách cập nhật một
-sự kiện. Nó thay đổi tiêu đề của sự kiện bằng cách sử dụng phương pháp 
+sự kiện. Nó thay đổi tiêu đề của sự kiện bằng cách sử dụng phương pháp
 {@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}
 :</p>
 
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,22 +625,22 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Bảng Người dự</h2>
 
 <p>Mỗi hàng của bảng {@link android.provider.CalendarContract.Attendees} đại diện
-cho một người dự hoặc khách duy nhất của một sự kiện. Gọi 
-{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 
+cho một người dự hoặc khách duy nhất của một sự kiện. Gọi
+{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 sẽ trả về một danh sách người dự cho sự kiện
-với {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} đã cho. 
+với {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} đã cho.
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} này
 phải khớp với {@link
-android.provider.BaseColumns#_ID} của một sự kiện cụ thể.</p> 
+android.provider.BaseColumns#_ID} của một sự kiện cụ thể.</p>
 
 <p>Bảng sau liệt kê các trường
-có thể ghi được. Khi chèn một người dự mới, bạn phải điền tất cả 
+có thể ghi được. Khi chèn một người dự mới, bạn phải điền tất cả
 ngoại trừ <code>ATTENDEE_NAME</code>.
 </p>
 
@@ -698,7 +698,7 @@
 <h3 id="add-attendees">Thêm Người dự</h3>
 
 <p>Sau đây là một ví dụ về cách thêm một người dự vào một sự kiện. Lưu ý rằng
-{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 là bắt buộc:</p>
 
 <pre>
@@ -718,17 +718,17 @@
 <h2 id="reminders">Bảng Nhắc nhở</h2>
 
 <p>Mỗi hàng của bảng {@link android.provider.CalendarContract.Reminders} đại diện
-cho một nhắc nhở của một sự kiện. Gọi 
+cho một nhắc nhở của một sự kiện. Gọi
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}  sẽ trả về một danh sách nhắc nhở cho
-sự kiện với 
+sự kiện với
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} đã cho.</p>
 
 
 <p>Bảng sau liệt kê các trường ghi được đối với nhắc nhở. Tất cả đều phải được
 đưa vào khi chèn một nhắc nhở mới. Lưu ý rằng các trình điều hợp đồng bộ quy định
 các loại nhắc nhở chúng hỗ trợ trong bảng {@link
-android.provider.CalendarContract.Calendars}. Xem 
-{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS} 
+android.provider.CalendarContract.Calendars}. Xem
+{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}
 để biết chi tiết.</p>
 
 
@@ -773,16 +773,16 @@
 
 <h2 id="instances">Bảng Thực thể</h2>
 
-<p>Bảng 
+<p>Bảng
 {@link android.provider.CalendarContract.Instances} chứa
 thời gian bắt đầu và thời gian kết thúc của các lần xảy ra một sự kiện. Mỗi hàng trong bảng này
 đại diện cho một lần xảy ra sự kiện. Bảng thực thể không ghi được và chỉ
 đưa ra một cách để truy vấn các lần xảy ra sự kiện. </p>
 
-<p>Bảng sau liệt kê một số trường mà bạn có thể truy vấn đối với một thực thể. Lưu ý 
-rằng múi giờ được định nghĩa bởi 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 
-và 
+<p>Bảng sau liệt kê một số trường mà bạn có thể truy vấn đối với một thực thể. Lưu ý
+rằng múi giờ được định nghĩa bởi
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
+và
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}.</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>Ngày kết thúc theo lịch Julian của thực thể theo múi giờ
-của Lịch. 
-    
+của Lịch.
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>Phút kết thúc của thực thể được xác định từ nửa đêm theo múi giờ
 của Lịch.</td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>Ngày bắt đầu theo lịch Julian của thực thể theo múi giờ của Lịch. 
+    <td>Ngày bắt đầu theo lịch Julian của thực thể theo múi giờ của Lịch.
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>Phút bắt đầu của thực thể được xác định từ nửa đêm theo múi giờ
-của Lịch. 
+của Lịch.
 </td>
-    
+
   </tr>
 
 </table>
@@ -840,7 +840,7 @@
 trong URI. Trong ví dụ này, {@link android.provider.CalendarContract.Instances}
 có quyền truy cập trường {@link
 android.provider.CalendarContract.EventsColumns#TITLE} thông qua việc
-triển khai giao diện {@link android.provider.CalendarContract.EventsColumns} của nó. 
+triển khai giao diện {@link android.provider.CalendarContract.EventsColumns} của nó.
 Nói cách khác, {@link
 android.provider.CalendarContract.EventsColumns#TITLE} được trả về qua một
 chế độ xem cơ sở dữ liệu, chứ không qua việc truy vấn bảng {@link
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -922,9 +922,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    Bạn cũng có thể tham khảo tới URI bằng 
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}. 
-Để xem một ví dụ về cách sử dụng ý định này, hãy xem <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Sử dụng ý định để xem dữ liệu lịch</a>. 
+    Bạn cũng có thể tham khảo tới URI bằng
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}.
+Để xem một ví dụ về cách sử dụng ý định này, hãy xem <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Sử dụng ý định để xem dữ liệu lịch</a>.
 
     </td>
     <td>Mở lịch đến thời gian được chỉ định bởi <code>&lt;ms_since_epoch&gt;</code>.</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    Bạn cũng có thể tham khảo tới URI bằng 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+    Bạn cũng có thể tham khảo tới URI bằng
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Để xem một ví dụ về cách sử dụng ý định này, hãy xem <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Sử dụng ý định để xem dữ liệu lịch</a>.
-    
+
     </td>
     <td>Xem sự kiện được chỉ định bởi <code>&lt;event_id&gt;</code>.</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  Bạn cũng có thể tham khảo tới URI bằng 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+  Bạn cũng có thể tham khảo tới URI bằng
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Để xem một ví dụ về cách sử dụng ý định này, hãy xem <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">Sử dụng ý định để chỉnh sửa một sự kiện</a>.
-    
-    
+
+
     </td>
     <td>Chỉnh sửa sự kiện được chỉ định bởi <code>&lt;event_id&gt;</code>.</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   Bạn cũng có thể tham khảo tới URI bằng 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+   Bạn cũng có thể tham khảo tới URI bằng
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 Để xem một ví dụ về cách sử dụng ý định này, hãy xem <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">Sử dụng ý định để chèn một sự kiện</a>.
-    
+
     </td>
 
     <td>Tạo một sự kiện.</td>
@@ -996,7 +996,7 @@
     <td>Tên cho sự kiện.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>Thời gian bắt đầu sự kiện tính bằng mili giây trôi qua kể từ giờ epoch.</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>Thời gian kết thúc sự kiện tính bằng mili giây trôi qua kể từ giờ epoch.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>Một boolean cho biết đó là một sự kiện cả ngày. Giá trị có thể bằng
 <code>true</code> hoặc <code>false</code>.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>Địa điểm của sự kiện.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>Mô tả sự kiện.</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>Sự kiện là riêng tư hay công khai.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>Xem sự kiện này tính là thời gian bận hay là thời gian rảnh có thể được xếp lại lịch.</td>
-    
-</table> 
+
+</table>
 <p>Các phần sau mô tả cách sử dụng những ý định này.</p>
 
 
@@ -1059,23 +1059,23 @@
 Bằng cách này, ứng dụng của bạn thậm chí không cần phải có quyền {@link
 android.Manifest.permission#WRITE_CALENDAR} được bao gồm trong <a href="#manifest">tệp bản kê khai</a> của mình.</p>
 
-  
+
 <p>Khi người dùng chạy một ứng dụng mà sử dụng cách này, ứng dụng sẽ gửi
 chúng tới Lịch để hoàn thành việc thêm một sự kiện. Ý định {@link
 android.content.Intent#ACTION_INSERT INSERT} sử dụng các trường phụ thêm để
 điền trước vào một mẫu bằng các chi tiết của sự kiện trong Lịch. Khi đó, người dùng có thể
 hủy bỏ sự kiện, chỉnh sửa mẫu nếu cần, hoặc lưu sự kiện vào lịch
 của mình.</p>
-  
+
 
 
 <p>Sau đây là một đoạn mã HTML lập biểu một sự kiện vào ngày 19/1/2012, diễn ra
 từ 7:30 sáng đến 8:30 sáng. Lưu ý điều sau đây về đoạn mã HTML này:</p>
 
 <ul>
-  <li>Nó quy định {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 
+  <li>Nó quy định {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}
  là Uri.</li>
-  
+
   <li>Nó sử dụng các trường phụ {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} và {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} để điền trước thời gian của sự kiện
 vào mẫu. Các giá trị đối với những thời gian này phải tính bằng mili giây UTC
 trôi qua kể từ giờ epoch.</li>
-  
+
   <li>Nó sử dụng trường phụ {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 để cung cấp một danh sách người được mời phân cách bằng dấu phẩy, được chỉ định theo địa chỉ e-mail.</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,18 +1158,18 @@
 
 <ul>
   <li>Trình điều hợp đồng bộ cần chỉ định rằng nó là một trình điều hợp đồng bộ bằng cách đặt {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} thành <code>true</code>.</li>
-  
-  
+
+
   <li>Trình điều hợp đồng bộ cần cung cấp một {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} và một {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} làm tham số truy vấn trong URI. </li>
-  
+
   <li>Trình điều hợp đồng bộ có quyền truy nhập ghi vào nhiều cột hơn ứng dụng hay widget.
-  Ví dụ, một ứng dụng chỉ có thể sửa đổi một vài đặc điểm của một lịch, 
+  Ví dụ, một ứng dụng chỉ có thể sửa đổi một vài đặc điểm của một lịch,
   chẳng hạn như tên lịch, tên hiển thị, thiết đặt hiển thị, và lịch có được
   đồng bộ hay không. Nếu so sánh, một trình điều hợp đồng bộ có thể truy cập không chỉ những cột đó, mà còn nhiều cột khác,
   chẳng hạn như màu lịch, múi giờ, mức truy nhập, địa điểm, v.v.
-Tuy nhiên, trình điều hợp đồng bộ bị hạn chế đối với <code>ACCOUNT_NAME</code> và 
+Tuy nhiên, trình điều hợp đồng bộ bị hạn chế đối với <code>ACCOUNT_NAME</code> và
 <code>ACCOUNT_TYPE</code> mà nó quy định.</li> </ul>
 
 <p>Sau đây là một phương pháp hữu ích hơn mà bạn có thể sử dụng để trả về một URI để dùng với một trình điều hợp đồng bộ:</p>
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>Để biết việc triển khai mẫu trình điều hợp đồng bộ (không liên quan cụ thể tới Lịch), hãy xem phần 
+<p>Để biết việc triển khai mẫu trình điều hợp đồng bộ (không liên quan cụ thể tới Lịch), hãy xem phần
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>.
diff --git a/docs/html-intl/intl/vi/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/vi/guide/topics/providers/contacts-provider.jd
index 2fa2ed3..2d94e10 100644
--- a/docs/html-intl/intl/vi/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/vi/guide/topics/providers/contacts-provider.jd
@@ -253,7 +253,7 @@
             Ví dụ, nếu bạn muốn ứng dụng của mình duy trì dữ liệu danh bạ cho dịch vụ dựa trên nền web của mình
             với miền {@code com.example.dataservice}, và tài khoản của người dùng cho dịch vụ của bạn
             là {@code becky.sharp@dataservice.example.com}, trước tiên, người dùng phải thêm
-            "loại" tài khoản ({@code com.example.dataservice}) và "tên" tài khoản 
+            "loại" tài khoản ({@code com.example.dataservice}) và "tên" tài khoản
             ({@code becky.smart@dataservice.example.com}) trước khi ứng dụng của bạn có thể thêm hàng liên lạc thô.
             Bạn có thể giải thích yêu cầu này với người dùng bằng tài liệu, hoặc bạn có thể nhắc
             người dùng thêm loại và tên này, hoặc cả hai. Loại tài khoản và tên tài khoản
@@ -1697,7 +1697,7 @@
 <p>
     Nếu dịch vụ chấp nhận thông tin xác thực, trình xác thực có thể
     lưu giữ thông tin xác thực đó để sử dụng sau. Vì khuôn khổ trình xác thực bổ trợ,
-    {@link android.accounts.AccountManager} có thể cung cấp quyền truy cập bất kỳ token xác thực nào mà một trình xác thực 
+    {@link android.accounts.AccountManager} có thể cung cấp quyền truy cập bất kỳ token xác thực nào mà một trình xác thực
     hỗ trợ và chọn hiện ra, chẳng hạn như token xác thực OAuth2.
 </p>
 <p>
@@ -1821,7 +1821,7 @@
     </dl>
 <h2 id="SocialStream">Dữ liệu từ Luồng Xã hội</h2>
 <p>
-    Các bảng {@code android.provider.ContactsContract.StreamItems} và 
+    Các bảng {@code android.provider.ContactsContract.StreamItems} và
     {@code android.provider.ContactsContract.StreamItemPhotos} quản lý
     dữ liệu đến từ các mạng xã hội. Bạn có thể ghi một trình điều hợp đồng bộ mà thêm dữ liệu luồng từ
     mạng của chính mình vào những bảng này, hoặc bạn có thể đọc dữ liệu luồng từ những bảng này và
@@ -1830,7 +1830,7 @@
 </p>
 <h3 id="StreamText">Văn bản từ luồng xã hội</h3>
 <p>
-    Các mục dòng dữ liệu luôn được liên kết với một liên lạc thô. 
+    Các mục dòng dữ liệu luôn được liên kết với một liên lạc thô.
     {@code android.provider.ContactsContract.StreamItemsColumns#RAW_CONTACT_ID} liên kết với giá trị
     <code>_ID</code> của liên lạc thô mới. Loại tài khoản và tên tài khoản của liên lạc thô
     cũng được lưu giữ trong hàng mục dòng.
@@ -1934,7 +1934,7 @@
         Cột này có sẵn để tương thích ngược với các phiên bản trước của Trình cung cấp
         Danh bạ mà đã sử dụng nó để lưu giữ ảnh. Tuy nhiên, trong phiên bản hiện tại
         bạn không nên sử dụng cột này để lưu giữ ảnh. Thay vào đó, hãy sử dụng
-        hoặc {@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_FILE_ID} hoặc 
+        hoặc {@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_FILE_ID} hoặc
         {@code android.provider.ContactsContract.StreamItemPhotosColumns#PHOTO_URI} (cả hai
         đều được mô tả trong các điểm sau) để lưu giữ ảnh trong một tệp. Lúc này, cột này
         chứa một hình thu nhỏ của ảnh sẵn sàng để đọc.
@@ -2344,7 +2344,7 @@
     việc truy xuất thông tin ảnh. Không có lớp thuận tiện cho việc truy xuất hình thu nhỏ
     chính đối với một liên lạc thô, nhưng bạn có thể gửi một truy vấn tới bảng
     {@link android.provider.ContactsContract.Data}, chọn
-    {@code android.provider.BaseColumns#_ID} của liên lạc thô, 
+    {@code android.provider.BaseColumns#_ID} của liên lạc thô,
     {@link android.provider.ContactsContract.CommonDataKinds.Photo#CONTENT_ITEM_TYPE
     Photo.CONTENT_ITEM_TYPE}, và cột {@link android.provider.ContactsContract.Data#IS_PRIMARY}
     để tìm hàng ảnh chính của liên lạc thô.
diff --git a/docs/html-intl/intl/vi/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/vi/guide/topics/providers/content-provider-basics.jd
index 5f868ca..808c0f7 100644
--- a/docs/html-intl/intl/vi/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/vi/guide/topics/providers/content-provider-basics.jd
@@ -236,7 +236,7 @@
     Ví dụ, để có một danh sách các từ và nội dung bản địa của chúng từ Trình cung cấp Từ điển Người dùng,
     bạn hãy gọi {@link android.content.ContentResolver#query ContentResolver.query()}.
     Phương pháp {@link android.content.ContentResolver#query query()} sẽ gọi phương pháp
-    {@link android.content.ContentProvider#query ContentProvider.query()} được định nghĩa bởi 
+    {@link android.content.ContentProvider#query ContentProvider.query()} được định nghĩa bởi
     Trình cung cấp Từ điển Người dùng. Các dòng mã sau thể hiện một lệnh gọi
     {@link android.content.ContentResolver#query ContentResolver.query()}:
 <p>
@@ -251,7 +251,7 @@
 </pre>
 <p>
     Bảng 2 cho biết các tham đối tới
-    {@link android.content.ContentResolver#query 
+    {@link android.content.ContentResolver#query
     query(Uri,projection,selection,selectionArgs,sortOrder)} khớp với một câu lệnh SQL SELECT như thế nào:
 </p>
 <p class="table-caption">
@@ -292,7 +292,7 @@
         <td align="center"><code>sortOrder</code></td>
         <td align="center"><code>ORDER BY <em>col,col,...</em></code></td>
         <td>
-            <code>sortOrder</code> quy định thứ tự các hàng xuất hiện trong 
+            <code>sortOrder</code> quy định thứ tự các hàng xuất hiện trong
             {@link android.database.Cursor} được trả về.
         </td>
     </tr>
@@ -344,7 +344,7 @@
 </p>
 <p class="note">
     <strong>Lưu ý:</strong> Các lớp {@link android.net.Uri} và {@link android.net.Uri.Builder}
-    chứa các phương pháp thuận tiện để xây dựng đối tượng URI định dạng tốt từ các xâu. 
+    chứa các phương pháp thuận tiện để xây dựng đối tượng URI định dạng tốt từ các xâu.
     {@link android.content.ContentUris} chứa các phương pháp thuận tiện để nối các giá trị id với
     một URI. Đoạn mã HTML trước sử dụng {@link android.content.ContentUris#withAppendedId
 withAppendedId()} để nối một id với URI nội dung Từ điển Người dùng.
@@ -359,8 +359,8 @@
 </p>
 <p class="note">
     Để giải thích rõ, đoạn mã HTML trong phần này gọi
-    {@link android.content.ContentResolver#query ContentResolver.query()} trên "luồng UI"". Tuy nhiên, trong 
-    mã thực sự, bạn nên thực hiện các truy vấn không đồng bộ trên một luồng riêng. Một cách để làm 
+    {@link android.content.ContentResolver#query ContentResolver.query()} trên "luồng UI"". Tuy nhiên, trong
+    mã thực sự, bạn nên thực hiện các truy vấn không đồng bộ trên một luồng riêng. Một cách để làm
     điều này đó là sử dụng lớp {@link android.content.CursorLoader}, nó được mô tả chi tiết hơn
     trong hướng dẫn <a href="{@docRoot}guide/components/loaders.html">
     Trình tải</a>. Bênh cạnh đó, các dòng mã chỉ là đoạn mã HTML; chúng không thể hiện một ứng dụng
@@ -428,7 +428,7 @@
 <p>
     Đoạn mã HTML tiếp theo cho biết cách sử dụng
     {@link android.content.ContentResolver#query ContentResolver.query()}, bằng cách sử dụng Trình cung cấp Từ điển
-    Người dùng như một ví dụ. Truy vấn máy khách trình cung cấp tương tự như một truy vấn SQL, và nó chứa một 
+    Người dùng như một ví dụ. Truy vấn máy khách trình cung cấp tương tự như một truy vấn SQL, và nó chứa một
     tập hợp các cột để trả về, một tập hợp các tiêu chí lựa chọn, và một thứ tự sắp xếp.
 </p>
 <p>
@@ -438,8 +438,8 @@
 <p>
     Biểu thức để chỉ định các hàng cần truy xuất sẽ được chia thành một mệnh đề lựa chọn và
     tham đối lựa chọn. Mệnh đề lựa chọn là sự kết hợp giữa các biểu thức lô-gic và biểu thức Boolean,
-    tên cột, và giá trị (biến <code>mSelectionClause</code>). Nếu bạn chỉ định 
-    tham số thay thế được <code>?</code> thay vì một giá trị, phương pháp truy vấn sẽ truy xuất giá trị 
+    tên cột, và giá trị (biến <code>mSelectionClause</code>). Nếu bạn chỉ định
+    tham số thay thế được <code>?</code> thay vì một giá trị, phương pháp truy vấn sẽ truy xuất giá trị
     từ mảng tham đối lựa chọn (biến <code>mSelectionArgs</code>).
 </p>
 <p>
@@ -565,14 +565,14 @@
 <!-- Displaying the results -->
 <h3 id="DisplayResults">Hiển thị các kết quả truy vấn</h3>
 <p>
-    Phương pháp máy khách {@link android.content.ContentResolver#query ContentResolver.query()} luôn trả về 
-    một {@link android.database.Cursor} chứa các cột được chỉ định bởi dự thảo của 
-    truy vấn cho các hàng khớp với các tiêu chí lựa chọn của truy vấn. Một đối tượng 
-    {@link android.database.Cursor} cung cấp truy cập đọc ngẫu nhiên vào các hàng và cột mà nó 
-    chứa. Bằng cách sử dụng phương pháp {@link android.database.Cursor}, bạn có thể lặp lại các hàng trong 
+    Phương pháp máy khách {@link android.content.ContentResolver#query ContentResolver.query()} luôn trả về
+    một {@link android.database.Cursor} chứa các cột được chỉ định bởi dự thảo của
+    truy vấn cho các hàng khớp với các tiêu chí lựa chọn của truy vấn. Một đối tượng
+    {@link android.database.Cursor} cung cấp truy cập đọc ngẫu nhiên vào các hàng và cột mà nó
+    chứa. Bằng cách sử dụng phương pháp {@link android.database.Cursor}, bạn có thể lặp lại các hàng trong
     kết quả, xác định kiểu dữ liệu của từng cột, lấy dữ liệu ra khỏi cột, và kiểm tra các tính chất khác
-    của kết quả. Một số triển khai {@link android.database.Cursor} sẽ tự động 
-    cập nhật đối tượng khi dữ liệu của trình cung cấp thay đổi, hoặc kích khởi các phương pháp trong một đối tượng quan sát 
+    của kết quả. Một số triển khai {@link android.database.Cursor} sẽ tự động
+    cập nhật đối tượng khi dữ liệu của trình cung cấp thay đổi, hoặc kích khởi các phương pháp trong một đối tượng quan sát
     khi {@link android.database.Cursor} thay đổi, hoặc cả hai.
 </p>
 <p class="note">
@@ -703,14 +703,14 @@
 <p>
     Để nhận các quyền cần để truy cập một trình cung cấp, ứng dụng yêu cầu chúng bằng một phần tử
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
-    trong tệp bản kê khai của nó. Khi Trình quản lý Gói Android cài đặt các ứng dụng, người dùng 
+    trong tệp bản kê khai của nó. Khi Trình quản lý Gói Android cài đặt các ứng dụng, người dùng
     phải phê chuẩn tất cả quyền mà ứng dụng yêu cầu. Nếu người dùng phê chuẩn tất cả quyền, khi đó
     Trình quản lý Gói sẽ tiếp tục cài đặt; nếu người dùng không phê chuẩn chúng, Trình quản lý Gói sẽ
     hủy bỏ việc cài đặt.
 </p>
 <p>
     Phần tử
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
     sau yêu cầu quyền truy cập đọc vào Trình cung cấp Từ điển Người dùng:
 </p>
 <pre>
@@ -793,8 +793,8 @@
     Để cập nhật một hàng, bạn sử dụng một đối tượng {@link android.content.ContentValues} với các giá trị
     được cập nhật giống như cách bạn làm với việc chèn, và các tiêu chí lựa chọn giống như cách bạn làm với truy vấn.
     Phương pháp máy khách mà bạn sử dụng là
-    {@link android.content.ContentResolver#update ContentResolver.update()}. Bạn chỉ cần thêm 
-    các giá trị vào đối tượng {@link android.content.ContentValues} cho các cột mà bạn đang cập nhật. Nếu bạn 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. Bạn chỉ cần thêm
+    các giá trị vào đối tượng {@link android.content.ContentValues} cho các cột mà bạn đang cập nhật. Nếu bạn
     muốn xóa các nội dung của một cột, hãy đặt giá trị thành <code>null</code>.
 </p>
 <p>
@@ -828,7 +828,7 @@
 </pre>
 <p>
     Bạn cũng nên thanh lọc thông tin đầu vào của người dùng khi gọi
-    {@link android.content.ContentResolver#update ContentResolver.update()}. Để tìm hiểu thêm về 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. Để tìm hiểu thêm về
     điều này, hãy đọc phần <a href="#Injection">Bảo vệ trước mục nhập độc hại</a>.
 </p>
 <h3 id="Deleting">Xóa dữ liệu</h3>
@@ -858,7 +858,7 @@
 </pre>
 <p>
     Bạn cũng nên thanh lọc thông tin đầu vào của người dùng khi gọi
-    {@link android.content.ContentResolver#delete ContentResolver.delete()}. Để tìm hiểu thêm về 
+    {@link android.content.ContentResolver#delete ContentResolver.delete()}. Để tìm hiểu thêm về
     điều này, hãy đọc phần <a href="#Injection">Bảo vệ trước mục nhập độc hại</a>.
 </p>
 <!-- Provider Data Types -->
@@ -929,7 +929,7 @@
     </li>
     <li>
         <a href="#Intents">Truy cập dữ liệu thông qua ý định</a>: Mặc dù không thể gửi một ý định
-        trực tiếp tới một trình cung cấp, bạn có thể gửi một ý định tới ứng dụng của trình cung cấp đó, 
+        trực tiếp tới một trình cung cấp, bạn có thể gửi một ý định tới ứng dụng của trình cung cấp đó,
         đây thường là cách tốt nhất để sửa đổi dữ liệu của trình cung cấp.
     </li>
 </ul>
@@ -947,14 +947,14 @@
     bạn tạo một mảng đối tượng {@link android.content.ContentProviderOperation} rồi
     phân phối chúng tới một trình cung cấp nội dung bằng
     {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. Bạn chuyển
-    <em>quyền</em> của trình cung cấp nội dung cho phương pháp này thay vì một URI nội dung cụ thể. 
+    <em>quyền</em> của trình cung cấp nội dung cho phương pháp này thay vì một URI nội dung cụ thể.
 Điều này cho phép đối tượng {@link android.content.ContentProviderOperation} trong mảng có tác dụng
     đối với một bảng khác. Một lệnh gọi tới {@link android.content.ContentResolver#applyBatch
     ContentResolver.applyBatch()} trả về một mảng kết quả.
 </p>
 <p>
     Mô tả lớp hợp đồng {@link android.provider.ContactsContract.RawContacts}
-    bao gồm một đoạn mã HTML thể hiện việc chèn hàng loạt. Ứng dụng mẫu 
+    bao gồm một đoạn mã HTML thể hiện việc chèn hàng loạt. Ứng dụng mẫu
     <a href="{@docRoot}resources/samples/ContactManager/index.html">Trình quản lý Danh bạ</a>
     có một ví dụ về truy cập hàng loạt trong tệp nguồn <code>ContactAdder.java</code>
     của nó.
@@ -1053,7 +1053,7 @@
         trả kiểm soát về ứng dụng của bạn.
     </li>
     <li>
-        Hoạt động của bạn trả về tiền cảnh, và hệ thống sẽ gọi phương pháp 
+        Hoạt động của bạn trả về tiền cảnh, và hệ thống sẽ gọi phương pháp
         {@link android.app.Activity#onActivityResult onActivityResult()}
         của hoạt động của bạn. Phương pháp này nhận được ý định kết quả do hoạt động lựa chọn tạo trong
         ứng dụng Danh bạ.
diff --git a/docs/html-intl/intl/vi/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/vi/guide/topics/providers/content-provider-creating.jd
index 2e8579a..fcc9b0e 100644
--- a/docs/html-intl/intl/vi/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/vi/guide/topics/providers/content-provider-creating.jd
@@ -221,7 +221,7 @@
         có một trình cung cấp cho phép kết hợp dữ liệu bảng và các tệp.
     </li>
     <li>
-        Để làm việc với dữ liệu trên nền mạng, hãy sử dụng các lớp trong {@link java.net} và 
+        Để làm việc với dữ liệu trên nền mạng, hãy sử dụng các lớp trong {@link java.net} và
         {@link android.net}. Bạn cũng có thể đồng bộ hoá dữ liệu trên nền mạng với một kho lưu trữ dữ liệu cục bộ
         chẳng hạn như một cơ sở dữ liệu, rồi cung cấp dữ liệu dưới dạng bảng hoặc tệp.
         Ứng dụng mẫu <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">
@@ -381,7 +381,7 @@
     </dt>
     <dd>
         Khớp với một URI nội dung cho các bảng <code>dataset1</code>
-        và <code>dataset2</code>, nhưng không khớp với URI nội dung cho <code>table1</code> hoặc 
+        và <code>dataset2</code>, nhưng không khớp với URI nội dung cho <code>table1</code> hoặc
         <code>table3</code>.
     </dd>
     <dt>
@@ -614,7 +614,7 @@
 </p>
 <h3 id="Delete">Triển khai phương pháp delete()</h3>
 <p>
-    Phương pháp {@link android.content.ContentProvider#delete(Uri, String, String[]) delete()} 
+    Phương pháp {@link android.content.ContentProvider#delete(Uri, String, String[]) delete()}
     không cần phải xóa hàng thực chất khỏi kho lưu trữ dữ liệu của bạn. Nếu bạn đang sử dụng một trình điều hợp đồng bộ
     với trình cung cấp của mình, bạn nên cân nhắc đánh dấu một hàng đã xóa
     bằng cờ "xóa" thay vì gỡ bỏ hàng một cách hoàn toàn. Trình điều hợp đồng bộ có thể
@@ -626,7 +626,7 @@
     update()} lấy cùng tham đối {@link android.content.ContentValues} được sử dụng bởi
     {@link android.content.ContentProvider#insert(Uri, ContentValues) insert()}, và
     cùng tham đối <code>selection</code> và <code>selectionArgs</code> được sử dụng bởi
-    {@link android.content.ContentProvider#delete(Uri, String, String[]) delete()} và 
+    {@link android.content.ContentProvider#delete(Uri, String, String[]) delete()} và
     {@link android.content.ContentProvider#query(Uri, String[], String, String[], String)
     ContentProvider.query()}. Điều này có thể cho phép bạn sử dụng lại mã giữa những phương pháp này.
 </p>
diff --git a/docs/html-intl/intl/vi/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/vi/guide/topics/providers/document-provider.jd
index 30844d7..7948fc2 100644
--- a/docs/html-intl/intl/vi/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/vi/guide/topics/providers/document-provider.jd
@@ -146,7 +146,7 @@
 
 
 <li>Tài liệu có thể là một tệp mở được (có một kiểu MIME cụ thể), hoặc một
-thư mục chứa các tài liệu bổ sung (có kiểu MIME 
+thư mục chứa các tài liệu bổ sung (có kiểu MIME
 {@link android.provider.DocumentsContract.Document#MIME_TYPE_DIR}).</li>
 
 <li>Mỗi tài liệu có thể có các khả năng khác nhau như được mô tả bởi
@@ -177,7 +177,7 @@
 trực tiếp với nhau. Một máy khách yêu cầu quyền để tương tác
 với tệp (cụ thể là quyền đọc, chỉnh sửa, tạo hoặc xóa tệp).</li>
 
-<li>Tương tác bắt đầu khi một ứng dụng (trong ví dụ này này một ứng dụng ảnh) thể hiện ý định 
+<li>Tương tác bắt đầu khi một ứng dụng (trong ví dụ này này một ứng dụng ảnh) thể hiện ý định
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} hoặc {@link android.content.Intent#ACTION_CREATE_DOCUMENT}. Ý định có thể bao gồm các bộ lọc
 để cụ thể hơn các tiêu chí&mdash;ví dụ, "cấp cho tôi tất cả tệp mở được
 có kiểu MIME là 'image'."</li>
diff --git a/docs/html-intl/intl/vi/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/vi/guide/topics/resources/accessing-resources.jd
index b5491dc..0054562 100644
--- a/docs/html-intl/intl/vi/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/vi/guide/topics/resources/accessing-resources.jd
@@ -259,8 +259,8 @@
     android:text=&quot;&#64;string/hello&quot; /&gt;
 </pre>
 
-<p class="note"><strong>Lưu ý:</strong> Bạn nên sử dụng các tài nguyên xâu 
-vào mọi lúc, để ứng dụng của bạn có thể được bản địa hóa cho các ngôn ngữ khác. 
+<p class="note"><strong>Lưu ý:</strong> Bạn nên sử dụng các tài nguyên xâu
+vào mọi lúc, để ứng dụng của bạn có thể được bản địa hóa cho các ngôn ngữ khác.
 Để biết thông tin về việc tạo các tài nguyên
 thay thế (chẳng hạn như xâu được bản địa hóa), hãy xem phần <a href="providing-resources.html#AlternativeResources">Cung cấp Tài nguyên
 Thay thế</a>. Để được hướng dẫn đầy đủ về việc bản địa hóa ứng dụng của bạn cho các ngôn ngữ khác,
diff --git a/docs/html-intl/intl/vi/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/vi/guide/topics/resources/providing-resources.jd
index b733643..ef1c6b6 100644
--- a/docs/html-intl/intl/vi/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/vi/guide/topics/resources/providing-resources.jd
@@ -190,7 +190,7 @@
   </tr>
 </table>
 
-<p class="caution"><strong>Chú ý:</strong> Không được lưu tệp tài nguyên trực tiếp vào trong thư mục 
+<p class="caution"><strong>Chú ý:</strong> Không được lưu tệp tài nguyên trực tiếp vào trong thư mục
 {@code res/}&mdash;nó sẽ gây ra lỗi với trình biên dịch.</p>
 
 <p>Để biết thêm thông tin về các loại tài nguyên, hãy xem tài liệu <a href="available-resources.html">Các Loại Tài nguyên</a>.</p>
@@ -312,7 +312,7 @@
         v.v.
       </td>
       <td><p>Ngôn ngữ được định nghĩa bằng một mã ngôn ngữ <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">ISO
-              639-1</a> gồm hai chữ cái, có thể theo sau là một mã khu vực 
+              639-1</a> gồm hai chữ cái, có thể theo sau là một mã khu vực
               <a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO
               3166-1-alpha-2</a> dài hai chữ cái (đằng trước là "{@code r}" chữ thường).
         </p><p>
@@ -498,7 +498,7 @@
         <li>{@code xlarge}: Các màn hình lớn hơn đáng kể so với màn hình
         HVGA mật độ trung bình truyền thống. Kích cỡ bố trí tối thiểu đối với một màn hình siêu lớn
         bằng xấp xỉ 720x960 đơn vị dp.  Trong hầu hết trường hợp, những thiết bị có màn hình
-        siêu lớn sẽ quá lớn để mang trong túi và gần như là 
+        siêu lớn sẽ quá lớn để mang trong túi và gần như là
         thiết bị kiểu máy tính bảng. <em>Được thêm trong API mức 9.</em></li>
         </ul>
         <p class="note"><strong>Lưu ý:</strong> Việc sử dụng một hạn định kích cỡ không hàm ý rằng các
@@ -510,7 +510,7 @@
 ứng dụng của bạn sẽ bị lỗi vào thời gian chạy (ví dụ, nếu tất cả tài nguyên bố trí được gắn thẻ hạn định {@code
 xlarge} nhưng thiết bị lại có màn hình kích cỡ bình thường).</p>
         <p><em>Được thêm trong API mức 4.</em></p>
-        
+
         <p>Xem <a href="{@docRoot}guide/practices/screens_support.html">Hỗ trợ Nhiều
 Màn hình</a> để biết thêm thông tin.</p>
         <p>Xem thêm trường cấu hình {@link android.content.res.Configuration#screenLayout},
@@ -530,7 +530,7 @@
           <li>{@code notlong}: Màn hình không dài, chẳng hạn như QVGA, HVGA và VGA</li>
         </ul>
         <p><em>Được thêm trong API mức 4.</em></p>
-        <p>Giá trị này thuần túy được dựa trên tỷ lệ khung ảnh của màn hình (màn hình "dài" sẽ rộng hơn). Nó 
+        <p>Giá trị này thuần túy được dựa trên tỷ lệ khung ảnh của màn hình (màn hình "dài" sẽ rộng hơn). Nó
 không liên quan tới hướng của màn hình.</p>
         <p>Xem thêm trường cấu hình {@link android.content.res.Configuration#screenLayout},
 ở đó cho biết màn hình có dài không.</p>
@@ -628,7 +628,7 @@
           <li>{@code xxhdpi}: Màn hình mật độ siêu siêu cao; xấp xỉ 480dpi. <em>Được thêm trong API
 Mức 16</em></li>
           <li>{@code xxxhdpi}: Mật độ siêu siêu siêu cao sử dụng (chỉ biểu tượng trình khởi chạy, xem
-            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">ghi chú</a> 
+            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">ghi chú</a>
             trong <em>Hỗ trợ Nhiều Màn hình</em>); xấp xỉ 640dpi. <em>Được thêm trong API
 Mức 18</em></li>
           <li>{@code nodpi}: Loại này có thể được sử dụng cho tài nguyên bitmap mà bạn không muốn được định cỡ
@@ -950,7 +950,7 @@
 cấu hình mà bạn chưa nghĩ đến, mà còn bởi các phiên bản Android mới đôi khi thêm
 hạn định cấu hình mà những phiên bản cũ hơn không hỗ trợ. Nếu bạn sử dụng một hạn định tài nguyên mới,
 nhưng vẫn duy trì tính tương thích về mã với các phiên bản cũ hơn của Android thì khi một phiên bản cũ hơn của
-Android chạy trên ứng dụng của bạn, nó sẽ bị lỗi nếu bạn không cung cấp tài nguyên mặc định, do nó 
+Android chạy trên ứng dụng của bạn, nó sẽ bị lỗi nếu bạn không cung cấp tài nguyên mặc định, do nó
 không thể sử dụng tài nguyên được đặt tên bằng hạn định mới. Ví dụ, nếu <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
 minSdkVersion}</a> của bạn được đặt bằng 4, và bạn xác định tất cả tài nguyên vẽ được của mình bằng cách sử dụng <a href="#NightQualifier">chế độ ban đêm</a> ({@code night} hoặc {@code notnight}, đã được thêm trong API
 Mức 8), khi đó một thiết bị API mức 4 sẽ không thể truy cập tài nguyên vẽ được của bạn và sẽ bị lỗi. Trong trường hợp
diff --git a/docs/html-intl/intl/vi/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/vi/guide/topics/resources/runtime-changes.jd
index 4a9c38c..328b8ec 100644
--- a/docs/html-intl/intl/vi/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/vi/guide/topics/resources/runtime-changes.jd
@@ -82,12 +82,12 @@
 <p>Để giữ lại các đối tượng có trạng thái trong một phân đoạn trong khi thay đổi cấu hình thời gian chạy:</p>
 
 <ol>
-  <li>Mở rộng lớp {@link android.app.Fragment} và khai báo các tham chiếu tới đối tượng 
+  <li>Mở rộng lớp {@link android.app.Fragment} và khai báo các tham chiếu tới đối tượng
       có trạng thái của bạn.</li>
   <li>Gọi {@link android.app.Fragment#setRetainInstance(boolean)} khi phân đoạn được tạo.
       </li>
   <li>Thêm phân đoạn vào hoạt động của bạn.</li>
-  <li>Sử dụng {@link android.app.FragmentManager} để truy xuất phân đoạn khi hoạt động 
+  <li>Sử dụng {@link android.app.FragmentManager} để truy xuất phân đoạn khi hoạt động
       được khởi động lại.</li>
 </ol>
 
@@ -125,8 +125,8 @@
 có nghĩa là ứng dụng của bạn duy trì việc lưu giữ tài nguyên và chúng không thể được thu dọn bộ nhớ rác, vì thế
 rất nhiều bộ nhớ có thể bị mất.)</p>
 
-<p>Khi đó, hãy sử dụng {@link android.app.FragmentManager} để thêm phân đoạn vào hoạt động. 
-Bạn có thể thu được đối tượng dữ liệu từ phân đoạn khi hoạt động bắt đầu lại trong khi 
+<p>Khi đó, hãy sử dụng {@link android.app.FragmentManager} để thêm phân đoạn vào hoạt động.
+Bạn có thể thu được đối tượng dữ liệu từ phân đoạn khi hoạt động bắt đầu lại trong khi
 thay đổi cấu hình thời gian chạy. Ví dụ, định nghĩa hoạt động của bạn như sau:</p>
 
 <pre>
@@ -168,7 +168,7 @@
 <p>Trong ví dụ này, {@link android.app.Activity#onCreate(Bundle) onCreate()} thêm một phân đoạn
 hoặc khôi phục một tham chiếu đến nó. {@link android.app.Activity#onCreate(Bundle) onCreate()} cũng
 lưu trữ đối tượng có trạng thái bên trong thực thể phân đoạn đó.
-{@link android.app.Activity#onDestroy() onDestroy()} cập nhật đối tượng có trạng thái bên trong 
+{@link android.app.Activity#onDestroy() onDestroy()} cập nhật đối tượng có trạng thái bên trong
 thực thể phân đoạn được giữ lại.</p>
 
 
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/controls.jd b/docs/html-intl/intl/vi/guide/topics/ui/controls.jd
index 37fe81c8..eda0050 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">Nút chọn một</a></td>
         <td>Tương tự như hộp kiểm, chỉ khác ở chỗ chỉ có thể chọn một tùy chọn trong nhóm.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/vi/guide/topics/ui/declaring-layout.jd
index 6add812..5485200 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/declaring-layout.jd
@@ -107,7 +107,7 @@
 
 <h2 id="load">Nạp Tài nguyên XML</h2>
 
-<p>Khi bạn biên dịch ứng dụng của mình, từng tệp bố trí XML được biên dịch thành một tài nguyên 
+<p>Khi bạn biên dịch ứng dụng của mình, từng tệp bố trí XML được biên dịch thành một tài nguyên
 {@link android.view.View}. Bạn nên nạp tài nguyên bố trí từ mã ứng dụng của mình, trong triển khai gọi lại
 {@link android.app.Activity#onCreate(android.os.Bundle) Activity.onCreate()} của bạn.
 Làm vậy bằng cách gọi <code>{@link android.app.Activity#setContentView(int) setContentView()}</code>,
@@ -260,7 +260,7 @@
    </p>
 
    <p>
-   Cặp thứ nhất được gọi là <em>chiều rộng đo được</em> và 
+   Cặp thứ nhất được gọi là <em>chiều rộng đo được</em> và
    <em>chiều cao đo được</em>. Những kích thước này xác định một dạng xem muốn phóng lớn bao nhiêu
    trong dạng xem mẹ của nó. Các
    kích thước đo được có thể thu được bằng cách gọi {@link android.view.View#getMeasuredWidth()}
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/vi/guide/topics/ui/dialogs.jd
index 1fa4550..00d5230 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>Xem thêm</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">Hướng dẫn thiết kế hộp thoại</a></li>
@@ -235,8 +235,8 @@
 </pre>
 
 <p>Các phương pháp <code>set...Button()</code> yêu cầu một tiêu đề cho nút (được cung cấp
-bởi một <a href="{@docRoot}guide/topics/resources/string-resource.html">tài nguyên xâu</a>) và một 
-{@link android.content.DialogInterface.OnClickListener} có chức năng định nghĩa hành động sẽ tiến hành 
+bởi một <a href="{@docRoot}guide/topics/resources/string-resource.html">tài nguyên xâu</a>) và một
+{@link android.content.DialogInterface.OnClickListener} có chức năng định nghĩa hành động sẽ tiến hành
 khi người dùng nhấn nút.</p>
 
 <p>Có ba nút hành động khác nhau mà bạn có thể thêm:</p>
@@ -248,7 +248,7 @@
   <dt>Trung lập</dt>
   <dd>Bạn nên sử dụng nút này khi người dùng có thể không muốn tiếp tục với hành động,
   nhưng không hẳn muốn hủy bỏ. Nó nằm ở giữa nút
-  tích cực và tiêu cực. Ví dụ, hành động có thể là "Nhắc tôi sau."</dd> 
+  tích cực và tiêu cực. Ví dụ, hành động có thể là "Nhắc tôi sau."</dd>
 </dl>
 
 <p>Bạn chỉ có thể thêm một nút mỗi loại vào một {@link
@@ -271,7 +271,7 @@
 <li>Danh sách nhiều lựa chọn cố định (hộp kiểm)</li>
 </ul>
 
-<p>Để tạo danh sách một lựa chọn như danh sách trong hình 3, 
+<p>Để tạo danh sách một lựa chọn như danh sách trong hình 3,
 hãy sử dụng phương pháp {@link android.app.AlertDialog.Builder#setItems setItems()}:</p>
 
 <pre style="clear:right">
@@ -291,7 +291,7 @@
 
 <p>Vì danh sách xuất hiện trong vùng nội dung của hộp thoại,
 hộp thoại không thể hiển thị cả thông báo và danh sách và bạn nên đặt một tiêu đề cho hộp thoại
-bằng {@link android.app.AlertDialog.Builder#setTitle setTitle()}. 
+bằng {@link android.app.AlertDialog.Builder#setTitle setTitle()}.
 Để chỉ định các mục cho danh sách, hãy gọi {@link
 android.app.AlertDialog.Builder#setItems setItems()}, chuyển một mảng.
 Hoặc, bạn có thể chỉ định một danh sách bằng cách sử dụng {@link
@@ -317,11 +317,11 @@
 
 <h4 id="Checkboxes">Thêm một danh sách nhiều lựa chọn hoặc một lựa chọn cố định</h4>
 
-<p>Để thêm một danh sách nhiều lựa chọn (hộp kiểm) hoặc 
+<p>Để thêm một danh sách nhiều lựa chọn (hộp kiểm) hoặc
 một lựa chọn (nút chọn một), hãy sử dụng các phương pháp
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} hoặc 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} hoặc
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} tương ứng.</p>
 
 <p>Ví dụ, sau đây là cách bạn có thể tạo một danh sách nhiều lựa chọn như
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -373,7 +373,7 @@
 
 <p>Mặc dù cả danh sách truyền thống và danh sách có nút chọn một
 đều cung cấp hành động "một lựa chọn", bạn nên sử dụng {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} nếu bạn muốn cố định lựa chọn của người dùng.
 Cụ thể, nếu việc mở hộp thoại lại sau này báo hiệu lựa chọn hiện tại của người dùng, khi đó
 bạn hãy tạo một danh sách với các nút chọn một.</p>
@@ -442,7 +442,7 @@
 một kiểu phông thống nhất.</p>
 
 <p>Để bung bố trí ra trong {@link android.support.v4.app.DialogFragment} của bạn,
-hãy lấy một {@link android.view.LayoutInflater} với 
+hãy lấy một {@link android.view.LayoutInflater} với
 {@link android.app.Activity#getLayoutInflater()} và gọi
 {@link android.view.LayoutInflater#inflate inflate()}, trong đó tham số đầu tiên
 là ID tài nguyên bố trí và tham số thứ hai là một dạng xem mẹ cho bố trí.
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -776,7 +776,7 @@
 android.support.v4.app.DialogFragment} của mình.</p>
 
 <p>Bạn cũng có thể <em>hủy bỏ</em> một hộp thoại. Đây là một sự kiện đặc biệt chỉ báo người dùng
-chủ ý rời khỏi hộp thoại mà không hoàn thành tác vụ. Điều này xảy ra nếu người dùng nhấn nút 
+chủ ý rời khỏi hộp thoại mà không hoàn thành tác vụ. Điều này xảy ra nếu người dùng nhấn nút
 <em>Quay lại</em>, chạm vào màn hình ngoài vùng hộp thoại,
 hoặc nếu bạn công khai gọi {@link android.app.Dialog#cancel()} trên {@link
 android.app.Dialog} (chẳng hạn như khi hồi đáp lại một nút "Hủy bỏ" trong hộp thoại).</p>
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/menus.jd b/docs/html-intl/intl/vi/guide/topics/ui/menus.jd
index 8e9e1c4..7950907 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/menus.jd
@@ -83,9 +83,9 @@
 các tùy chọn khác.</p>
   <p>Xem phần về <a href="#options-menu">Tạo một Menu Tùy chọn</a>.</p>
     </dd>
-    
+
   <dt><strong>Menu ngữ cảnh và chế độ hành động theo ngữ cảnh</strong></dt>
-  
+
    <dd>Menu ngữ cảnh là một <a href="#FloatingContextMenu">menu nổi</a> xuất hiện khi
 người dùng thực hiện nhấp giữ trên một phần tử. Nó cung cấp các hành động ảnh hưởng tới nội dung hoặc
 khung ngữ cảnh được chọn.
@@ -94,7 +94,7 @@
 chọn nhiều mục.</p>
   <p>Xem phần nói về <a href="#context-menu">Tạo Menu Ngữ cảnh</a>.</p>
 </dd>
-    
+
   <dt><strong>Menu bật lên</strong></dt>
     <dd>Menu bật lên sẽ hiển thị danh sách các mục trong một danh sách thẳng đứng được neo vào dạng xem
 đã gọi ra menu. Nên cung cấp một phần tràn gồm các hành động liên quan tới nội dung cụ thể hoặc
@@ -128,14 +128,14 @@
 dự án của bạn và xây dựng menu với các phần tử sau:</p>
 <dl>
   <dt><code>&lt;menu></code></dt>
-    <dd>Định nghĩa một {@link android.view.Menu}, đó là một bộ chứa các mục menu. Phần tử 
+    <dd>Định nghĩa một {@link android.view.Menu}, đó là một bộ chứa các mục menu. Phần tử
 <code>&lt;menu></code> phải là một nút gốc cho tệp và có thể giữ một hoặc nhiều phần tử
 <code>&lt;item></code> và <code>&lt;group></code>.</dd>
 
   <dt><code>&lt;item></code></dt>
     <dd>Tạo một {@link android.view.MenuItem}, nó biểu diễn một mục đơn trong một menu. Phần tử
 này có thể chứa một phần tử <code>&lt;menu></code> được lồng nhau để tạo một menu con.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>Một bộ chứa tùy chọn, vô hình cho các phần tử {@code &lt;item&gt;}. Nó cho phép bạn
 phân loại các mục menu sao cho chúng chia sẻ các tính chất như trạng thái hiện hoạt và khả năng hiển thị. Để biết thêm
@@ -273,7 +273,7 @@
 
 <p>Nếu bạn phát triển ứng dụng của mình cho phiên bản Android 2.3.x và thấp hơn, hệ thống gọi {@link
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} để tạo menu tùy chọn
-khi người dùng mở menu lần đầu tiên. Nếu bạn phát triển cho phiên bản Android 3.0 vào cao hơn, 
+khi người dùng mở menu lần đầu tiên. Nếu bạn phát triển cho phiên bản Android 3.0 vào cao hơn,
 hệ thống sẽ gọi {@link android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} khi
 bắt đầu hoạt động để hiển thị các mục cho thanh hành động.</p>
 
@@ -346,7 +346,7 @@
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} để tạo trạng thái menu
 ban đầu chứ không phải để thực hiện thay đổi trong vòng đời của hoạt động.</p>
 
-<p>Nếu bạn muốn sửa đổi menu tùy chọn dựa trên 
+<p>Nếu bạn muốn sửa đổi menu tùy chọn dựa trên
 các sự kiện xảy ra trong vòng đời của hoạt động, bạn có thể làm vậy trong phương pháp
  {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}. Phương pháp
 này chuyển cho bạn đối tượng {@link android.view.Menu} như hiện đang có để bạn có thể sửa đổi nó,
@@ -363,7 +363,7 @@
 gọi {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()} để yêu cầu
 hệ thống gọi {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}.</p>
 
-<p class="note"><strong>Lưu ý:</strong> 
+<p class="note"><strong>Lưu ý:</strong>
 Bạn không nên thay đổi các mục trong menu tùy chọn dựa trên {@link android.view.View} đang
 trong tiêu điểm. Khi ở chế độ cảm ứng (khi người dùng không sử dụng bi xoay hay d-pad), các dạng xem
 không thể lấy tiêu điểm, vì thế bạn không nên sử dụng tiêu điểm làm cơ sở để sửa đổi
@@ -609,7 +609,7 @@
 
 <p>Khi bạn gọi {@link android.app.Activity#startActionMode startActionMode()}, hệ thống sẽ trả về
 {@link android.view.ActionMode} được tạo. Bằng cách lưu điều này trong một biến thành viên, bạn có thể
-thực hiện thay đổi thanh hành động theo ngữ cảnh để hồi đáp những sự kiện khác. Trong mẫu trên, 
+thực hiện thay đổi thanh hành động theo ngữ cảnh để hồi đáp những sự kiện khác. Trong mẫu trên,
 {@link android.view.ActionMode} được sử dụng để đảm bảo rằng thực thể {@link android.view.ActionMode} không
 được tạo lại nếu nó đã hiện hoạt, bằng cách kiểm tra xem thành viên có rỗng không trước khi khởi động
 chế độ hành động.</p>
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -1026,6 +1026,6 @@
 <p>Tìm hiểu thêm về việc ghi các bộ lọc ý định trong tài liệu
 <a href="/guide/components/intents-filters.html">Ý định và Bộ lọc Ý định</a>.</p>
 
-<p>Để tham khảo một ứng dụng mẫu sử dụng kỹ thuật này, hãy xem mã mẫu 
+<p>Để tham khảo một ứng dụng mẫu sử dụng kỹ thuật này, hãy xem mã mẫu
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Note
 Pad</a>.</p>
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/vi/guide/topics/ui/notifiers/notifications.jd
index 5890cb3..8b6e1c84 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/notifiers/notifications.jd
@@ -150,7 +150,7 @@
     {@link android.app.PendingIntent} chứa một
     {@link android.content.Intent} có chức năng bắt đầu
     một {@link android.app.Activity} trong ứng dụng của bạn. Để liên kết
-    {@link android.app.PendingIntent} với một cử chỉ, hãy gọi phương pháp 
+    {@link android.app.PendingIntent} với một cử chỉ, hãy gọi phương pháp
     {@link android.support.v4.app.NotificationCompat.Builder} phù hợp. Ví dụ, nếu bạn muốn bắt đầu
     {@link android.app.Activity} khi người dùng nhấp vào văn bản thông báo trong
     ngăn kéo thông báo, bạn hãy thêm {@link android.app.PendingIntent} bằng cách gọi
@@ -449,7 +449,7 @@
         <ol style="list-style-type: lower-alpha;">
             <li>
                 Thêm hỗ trợ cho phiên bản Android 4.0.3 và trước đó. Để làm điều này, hãy quy định mẹ của
-                {@link android.app.Activity} mà bạn đang bắt đầu bằng cách thêm phần tử 
+                {@link android.app.Activity} mà bạn đang bắt đầu bằng cách thêm phần tử
 <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</a></code>
                 làm con của
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>.
@@ -466,9 +466,9 @@
                 </p>
             </li>
             <li>
-                Cũng thêm hỗ trợ cho phiên bản Android 4.1 và sau đó. Để làm điều này, hãy thêm thuộc tính 
+                Cũng thêm hỗ trợ cho phiên bản Android 4.1 và sau đó. Để làm điều này, hãy thêm thuộc tính
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#parent">android:parentActivityName</a></code>
-                vào phần tử 
+                vào phần tử
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
                 của {@link android.app.Activity} mà bạn đang bắt đầu.
             </li>
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/overview.jd b/docs/html-intl/intl/vi/guide/topics/ui/overview.jd
index 7bd4552..260b40d 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>Để xem hướng dẫn đầy đủ về tạo bố trí UI, hãy xem phần <a href="declaring-layout.html">Bố trí
 XML</a>.
 
-  
+
 <h2 id="UIComponents">Thành phần Giao diện Người dùng</h2>
 
 <p>Bạn không phải xây dựng tất cả UI của mình bằng cách sử dụng các đối tượng {@link android.view.View} và {@link
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/settings.jd b/docs/html-intl/intl/vi/guide/topics/ui/settings.jd
index 8e19b97..47a5c27 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/settings.jd
@@ -82,7 +82,7 @@
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
 <p class="img-caption"><strong>Hình 1.</strong> Ảnh chụp màn hình từ thiết đặt của ứng dụng
-Messaging trên Android. Chọn một mục được định nghĩa bởi một {@link android.preference.Preference} 
+Messaging trên Android. Chọn một mục được định nghĩa bởi một {@link android.preference.Preference}
 sẽ mở ra một giao diện để thay đổi thiết đặt.</p>
 
 
@@ -121,7 +121,7 @@
 
 <p>Vì thiết đặt của ứng dụng của bạn được xây dựng bằng cách sử dụng các đối tượng {@link android.preference.Preference}
 thay vì đối tượng
-{@link android.view.View}, bạn nên sử dụng một lớp con {@link android.app.Activity} hoặc 
+{@link android.view.View}, bạn nên sử dụng một lớp con {@link android.app.Activity} hoặc
 {@link android.app.Fragment} chuyên dụng để hiển thị thiết đặt danh sách:</p>
 
 <ul>
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>Thuộc tính này được yêu cầu cho các tùy chọn duy trì một giá trị dữ liệu. Nó quy định khóa
 (xâu) duy nhất mà hệ thống sử dụng khi lưu giá trị của thiết đặt này trong {@link
-android.content.SharedPreferences}. 
+android.content.SharedPreferences}.
   <p>Các thực thể duy nhất mà thuộc tính này không <em>được yêu cầu</em> là khi tùy chọn là một
 {@link android.preference.PreferenceCategory} hoặc {@link android.preference.PreferenceScreen}, hoặc
 tùy chọn quy định một {@link android.content.Intent} để gọi ra (bằng phần tử <a href="#Intents">{@code &lt;intent&gt;}</a>) hoặc {@link android.app.Fragment} để hiển thị (bằng thuộc tính <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -569,7 +569,7 @@
 với tiêu đề tùy chọn</a>).</p>
 
 <img src="{@docRoot}images/ui/settings/settings-headers-tablet.png" alt="" />
-<p class="img-caption"><strong>Hình 4.</strong> Bố trí có hai bảng với tiêu đề. <br/><b>1.</b> 
+<p class="img-caption"><strong>Hình 4.</strong> Bố trí có hai bảng với tiêu đề. <br/><b>1.</b>
 Tiêu đề được định nghĩa trong một tệp tiêu đề XML. <br/><b>2.</b> Mỗi nhóm thiết đặt được định nghĩa bởi một
 {@link android.preference.PreferenceFragment}, được quy định bởi một phần tử {@code &lt;header&gt;} trong tệp tiêu đề
 .</p>
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -672,15 +672,15 @@
 tải.</p>
 
 <p>Ví dụ, sau đây là một tệp XML cho các tiêu đề tùy chọn được sử dụng trên Android 3.0
-trở lên ({@code res/xml/preference_headers.xml}):</p> 
+trở lên ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -834,7 +834,7 @@
 trạng thái hiện tại (chẳng hạn như thiết đặt Ngủ như minh họa trong hình 5).</p>
 
 <p class="note"><strong>Lưu ý:</strong> Như đã mô tả trong tài liệu Thiết kế Android về <a href="{@docRoot}design/patterns/settings.html">Thiết đặt</a>, chúng tôi khuyên bạn nên cập nhật
-tóm tắt cho {@link android.preference.ListPreference} mỗi khi người dùng thay đổi tùy chọn để 
+tóm tắt cho {@link android.preference.ListPreference} mỗi khi người dùng thay đổi tùy chọn để
 mô tả thiết đặt hiện tại.</p>
 
 <p>Để quản lý vòng đời trong hoạt động cho phù hợp, chúng tôi khuyên rằng bạn nên đăng ký và bỏ đăng ký
@@ -902,7 +902,7 @@
 người dùng tinh chỉnh mức sử dụng dữ liệu cho ứng dụng của bạn thông qua thiết đặt ứng dụng.<p>
 
 <p>Ví dụ, bạn có thể cho phép người dùng kiểm soát tần suất ứng dụng của bạn đồng bộ dữ liệu, ứng dụng của bạn
-chỉ được thực hiện tải lên/tải xuống khi trên Wi-Fi, ứng dụng của bạn sử dụng dữ liệu trong khi đang chuyển vùng dữ liệu, v.v... hay không. Với 
+chỉ được thực hiện tải lên/tải xuống khi trên Wi-Fi, ứng dụng của bạn sử dụng dữ liệu trong khi đang chuyển vùng dữ liệu, v.v... hay không. Với
 những kiểm soát này, người dùng sẽ ít có khả năng vô hiệu hóa truy cập dữ liệu của ứng dụng của bạn
 hơn nhiều khi họ đạt gần mức giới hạn đặt ra trong Thiết đặt hệ thống, vì thay vào đó, họ có thể kiểm soát chính xác
 lượng dữ liệu mà ứng dụng của bạn sử dụng.</p>
@@ -946,7 +946,7 @@
 <ul>
   <li>Quy định giao diện người dùng sẽ xuất hiện khi người dùng chọn thiết đặt.</li>
   <li>Lưu giá trị của thiết đặt khi phù hợp.</li>
-  <li>Khởi tạo {@link android.preference.Preference} bằng giá trị hiện tại (hoặc mặc định) 
+  <li>Khởi tạo {@link android.preference.Preference} bằng giá trị hiện tại (hoặc mặc định)
 khi xét tới dạng xem.</li>
   <li>Cung cấp giá trị mặc định khi hệ thống yêu cầu.</li>
   <li>Nếu {@link android.preference.Preference} cung cấp UI của chính mình (chẳng hạn như một hộp thoại), hãy lưu
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1034,7 +1034,7 @@
 cho bạn giá trị mặc định.</p>
 
 <p>Phương pháp {@link android.preference.Preference#onSetInitialValue onSetInitialValue()} chuyển một
-boolean, <code>restorePersistedValue</code>, để cho biết liệu giá trị đã được duy trì 
+boolean, <code>restorePersistedValue</code>, để cho biết liệu giá trị đã được duy trì
 cho thiết đặt hay không. Nếu nó là <code>true</code>, khi đó bạn nên truy xuất giá trị được duy trì bằng cách gọi
 một trong các phương pháp của lớp {@link
 android.preference.Preference}, {@code getPersisted*()}, chẳng hạn như {@link
@@ -1060,7 +1060,7 @@
 </pre>
 
 <p>Mỗi phương pháp {@code getPersisted*()} sẽ lấy một tham đối quy định
-giá trị mặc định sẽ sử dụng trong trường hợp thực sự không có giá trị được duy trì hoặc khóa không tồn tại. Trong 
+giá trị mặc định sẽ sử dụng trong trường hợp thực sự không có giá trị được duy trì hoặc khóa không tồn tại. Trong
 ví dụ trên, một hằng số cục bộ được sử dụng để quy định giá trị mặc định trong trường hợp {@link
 android.preference.Preference#getPersistedInt getPersistedInt()} không thể trả về một giá trị được duy trì.</p>
 
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/vi/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/vi/guide/topics/ui/ui-events.jd
index b4d1635..c2b337c 100644
--- a/docs/html-intl/intl/vi/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/vi/guide/topics/ui/ui-events.jd
@@ -20,8 +20,8 @@
 Khi xem xét các sự kiện trong giao diện người dùng của bạn, cách tiếp cận là chụp lại sự kiện từ
 đối tượng Dạng xem cụ thể mà người dùng tương tác với. Lớp Dạng xem sẽ cung cấp phương thức để làm việc này.</p>
 
-<p>Trong các lớp Dạng xem khác nhau mà bạn sẽ sử dụng để soạn bố trí của mình, bạn có thể thấy một vài phương pháp gọi lại 
-công khai dường như hữu ích đối với sự kiện UI. Những phương pháp này được khuôn khổ Android gọi khi 
+<p>Trong các lớp Dạng xem khác nhau mà bạn sẽ sử dụng để soạn bố trí của mình, bạn có thể thấy một vài phương pháp gọi lại
+công khai dường như hữu ích đối với sự kiện UI. Những phương pháp này được khuôn khổ Android gọi khi
 xảy ra hành động tương ứng trên đối tượng đó. Ví dụ, khi một Dạng xem (chẳng hạn như một Nút) được chạm vào,
 phương pháp <code>onTouchEvent()</code> được gọi trên đối tượng đó. Tuy nhiên, để can thiệp vào điều này, bạn phải mở rộng
 lớp và khống chế phương pháp đó. Tuy nhiên, việc mở rộng mọi đối tượng Dạng xem
@@ -30,7 +30,7 @@
 được gọi là <a href="#EventListeners">đối tượng theo dõi sự kiện</a>, là tấm vé để bạn chụp lại tương tác giữa người dùng với UI của bạn.</p>
 
 <p>Trong khi các đối tượng theo dõi sự kiện sẽ thường được sử dụng để theo dõi tương tác của người dùng, có thể
-có lúc bạn muốn mở rộng một lớp Dạng xem để xây dựng một thành phần tùy chỉnh. 
+có lúc bạn muốn mở rộng một lớp Dạng xem để xây dựng một thành phần tùy chỉnh.
 Có thể là bạn muốn mở rộng lớp {@link android.widget.Button}
 để khiến cái gì đó trông ấn tượng hơn. Trong trường hợp này, bạn sẽ có thể định nghĩa các hành vi sự kiện mặc định cho lớp
 của mình bằng cách sử dụng <a href="#EventHandlers">bộ xử lý sự kiện</a> của lớp.</p>
@@ -38,7 +38,7 @@
 
 <h2 id="EventListeners">Đối tượng theo dõi Sự kiện</h2>
 
-<p>Đối tượng theo dõi sự kiện là một giao diện trong lớp {@link android.view.View} chứa một phương pháp gọi lại 
+<p>Đối tượng theo dõi sự kiện là một giao diện trong lớp {@link android.view.View} chứa một phương pháp gọi lại
 đơn lẻ. Những phương pháp này sẽ được khuôn khổ Android gọi khi Dạng xem mà đối tượng theo dõi đã
 được đăng ký với bị kích khởi bởi tương tác giữa người dùng với mục trong UI.</p>
 
@@ -46,27 +46,27 @@
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>Từ {@link android.view.View.OnClickListener}. 
-    Phương pháp này được gọi khi người dùng chạm vào mục 
+    <dd>Từ {@link android.view.View.OnClickListener}.
+    Phương pháp này được gọi khi người dùng chạm vào mục
     (khi ở chế độ cảm ứng), hoặc lấy tiêu điểm vào một mục bằng phím điều hướng hoặc bi xoay và
     nhấn phím "enter" phù hợp hoặc nhấn bi xoay.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>Từ {@link android.view.View.OnLongClickListener}. 
-    Phương pháp này được gọi khi người gọi chạm và giữ mục (khi ở chế độ cảm ứng), hoặc 
+    <dd>Từ {@link android.view.View.OnLongClickListener}.
+    Phương pháp này được gọi khi người gọi chạm và giữ mục (khi ở chế độ cảm ứng), hoặc
     lấy tiêu điểm vào một mục bằng phím điều hướng hoặc bi xoay và
     nhấn và giữ phím "enter" phù hợp hoặc nhấn và giữ bi xoay (trong một giây).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>Từ {@link android.view.View.OnFocusChangeListener}. 
+    <dd>Từ {@link android.view.View.OnFocusChangeListener}.
     Phương pháp này được gọi khi người dùng điều hướng lên hoặc ra khỏi một mục bằng cách sử dụng các phím điều hướng hoặc bi xoay.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>Từ {@link android.view.View.OnKeyListener}. 
+    <dd>Từ {@link android.view.View.OnKeyListener}.
     Phương pháp này được gọi khi người dùng được lấy tiêu điểm vào một mục và nhấn hoặc nhả phím cứng trên thiết bị.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>Từ {@link android.view.View.OnTouchListener}. 
+    <dd>Từ {@link android.view.View.OnTouchListener}.
     Phương pháp này được gọi khi người dùng thực hiện một hành động được coi như một sự kiện chạm, bao gồm nhấn, nhả,
     hoặc bất kỳ động tác chuyển động nào trên màn hình (trong đường biên của mục đó).</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>Từ {@link android.view.View.OnCreateContextMenuListener}. 
+    <dd>Từ {@link android.view.View.OnCreateContextMenuListener}.
     Phương pháp này được gọi khi một Menu Ngữ cảnh đang được xây dựng (kết quả của một sự kiện "nhấp giữ" kéo dài). Xem phần thảo luận về
     menu ngữ cảnh trong hướng dẫn dành cho nhà phát triển <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menu</a>
 .</dd>
@@ -75,8 +75,8 @@
 <p>Những phương pháp này là phương pháp duy nhất nằm trong giao diện tương ứng của chúng. Để định nghĩa một trong những phương pháp này
 và xử lý sự kiện của bạn, hãy triển khai giao diện lồng nhau trong Hoạt động của bạn hoặc định nghĩa nó thành một lớp vô danh.
 Sau đó, chuyển một thực thể triển khai của bạn
-tới phương pháp <code>View.set...Listener()</code> tương ứng. (Ví dụ, gọi 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code> 
+tới phương pháp <code>View.set...Listener()</code> tương ứng. (Ví dụ, gọi
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
 và chuyển cho nó triển khai {@link android.view.View.OnClickListener OnClickListener} của bạn.)</p>
 
 <p>Ví dụ bên dưới cho biết cách đăng ký một đối tượng theo dõi khi nhấp cho một Nút. </p>
@@ -121,17 +121,17 @@
 trả về, nhưng một số phương pháp đối tượng theo dõi sự kiện khác phải trả về một boolean. Lý do
 này phụ thuộc vào sự kiện. Với số ít sự kiện thực hiện như vậy, sau đây là lý do:</p>
 <ul>
-  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> - 
-    Trả về một boolean cho biết bạn đã xử lý sự kiện và sự kiện không nên được tiếp tục hay không. 
-    Cụ thể, trả về <em>true</em> để cho biết rằng bạn đã xử lý sự kiện và nó nên dừng ở đây; 
+  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> -
+    Trả về một boolean cho biết bạn đã xử lý sự kiện và sự kiện không nên được tiếp tục hay không.
+    Cụ thể, trả về <em>true</em> để cho biết rằng bạn đã xử lý sự kiện và nó nên dừng ở đây;
     trả về <em>false</em> nếu bạn chưa xử lý nó và/hoặc sự kiện sẽ tiếp tục đối với bất kỳ
     đối tượng theo dõi khi nhấp nào khác.</li>
-  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> - 
+  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> -
     Trả về một boolean cho biết bạn đã xử lý sự kiện và sự kiện không nên được tiếp tục hay không.
-    Cụ thể, trả về <em>true</em> sẽ cho biết rằng bạn đã xử lý sự kiện và nó nên dừng ở đây; 
+    Cụ thể, trả về <em>true</em> sẽ cho biết rằng bạn đã xử lý sự kiện và nó nên dừng ở đây;
     trả về <em>false</em> nếu bạn chưa xử lý nó và/hoặc sự kiện sẽ tiếp tục đối với bất kỳ
     đối tượng theo dõi trên phím nào khác.</li>
-  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> - 
+  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> -
     Trả về một boolean cho biết đối tượng theo dõi của bạn có xử lý sự kiện này hay không. Điều quan trọng đó là
     sự kiện này có thể có nhiều hành động nối tiếp nhau. Vì vậy, nếu bạn trả về <em>false</em> khi
     nhận được sự kiện hành động hướng xuống, bạn sẽ cho biết rằng mình chưa xử lý sự kiện và cũng
@@ -176,19 +176,19 @@
   <li><code>{@link  android.view.View#onTouchEvent}</code> - Được gọi khi xảy ra một sự kiện chuyển động màn hình cảm ứng.</li>
   <li><code>{@link  android.view.View#onFocusChanged}</code> - Được gọi khi dạng xem có hoặc mất tiêu điểm.</li>
 </ul>
-<p>Có một số phương pháp khác mà bạn cần lưu ý, chúng không thuộc lớp Dạng xem, 
-nhưng có thể tác động trực tiếp tới cách bạn có thể xử lý sự kiện. Vì thế, khi quản lý các sự kiện phức tạp hơn bên trong 
+<p>Có một số phương pháp khác mà bạn cần lưu ý, chúng không thuộc lớp Dạng xem,
+nhưng có thể tác động trực tiếp tới cách bạn có thể xử lý sự kiện. Vì thế, khi quản lý các sự kiện phức tạp hơn bên trong
 một bố trí, hãy xét những phương pháp khác sau:</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> - Phương pháp này cho phép {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> - Phương pháp này cho phép {@link
     android.app.Activity} của bạn can thiệp vào tất cả sự kiện chạm trước khi chúng được phân phối tới cửa sổ.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - Phương pháp này cho phép một {@link
     android.view.ViewGroup} xem sự kiện khi chúng được phân phối tới Dạng xem con.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - Gọi phương pháp
-    này trên Dạng xem mẹ để cho biết rằng nó sẽ không can thiệp vào các sự kiện chạm bằng <code>{@link 
+    này trên Dạng xem mẹ để cho biết rằng nó sẽ không can thiệp vào các sự kiện chạm bằng <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>.</li>
 </ul>
 
@@ -199,7 +199,7 @@
 mục nào sẽ chấp nhận nhập liệu.  Tuy nhiên, nếu thiết bị có khả năng cảm ứng, và người dùng
 bắt đầu tương tác với giao diện bằng cách chạm vào nó, khi đó không còn cần
 tô sáng mục hay lấy tiêu điểm tới một Dạng xem cụ thể nữa.  Do đó, có một chế độ cho
-tương tác có tên là "chế độ cảm ứng." 
+tương tác có tên là "chế độ cảm ứng."
 </p>
 <p>
 Đối với thiết bị có khả năng cảm ứng, sau khi người dùng chạm vào màn hình, thiết bị
@@ -214,7 +214,7 @@
 với giao diện người dùng mà không chạm vào màn hình.
 </p>
 <p>
-Trạng thái chế độ cảm ứng sẽ được duy trì trên toàn bộ hệ thống (tất cả cửa sổ và hoạt động). 
+Trạng thái chế độ cảm ứng sẽ được duy trì trên toàn bộ hệ thống (tất cả cửa sổ và hoạt động).
 Để truy vấn trạng thái hiện tại, bạn có thể gọi
 {@link android.view.View#isInTouchMode} để xem liệu thiết bị có đang ở trong chế độ cảm ứng hay không.
 </p>
@@ -254,10 +254,10 @@
 
 <p>Thông thưởng, trong bố trí thẳng đứng này, việc điều hướng lên từ Nút đầu tiên sẽ không
 đi tới đâu hết và việc điều hướng xuống từ Nút thứ hai cũng vậy. Giờ thì khi Nút trên cùng
-đã định nghĩa Nút dưới cùng là <var>nextFocusUp</var> (và ngược lại), tiêu điểm điều hướng sẽ 
+đã định nghĩa Nút dưới cùng là <var>nextFocusUp</var> (và ngược lại), tiêu điểm điều hướng sẽ
 luân chuyển từ trên-xuống-dưới và dưới-lên-trên.</p>
 
-<p>Nếu bạn muốn khai báo một Dạng xem là có thể lấy tiêu điểm trong UI của mình (thông thường thì không), 
+<p>Nếu bạn muốn khai báo một Dạng xem là có thể lấy tiêu điểm trong UI của mình (thông thường thì không),
 hãy thêm thuộc tính XML <code>android:focusable</code> vào Dạng xem, trong khai báo bố trí của bạn.
 Đặt giá trị <var>true</var>. Bạn cũng có thể khai báo một Dạng xem
 là có thể lấy tiêu điểm trong khi ở Chế độ Cảm ứng bằng <code>android:focusableInTouchMode</code>.</p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/vi/preview/api-overview.jd b/docs/html-intl/intl/vi/preview/api-overview.jd
index 0e2c35e..5abc2f8 100644
--- a/docs/html-intl/intl/vi/preview/api-overview.jd
+++ b/docs/html-intl/intl/vi/preview/api-overview.jd
@@ -336,7 +336,7 @@
 <h2 id="number-blocking">Chặn số</h2>
 
 <p>Android N đã hỗ trợ chặn số điện thoại trong nền tảng này và cung cấp một
- API khuôn khổ cho phép các nhà cung cấp dịch vụ duy trì một danh sách số bị chặn. 
+ API khuôn khổ cho phép các nhà cung cấp dịch vụ duy trì một danh sách số bị chặn.
 Ứng dụng SMS mặc định, ứng dụng gọi điện mặc định và các ứng dụng của nhà cung cấp có thể đọc và
 ghi vào danh sách số bị chặn. Các ứng dụng khác không thể truy cập vào danh sách này.</p>
 
diff --git a/docs/html-intl/intl/vi/preview/behavior-changes.jd b/docs/html-intl/intl/vi/preview/behavior-changes.jd
index 2c287504..3060fbf 100644
--- a/docs/html-intl/intl/vi/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/vi/preview/behavior-changes.jd
@@ -67,7 +67,7 @@
 <p>
   Được đưa vào Android 6.0 (Mức API 23), Chế độ Ngủ sâu cải thiện thời lượng pin bằng cách
   trì hoãn các hoạt động của CPU và mạng khi người dùng không cắm sạc,
-   không di chuyển và tắt màn hình thiết bị. Android N 
+   không di chuyển và tắt màn hình thiết bị. Android N
   thêm các cải tiến cho Chế độ Ngủ sâu bằng cách sử dụng một tập con các hạn chế của CPU và mạng
   khi thiết bị không được cắm sạc với màn hình bị tắt, nhưng không nhất thiết
   phải để một chỗ, ví dụ như một thiết bị cầm tay di chuyển trong túi của người dùng.
@@ -250,7 +250,7 @@
 <ul>
   <li>Nếu một ứng dụng nhắm mục tiêu mức API 23 hoặc thấp hơn thì hệ thống sẽ tự động tắt
   tất cả các tiến trình chạy ngầm của ứng dụng đó. Điều này có nghĩa là nếu một người dùng rời khỏi
-  ứng dụng đó để mở màn hình <em>Settings</em> và thay đổi 
+  ứng dụng đó để mở màn hình <em>Settings</em> và thay đổi
   <strong>Display size</strong> thì hệ thống sẽ tắt ứng dụng giống
  như trong trường hợp thiết bị thiếu bộ nhớ. Nếu ứng dụng đó có bất kỳ tiến trình nào
   chạy ở tiền cảnh thì hệ thống sẽ thông báo cho các tiến trình đó về thay đổi cấu hình như
@@ -418,7 +418,7 @@
 
   <li>Giờ đây các hạn chế đặt lại mật khẩu cho người quản lý thiết bị sẽ áp dụng với người sở hữu
    cấu hình. Người quản lý thiết bị không thể sử dụng
-  <code>DevicePolicyManager.resetPassword()</code> được nữa để xóa mật khẩu hoặc thay đổi 
+  <code>DevicePolicyManager.resetPassword()</code> được nữa để xóa mật khẩu hoặc thay đổi
   các mật khẩu đã đặt. Người quản lý thiết bị vẫn có thể đặt một mật khẩu nhưng chỉ
   khi thiết bị không có mật khẩu, mã PIN hoặc mẫu hình.
   </li>
diff --git a/docs/html-intl/intl/vi/preview/features/background-optimization.jd b/docs/html-intl/intl/vi/preview/features/background-optimization.jd
index 9554725..39e1c15 100644
--- a/docs/html-intl/intl/vi/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/vi/preview/features/background-optimization.jd
@@ -60,7 +60,7 @@
 
 <ul>
   <li>Các ứng dụng nhắm đến Preview không nhận được truyền phát {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} nếu chúng 
+  android.net.ConnectivityManager#CONNECTIVITY_ACTION} nếu chúng
   đăng ký nhận truyền phát trong bản kê khai của chúng. Các ứng dụng đang chạy ở tiền cảnh
   vẫn có thể theo dõi {@code CONNECTIVITY_CHANGE} trên luồng chính của chúng bằng cách
   đăng ký{@link android.content.BroadcastReceiver} với {@link
@@ -119,7 +119,7 @@
 </h3>
 
 <p>
-  Khi sử dụng lớp{@link android.app.job.JobInfo.Builder JobInfo.Builder} 
+  Khi sử dụng lớp{@link android.app.job.JobInfo.Builder JobInfo.Builder}
   để xây dựng đối tượng {@link android.app.job.JobInfo} của bạn, hãy áp dụng phương thức {@link
   android.app.job.JobInfo.Builder#setRequiredNetworkType
   setRequiredNetworkType()} và chuyển {@link android.app.job.JobInfo
@@ -145,7 +145,7 @@
 </pre>
 
 <p>
-  Khi các điều kiện cho tác vụ của bạn đã được đáp ứng, ứng dụng của bạn sẽ nhận được lệnh gọi lại để chạy 
+  Khi các điều kiện cho tác vụ của bạn đã được đáp ứng, ứng dụng của bạn sẽ nhận được lệnh gọi lại để chạy
   phương thức{@link android.app.job.JobService#onStartJob onStartJob()}trong
   {@code JobService.class} được chỉ định. Để xem thêm các ví dụ về triển khai {@link
   android.app.job.JobScheduler} , hãy xem <a href="{@docRoot}samples/JobScheduler/index.html">ứng dụng mẫu JobScheduler</a>.
@@ -243,7 +243,7 @@
 </dl>
 
 <p class="note">
-  <strong>Lưu ý:</strong> {@code TriggerContentUri()} không thể được sử dụng 
+  <strong>Lưu ý:</strong> {@code TriggerContentUri()} không thể được sử dụng
   kết hợp với {@link android.app.job.JobInfo.Builder#setPeriodic
   setPeriodic()} hoặc {@link android.app.job.JobInfo.Builder#setPersisted
   setPersisted()}. Để tiếp tục theo dõi các thay đổi nội dung, hãy lên lịch một
@@ -313,7 +313,7 @@
 
 <p>
   Mã mẫu sau sẽ ghi đè lên phương thức {@link
-  android.app.job.JobService#onStartJob JobService.onStartJob()} và 
+  android.app.job.JobService#onStartJob JobService.onStartJob()} và
   và ghi lại các thẩm quyền nội dung và URI đã kích hoạt tác vụ.
 </p>
 
@@ -357,7 +357,7 @@
   bộ nhớ ít có thể cải thiện hiệu suất và trải nghiệm của người dùng. Loại bỏ
   các thành phần phụ thuộc trên các dịch vụ chạy ngầm và bộ thu truyền phát không biểu thị đã đăng ký tĩnh
   có thể giúp ứng dụng của bạn chạy tốt hơn trên các thiết bị như vậy. Mặc dù
-  N Developer Preview thực hiện các bước để giảm bớt một vài trong số các vấn đề này, nhưng chúng tôi 
+  N Developer Preview thực hiện các bước để giảm bớt một vài trong số các vấn đề này, nhưng chúng tôi
   khuyến nghị bạn nên tối ưu ứng dụng của bạn để chạy hoàn toàn không cần sử dụng
   các tiến trình chạy ngầm này.
 </p>
diff --git a/docs/html-intl/intl/vi/preview/features/direct-boot.jd b/docs/html-intl/intl/vi/preview/features/direct-boot.jd
index d95d831..9b2a557 100644
--- a/docs/html-intl/intl/vi/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/vi/preview/features/direct-boot.jd
@@ -81,7 +81,7 @@
 &lt;/receiver&gt;
 </pre>
 
-<p>Khi người dùng đã mở khóa thiết bị thì mọi thành phần có thể truy cập 
+<p>Khi người dùng đã mở khóa thiết bị thì mọi thành phần có thể truy cập
 cả bộ nhớ lưu trữ mã hóa thiết bị lẫn bộ nhớ lưu trữ mã hóa thông tin xác thực.</p>
 
 <h2 id="access">Truy cập Bộ nhớ Lưu trữ Mã hóa của Thiết bị</h2>
@@ -89,7 +89,7 @@
 <p>Để truy cập bộ nhớ lưu trữ mã hóa thiết bị, hãy tạo một thực thể
 {@link android.content.Context} thứ hai bằng cách gọi
 <code>Context.createDeviceEncryptedStorageContext()</code>. Tất cả các lệnh gọi
-API bộ nhớ lưu trữ đều sử dụng bối cảnh này để truy cập bộ nhớ lưu trữ mã hóa thiết bị. 
+API bộ nhớ lưu trữ đều sử dụng bối cảnh này để truy cập bộ nhớ lưu trữ mã hóa thiết bị.
 Ví dụ sau sẽ truy cập bộ nhớ lưu trữ mã hóa của thiết bị và mở một tệp
 dữ liệu ứng dụng có sẵn:</p>
 
diff --git a/docs/html-intl/intl/vi/preview/features/icu4j-framework.jd b/docs/html-intl/intl/vi/preview/features/icu4j-framework.jd
index 63f6825..ffb5799 100644
--- a/docs/html-intl/intl/vi/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/vi/preview/features/icu4j-framework.jd
@@ -51,7 +51,7 @@
 
 <p>
   Android N cung cấp một tập nhỏ các API ICU4J thông qua
-  gói <code>android.icu</code> thay vì gói <code>com.ibm.icu</code>. 
+  gói <code>android.icu</code> thay vì gói <code>com.ibm.icu</code>.
 Khuôn khổ Android có thể chọn không
    cung cấp các API ICU4J vì nhiều lý do; ví dụ, Android N không cung cấp
    một số API bị loại bỏ hoặc những API chưa được đội ngũ ICU công bố là
@@ -79,7 +79,7 @@
 <ul>
 <li>Các API khuôn khổ Android ICU4J không có tất cả các API của ICU4J.</li>
 <li>Các nhà phát triển NDK cần biết rằng ICU4C Android không được hỗ trợ.</li>
-<li>Các API trong khuôn khổ Android không thay thế hỗ trợ của Android cho 
+<li>Các API trong khuôn khổ Android không thay thế hỗ trợ của Android cho
 <a href="{@docRoot}guide/topics/resources/localization.html">việc bản địa hóa bằng
 các tài nguyên</a>.</li>
 </ul>
@@ -87,7 +87,7 @@
 <h2 id="migration">Chuyển nhập sang gói android.icu từ com.ibm.icu</h2>
 
 <p>
-  Nếu bạn đã sử dụng các API ICU4J trong ứng dụng và 
+  Nếu bạn đã sử dụng các API ICU4J trong ứng dụng và
    các API <code>android.icu</code> đáp ứng yêu cầu của bạn thì việc chuyển nhập sang
   các API của khuôn khổ đòi hỏi bạn phải thay đổi thành phần nhập vào của Java
   từ <code>com.ibm.icu</code> sang <code>android.icu</code>. Khi đó bạn có thể
diff --git a/docs/html-intl/intl/vi/preview/features/multi-window.jd b/docs/html-intl/intl/vi/preview/features/multi-window.jd
index 485bc28..5b2cb54 100644
--- a/docs/html-intl/intl/vi/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/vi/preview/features/multi-window.jd
@@ -33,7 +33,7 @@
 
 <p>
   Nếu bạn dựng ứng dụng của bạn bằng N Preview SDK, bạn có thể cấu hình cách ứng dụng của bạn
-  xử lý hiển thị đa cửa sổ. Ví dụ, bạn có thể quy định 
+  xử lý hiển thị đa cửa sổ. Ví dụ, bạn có thể quy định
   các kích thước tối thiểu cho phép của hoạt động của bạn. Bạn cũng có thể vô hiệu hóa hiển thị đa cửa sổ cho
   ứng dụng của bạn, đảm bảo rằng hệ thống chỉ hiển thị ứng dụng của bạn trong chế độ
    toàn màn hình.
@@ -117,7 +117,7 @@
 
 <p class="note">
   <strong>Lưu ý:</strong> Trong chế độ đa cửa sổ, một ứng dụng có thể trong trạng thái
-  tạm dừng và vẫn hiển thị với người dùng. Ứng dụng có thể cần tiếp tục 
+  tạm dừng và vẫn hiển thị với người dùng. Ứng dụng có thể cần tiếp tục
   các hoạt động của nó thậm chí trong khi đamg bị tạm dừng. Ví dụ, một ứng dụng phát video đang ở trong
   chế độ tạm dừng nhưng vẫn hiển thị thì sẽ tiếp tục hiển thị video của nó. Vì lý do
   này, chúng tôi đề nghị các hoạt động phát video <em>không</em> tạm dừng
@@ -129,13 +129,13 @@
 
 <p>
   Khi người dùng đặt một ứng dụng vào trong chế độ đa cửa sổ, hệ thống sẽ thông báo về
-  hoạt động thay đổi cấu hình đó, như được quy định trong <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Xử lý Thay đổi 
+  hoạt động thay đổi cấu hình đó, như được quy định trong <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Xử lý Thay đổi
   Thời gian chạy</a>. Về cơ bản, thay đổi này có ngụ ý về vòng đời hoạt động tương tự
   vì khi hệ thống thông báo cho ứng dụng rằng thiết bị đã chuyển
   từ chế độ hướng dọc sang chế độ ngang, ngoại trừ trường hợp các kích thước của thiết bị
   đã được thay đổi thay vì chỉ bị hoán đổi. Như đã thảo luận trong phần <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Xử lý Thay đổi
   Thời gian chạy</a>, hoạt động của bạn có thể tự xử lý thay đổi cấu hình này, hoặc nó
-  có thể cho phép hệ thống hủy hoạt động này và tạo lại nó với 
+  có thể cho phép hệ thống hủy hoạt động này và tạo lại nó với
   các kích thước mới.
 </p>
 
@@ -207,7 +207,7 @@
 <h3 id="layout">Thuộc tính bố trí</h3>
 
 <p>
-  Với Android N, phần tử bản kê khai <code>&lt;layout&gt;</code> 
+  Với Android N, phần tử bản kê khai <code>&lt;layout&gt;</code>
   có hỗ trợ một số thuộc tính sẽ ảnh hưởng đến cách hoạt động có hành vi như thế nào trong
   chế độ đa cửa sổ:
 </p>
@@ -244,7 +244,7 @@
 
   <dd>
     Chiều cao và chiều rộng tối thiểu cho hoạt động trong cả chế độ chia màn hình
-    và chế độ hình dạng tự do. Nếu người dùng di chuyển thanh phân chia trong chế độ chia màn hình 
+    và chế độ hình dạng tự do. Nếu người dùng di chuyển thanh phân chia trong chế độ chia màn hình
     để làm cho hoạt động nhỏ hơn mức tối thiểu quy định, hệ thống sẽ cắt xén
     hoạt động đó thành kích cỡ mà người dùng yêu cầu.
   </dd>
@@ -295,7 +295,7 @@
 
 <p>
   Các phương thức mới sau đây đã được thêm vào lớp {@link android.app.Activity}
-  để hỗ trợ hiển thị đa cửa sổ. Để biết chi tiết về mỗi phương thức, xem 
+  để hỗ trợ hiển thị đa cửa sổ. Để biết chi tiết về mỗi phương thức, xem
   <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Tham chiếu N Preview SDK</a>.
 </p>
 
@@ -560,7 +560,7 @@
   </li>
 
   <li>Thực hiện một vài thao tác thay đổi kích cỡ nối tiếp nhau thật nhanh. Xác minh rằng ứng dụng
-  của bạn không bị lỗi hoặc bị rò rỉ bộ nhớ. Để biết thông tin về kiểm tra việc sử dụng bộ nhớ của 
+  của bạn không bị lỗi hoặc bị rò rỉ bộ nhớ. Để biết thông tin về kiểm tra việc sử dụng bộ nhớ của
   ứng dụng, xem <a href="{@docRoot}tools/debugging/debugging-memory.html">
   Kiểm tra Sử dụng RAM của bạn</a>.
   </li>
diff --git a/docs/html-intl/intl/vi/preview/features/notification-updates.jd b/docs/html-intl/intl/vi/preview/features/notification-updates.jd
index d80cf6c..f60646a 100644
--- a/docs/html-intl/intl/vi/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/vi/preview/features/notification-updates.jd
@@ -37,7 +37,7 @@
   thông báo, từng thông báo một từ khu vực hiển thị thông báo.
 </p>
 
-<p>Cuối cùng, Android N cũng thêm các API mới cho phép bạn tận dụng các trang trí 
+<p>Cuối cùng, Android N cũng thêm các API mới cho phép bạn tận dụng các trang trí
 của hệ thống trong các dạng xem thông báo tùy chỉnh của ứng dụng của bạn. Các API này giúp
 đảm bảo rằng dạng xem thông báo có chung một cách trình bày nhất quán
 với các mẫu tiêu chuẩn.</p>
@@ -69,9 +69,9 @@
 </p>
 
 <ol>
-<li>Tạo thực thể{@link android.support.v4.app.RemoteInput.Builder} 
+<li>Tạo thực thể{@link android.support.v4.app.RemoteInput.Builder}
   mà bạn có thể thêm vào hành động
-thông báo của bạn. Hàm dựng của lớp này sẽ chấp nhận xâu mà hệ thống sử dụng làm khóa 
+thông báo của bạn. Hàm dựng của lớp này sẽ chấp nhận xâu mà hệ thống sử dụng làm khóa
  cho nhập liệu văn bản. Sau đó, ứng dụng cầm tay của bạn sử dụng khóa đó để truy xuất văn bản
   nhập liệu.
 
diff --git a/docs/html-intl/intl/vi/preview/features/picture-in-picture.jd b/docs/html-intl/intl/vi/preview/features/picture-in-picture.jd
index 4b3cb40..65799db 100644
--- a/docs/html-intl/intl/vi/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/vi/preview/features/picture-in-picture.jd
@@ -128,7 +128,7 @@
 video. Hãy xóa các phần tử UI trước khi hoạt động của bạn vào chế độ PIP,
 và khôi phục các phần tử này khi hoạt động quay lại chế độ toàn màn hình.
 Ghi đè phương thức <code>Activity.onPictureInPictureChanged()</code> hoặc
-<code>Fragment.onPictureInPictureChanged()</code> và bật hoặc 
+<code>Fragment.onPictureInPictureChanged()</code> và bật hoặc
 tắt các phần tử UI khi cần thiết, ví dụ:</p>
 
 <pre>
@@ -150,7 +150,7 @@
 <p>Khi hoạt động của bạn chuyển sang chế độ PIP thì hệ thống sẽ coi hoạt động đó đang ở trong
 trạng thái tạm dừng và sẽ gọi phương thức <code>onPause()</code> của hoạt động. Việc phát lại
 video không nên được tạm dừng và cần được tiếp tục phát nếu hoạt động
-bị tạm dừng do chế độ PIP. Hãy kiểm tra chế độ PIP trong phương thức 
+bị tạm dừng do chế độ PIP. Hãy kiểm tra chế độ PIP trong phương thức
 <code>onPause()</code> của hoạt động và xử lý việc phát lại cho phù hợp, ví
 dụ:</p>
 
diff --git a/docs/html-intl/intl/vi/preview/overview.jd b/docs/html-intl/intl/vi/preview/overview.jd
index a71bf61..f709489 100644
--- a/docs/html-intl/intl/vi/preview/overview.jd
+++ b/docs/html-intl/intl/vi/preview/overview.jd
@@ -175,7 +175,7 @@
 </p>
 
 <p>
-  Tại <strong>Preview 4 và 5</strong> bạn sẽ được sử dụng <strong>các   
+  Tại <strong>Preview 4 và 5</strong> bạn sẽ được sử dụng <strong>các
 API và SDK N cuối cùng</strong> để phát triển, và cả các ảnh hệ thống gần hoàn thiện
   để kiểm thử các hành vi, tính năng của hệ thống. Android N sẽ cung cấp một mức
   API chuẩn vào thời điểm này. Bạn có thể tiến hành kiểm thử khả năng tương thích cuối cùng đối với các ứng dụng
@@ -321,7 +321,7 @@
   Hành vi</a> chỉ ra cho bạn các phần chính yếu để kiểm thử.</li>
   <li> Tổng quan về các API mới, bao gồm một phần <a href="{@docRoot}preview/api-overview.html">Tổng quan về API</a>, bản tải xuống được
   <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Tham khảo
- API</a> và các hướng dẫn chi tiết cho nhà phát triển đối với các tính năng quan trọng như 
+ API</a> và các hướng dẫn chi tiết cho nhà phát triển đối với các tính năng quan trọng như
   hỗ trợ đa cửa sổ, thông báo gộp, hỗ trợ đa bản địa và các tính năng khác.
   <li> <a href="{@docRoot}preview/samples.html">Mã mẫu</a> trong đó
   minh họa cách hỗ trợ các quyền và tính năng mới.
diff --git a/docs/html-intl/intl/vi/training/material/animations.jd b/docs/html-intl/intl/vi/training/material/animations.jd
index e93c99d..9299d3c 100644
--- a/docs/html-intl/intl/vi/training/material/animations.jd
+++ b/docs/html-intl/intl/vi/training/material/animations.jd
@@ -21,7 +21,7 @@
 </div>
 
 
-<p>Hoạt hình theo phong cách material design phản hồi hành động của người dùng và cung cấp 
+<p>Hoạt hình theo phong cách material design phản hồi hành động của người dùng và cung cấp
 tính liên tục trực quan khi người dùng tương tác với ứng dụng của bạn. Giao diện material cung cấp một số hoạt hình
 mặc định cho các nút và chuyển tiếp hoạt động, và Android 5.0 (API mức 21) và cao hơn cho phép bạn tùy chỉnh
 những hoạt hình này và tạo các hoạt hình mới:</p>
@@ -160,7 +160,7 @@
 
 <li>Chuyển tiếp <strong>phần tử chung</strong> xác định các dạng xem chung giữa hai hoạt động
 sẽ chuyển tiếp như thế nào giữa những hoạt động này. Ví dụ, nếu hai hoạt động có cùng
-hình ảnh ở các vị trí và kích cỡ khác nhau, chuyển tiếp phần tử chung <em>changeImageTransform</em> 
+hình ảnh ở các vị trí và kích cỡ khác nhau, chuyển tiếp phần tử chung <em>changeImageTransform</em>
 sẽ thể hiện và co giãn hình ảnh một cách mượt mà giữa những hoạt động này.</li>
 </ul>
 
@@ -329,7 +329,7 @@
 
 <p>Để tạo một hoạt hình chuyển tiếp cảnh giữa hai hoạt động có nhiều hơn một phần tử
 chung, hãy định nghĩa các phần tử chung trong cả hai bố trí bằng thuộc tính <code>android:transitionName</code>
- (hoặc sử dụng phương thức {@link android.view.View#setTransitionName View.setTransitionName()} 
+ (hoặc sử dụng phương thức {@link android.view.View#setTransitionName View.setTransitionName()}
 trong cả hai hoạt động), và tạo một đối tượng {@link android.app.ActivityOptions} như sau:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/vi/training/material/compatibility.jd b/docs/html-intl/intl/vi/training/material/compatibility.jd
index e19a745..2f5c016 100644
--- a/docs/html-intl/intl/vi/training/material/compatibility.jd
+++ b/docs/html-intl/intl/vi/training/material/compatibility.jd
@@ -94,7 +94,7 @@
 
 <h3>Bảng màu</h3>
 
-<p>Để có được các kiểu phong cách material design và tùy chỉnh bảng màu bằng Thư viện Hỗ trợ v7 
+<p>Để có được các kiểu phong cách material design và tùy chỉnh bảng màu bằng Thư viện Hỗ trợ v7
 của Android, hãy áp dụng một trong các chủ đề <code>Theme.AppCompat</code>:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/vi/training/material/drawables.jd b/docs/html-intl/intl/vi/training/material/drawables.jd
index 175e77d..db69412 100644
--- a/docs/html-intl/intl/vi/training/material/drawables.jd
+++ b/docs/html-intl/intl/vi/training/material/drawables.jd
@@ -57,7 +57,7 @@
 <li>Sáng lặng</li>
 </ul>
 
-<p>Để trích xuất những màu này, hãy chuyển một đối tượng {@link android.graphics.Bitmap} cho phương thức tĩnh 
+<p>Để trích xuất những màu này, hãy chuyển một đối tượng {@link android.graphics.Bitmap} cho phương thức tĩnh
 {@link android.support.v7.graphics.Palette#generate Palette.generate()} trong
 luồng chạy ngầm nơi bạn tải hình ảnh của mình. Nếu bạn không thể sử dụng luồng đó, hãy gọi phương thức
 {@link android.support.v7.graphics.Palette#generateAsync Palette.generateAsync()} và
diff --git a/docs/html-intl/intl/vi/training/material/get-started.jd b/docs/html-intl/intl/vi/training/material/get-started.jd
index 9e612ad..45d7c09 100644
--- a/docs/html-intl/intl/vi/training/material/get-started.jd
+++ b/docs/html-intl/intl/vi/training/material/get-started.jd
@@ -94,7 +94,7 @@
 
 <h2 id="Depth">Quy định Độ cao trong Dạng xem của Bạn</h2>
 
-<p>Dạng xem có thể đổ bóng và giá trị độ cao của một dạng xem 
+<p>Dạng xem có thể đổ bóng và giá trị độ cao của một dạng xem
 xác định kích cỡ bóng và thứ tự vẽ của nó. Để đặt độ cao của một dạng xem, hãy sử dụng thuộc tính
 <code>android:elevation</code> trong bố trí của bạn:</p>
 
@@ -122,7 +122,7 @@
 <p>{@link android.support.v7.widget.RecyclerView} là một phiên bản dễ ghép nối hơn của {@link
 android.widget.ListView} có hỗ trợ các kiểu bố trí khác nhau và cung cấp những cải tiến về hiệu năng.
 {@link android.support.v7.widget.CardView} cho phép bạn hiện các mẩu thông tin bên trong thẻ với
-một diện mạo nhất quán giữa các ứng dụng. Ví dụ về mã sau đây minh họa cách thêm 
+một diện mạo nhất quán giữa các ứng dụng. Ví dụ về mã sau đây minh họa cách thêm
 {@link android.support.v7.widget.CardView} vào bố trí của bạn:</p>
 
 <pre>
diff --git a/docs/html-intl/intl/vi/training/material/index.jd b/docs/html-intl/intl/vi/training/material/index.jd
index 44b74e1..eb489457 100644
--- a/docs/html-intl/intl/vi/training/material/index.jd
+++ b/docs/html-intl/intl/vi/training/material/index.jd
@@ -17,7 +17,7 @@
 
 <p>Material design là một hướng dẫn toàn diện về thiết kế trực quan, chuyển động
 và tương tác giữa nhiều nền tảng và thiết bị. Để sử dụng material design trong ứng dụng Androi của mình, hãy làm theo hướng dẫn
-mô tả trong 
+mô tả trong
 <a href="http://www.google.com/design/spec/material-design/introduction.html">đặc tả
 material design</a> và sử dụng những thành phần và tính năng mới sẵn có trong Android 5.0
 (API mức 21).</p>
diff --git a/docs/html-intl/intl/vi/training/material/lists-cards.jd b/docs/html-intl/intl/vi/training/material/lists-cards.jd
index 7127649..47a7d6f 100644
--- a/docs/html-intl/intl/vi/training/material/lists-cards.jd
+++ b/docs/html-intl/intl/vi/training/material/lists-cards.jd
@@ -210,7 +210,7 @@
 Để biết thêm thông tin, hãy xem phần <a href="{@docRoot}training/material/compatibility.html">Duy trì
 Tính tương thích</a>.</p>
 
-<p>Sử dụng những thuộc tính sau để tùy chỉnh diện mạo của widget 
+<p>Sử dụng những thuộc tính sau để tùy chỉnh diện mạo của widget
 {@link android.support.v7.widget.CardView}:</p>
 
 <ul>
diff --git a/docs/html-intl/intl/vi/training/material/shadows-clipping.jd b/docs/html-intl/intl/vi/training/material/shadows-clipping.jd
index e9091f2..f4ce402 100644
--- a/docs/html-intl/intl/vi/training/material/shadows-clipping.jd
+++ b/docs/html-intl/intl/vi/training/material/shadows-clipping.jd
@@ -22,7 +22,7 @@
 tầm quan trọng tương đối của từng phần tử và tập chung sự chú ý của họ vào tác vụ hiện có.</p>
 
 <p>Độ cao của một dạng xem, được biểu diễn bằng thuộc tính Z, sẽ xác định diện mạo trực quan của
-bóng đổ: dạng xem có giá trị Z cao hơn sẽ đổ bóng lớn hơn, mềm hơn. Dạng xem có giá trị Z cao hơn sẽ che khuất dạng xem 
+bóng đổ: dạng xem có giá trị Z cao hơn sẽ đổ bóng lớn hơn, mềm hơn. Dạng xem có giá trị Z cao hơn sẽ che khuất dạng xem
 có giá trị Z thấp hơn; tuy nhiên, giá trị Z của một dạng xem không ảnh hưởng tới kích cỡ của dạng xem.</p>
 
 <p>Đổ bóng được vẽ bởi dạng xem mẹ của dạng xem cao hơn, do vậy nó phụ thuộc vào tiêu chuẩn cắt dạng xem,
@@ -51,7 +51,7 @@
 <p class="img-caption"><strong>Hình 1</strong> - Đổ bóng cho các độ cao dạng xem khác nhau.</p>
 
 <p>Để đặt độ cao của dạng xem trong một định nghĩa bố trí, hãy sử dụng thuộc tính <code>android:elevation</code>
-. Để đặt độ cao của dạng xem trong mã của một hoạt động, hãy sử dụng phương thức 
+. Để đặt độ cao của dạng xem trong mã của một hoạt động, hãy sử dụng phương thức
 {@link android.view.View#setElevation View.setElevation()}.</p>
 
 <p>Để đặt độ dịch của dạng xem, hãy sử dụng phương thức {@link android.view.View#setTranslationZ
@@ -59,7 +59,7 @@
 
 <p>Các phương thức {@link android.view.ViewPropertyAnimator#z ViewPropertyAnimator.z()} và {@link
 android.view.ViewPropertyAnimator#translationZ ViewPropertyAnimator.translationZ()} mới cho phép
-bạn dễ dàng tạo hiệu ứng hoạt hình cho độ cao của dạng xem. Để biết thêm thông tin, hãy xem tài liệu tham khảo API cho 
+bạn dễ dàng tạo hiệu ứng hoạt hình cho độ cao của dạng xem. Để biết thêm thông tin, hãy xem tài liệu tham khảo API cho
 {@link android.view.ViewPropertyAnimator} và hướng dẫn cho nhà phát triển về <a href="{@docRoot}guide/topics/graphics/prop-animation.html">Hoạt hình Thuộc tính</a>
 .</p>
 
diff --git a/docs/html-intl/intl/zh-cn/about/versions/android-5.0.jd b/docs/html-intl/intl/zh-cn/about/versions/android-5.0.jd
index 8e20975..8159145 100644
--- a/docs/html-intl/intl/zh-cn/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/zh-cn/about/versions/android-5.0.jd
@@ -430,7 +430,7 @@
 <p>当系统检测到合适的网络时,它将连接到该网络并调用 {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()} 回调。您可以在回调中使用 {@link android.net.Network} 对象来获取关于该网络的更多信息,或者指示通信使用选定的网络。</p>
 
 <h3 id="BluetoothBroadcasting">低功耗蓝牙</h3>
-<p>Android 4.3 中作为重头戏引入了对<a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">低功耗蓝牙</a>(“低功耗蓝牙”<em></em>)的平台支持。在 Android 5.0 中,Android 设备现在可以用作低功耗蓝牙<em>外围设备</em>。应用可以使用此功能使附近的设备知道它的存在。例如,您可以构建相应的应用来允许设备用作计步器或健康检测器并与另一低功耗蓝牙设备交换其数据。</p> 
+<p>Android 4.3 中作为重头戏引入了对<a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">低功耗蓝牙</a>(“低功耗蓝牙”<em></em>)的平台支持。在 Android 5.0 中,Android 设备现在可以用作低功耗蓝牙<em>外围设备</em>。应用可以使用此功能使附近的设备知道它的存在。例如,您可以构建相应的应用来允许设备用作计步器或健康检测器并与另一低功耗蓝牙设备交换其数据。</p>
 <p>新的 {@link android.bluetooth.le} API 允许您的应用对公告进行广播,扫描响应,以及与附近的低功能蓝牙设备建立连接。要使用新的公告和扫描功能,请在您的清单中添加 {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} 权限。当用户从 Play 商店更新或下载您的应用时,会要求他们向您的应用授予以下权限:“蓝牙连接信息:允许应用控制蓝牙,包括向附近的蓝牙设备进行广播以及获取关于这些设备的信息。”</p>
 
 <p>要开始低功耗蓝牙公告以便其他设备可以发现您的应用,请调用 {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()} 并传入 {@link android.bluetooth.le.AdvertiseCallback} 类的一个实施。回调对象将收到关于公告操作成功或失败的报告。</p>
diff --git a/docs/html-intl/intl/zh-cn/design/style/writing.jd b/docs/html-intl/intl/zh-cn/design/style/writing.jd
index 7944c24..c0c3e54 100644
--- a/docs/html-intl/intl/zh-cn/design/style/writing.jd
+++ b/docs/html-intl/intl/zh-cn/design/style/writing.jd
@@ -174,7 +174,7 @@
     <li>使用缩写词。</li>
     <li>使用“您”或“你”直接与读者对话。</li>
     <li>语气应轻松自然,但要避免使用俚语。</li>
-  
+
   </ul>
 
   <p><em>避免使用令人困惑或令人厌烦的表达</em></p>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/about.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/about.jd
index bfdb210..382c4c7 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-    <div id="qv-wrapper">           
+    <div id="qv-wrapper">
   <div id="qv">
   <h2>关于 Google Play</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/developer-console.jd
index 7d0bd55..d925566 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/developer-console.jd
@@ -4,8 +4,8 @@
 Xnonavpage=true
 
 @jd:body
-    
-    <div id="qv-wrapper">           
+
+    <div id="qv-wrapper">
   <div id="qv">
     <h2>发布功能</h2>
     <ol>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/families/faq.jd
index ea8bb61..7b0cf1d 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>本文内容</h2>
@@ -141,7 +141,7 @@
 假设您的应用符合该计划的所有要求,我们预计发布时间不会超过正常时间;但是,如果在“为家庭设计”审查时被拒绝,则应用的发布可能会延迟。
 
 
- 
+
   </dd>
 
   <dt>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/families/start.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/families/start.jd
index aab4b5a..e81bac5 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/families/start.jd
@@ -78,7 +78,7 @@
 
 <p class="note">
   <strong>注意</strong>:在“为家庭设计”计划中发布的应用也可供
- Google Play 上的所有用户使用。 
+ Google Play 上的所有用户使用。
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/guide.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/guide.jd
index b70bcb5..7b280cf 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/guide.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/guide.jd
@@ -18,7 +18,7 @@
 <ul>
   <li>
     <strong>在 Google Play 上发布</strong> &mdash;使用 Google Play
- 的开发者控制台,将您的应用分发给全球超过 10 亿 
+ 的开发者控制台,将您的应用分发给全球超过 10 亿
 Android 用户。
   </li>
 
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/auto.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/auto.jd
index a590446..9f61a35 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/auto.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/auto.jd
@@ -162,7 +162,7 @@
 
 <tr>
   <td rowspan="3" id="layout">
-    布局   
+    布局
   </td>
 
   <td id="AU-SC">
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/core.jd
index 0dae9e1..793d110 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/core.jd
@@ -12,7 +12,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>测试</h2>
   <ol>
     <li><a href="#test-environment">设置测试环境</a></li>
@@ -24,7 +24,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">平板电脑应用的质量</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">优化您的应用</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -84,7 +84,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       说明
@@ -746,7 +746,7 @@
     <li>应用商品详情包括高品质的置顶大图。
     </li>
 
-    <li>置顶大图不能包含设备图片、屏幕截图,也不能包含缩小后以及在应用适配的最小尺寸屏幕上显示时难以辨认的小文字。  
+    <li>置顶大图不能包含设备图片、屏幕截图,也不能包含缩小后以及在应用适配的最小尺寸屏幕上显示时难以辨认的小文字。
 
 
     </li>
@@ -1049,7 +1049,7 @@
 
     <p style="margin-bottom:.25em;">
     要强制启动硬件加速(在设备支持的情况下),请将
-    <code>hardware-accelerated="true"</code>添加到应用清单文件中的<code>&lt;application&gt;</code>并重新编译。 
+    <code>hardware-accelerated="true"</code>添加到应用清单文件中的<code>&lt;application&gt;</code>并重新编译。
 
     </p>
   </td>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tablets.jd
index 1d9d620..3df311a 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tablets.jd
@@ -48,7 +48,7 @@
 </p>
 
 <p>
-  本文档中提供了相关资源的链接,这些资源可帮助您了解文中给出的各条建议。  
+  本文档中提供了相关资源的链接,这些资源可帮助您了解文中给出的各条建议。
 
 </p>
 
@@ -56,7 +56,7 @@
 
 <p>为了打造上佳的平板电脑应用体验,首先要根据应用适配的所有设备和机型,确保您的应用满足相应的<em>应用核心质量标准</em>。
 
-有关完整信息,请参阅<a href="{@docRoot}distribute/essentials/quality/core.html">应用核心质量准则</a>。 
+有关完整信息,请参阅<a href="{@docRoot}distribute/essentials/quality/core.html">应用核心质量准则</a>。
 </p>
 
 <p>
@@ -116,7 +116,7 @@
 
 
 <ul>
-  <li>根据需要,针对 <code>large</code> 和 
+  <li>根据需要,针对 <code>large</code> 和
 <code>xlarge</code> 屏幕提供自定义布局。您还可以提供可根据屏幕的<a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">最短尺寸</a>或<a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">最小可用宽度和高度</a>加载的布局。
 
 
@@ -207,8 +207,8 @@
 android.app.Fragment} 子类实现各个内容面板。这样一来,您可以在共用内容的不同机型和不同屏幕间最大程度地重复使用代码。
 
 </li>
-<li>确定要在哪些屏幕尺寸上使用多窗格界面,然后在相应的屏幕尺寸单元(例如 
-<code>large</code>/<code>xlarge</code>)中提供不同的布局,或最小屏幕宽度(例如 
+<li>确定要在哪些屏幕尺寸上使用多窗格界面,然后在相应的屏幕尺寸单元(例如
+<code>large</code>/<code>xlarge</code>)中提供不同的布局,或最小屏幕宽度(例如
 <code>sw600dp</code>/<code>sw720</code>)。
 </li>
 </ul>
@@ -309,7 +309,7 @@
   data-cardSizes="9x3"
   data-maxResults="6"></div>
 
-<div class="headerLine"><h2 id="adjust-font-sizes">5. 
+<div class="headerLine"><h2 id="adjust-font-sizes">5.
 调整字体大小和触控目标</h2></div>
 
 <p>要确保您的应用在平板电脑上易于使用,请花些时间针对您要适配的各种屏幕配置调整平板电脑界面中的字体大小和触控目标。
@@ -345,7 +345,7 @@
 
 <div class="headerLine"><h2 id="adjust-widgets">6. 调整主屏幕小部件的尺寸</h2></div>
 
-<p>如果您的应用中包含主屏幕小部件,需要注意以下几点,以确保用户在平板电脑屏幕上获得良好体验:  
+<p>如果您的应用中包含主屏幕小部件,需要注意以下几点,以确保用户在平板电脑屏幕上获得良好体验:
  </p>
 
 <ul>
@@ -411,7 +411,7 @@
   为确保分发到尽可能多的平板电脑,务必让应用适配各种支持平板电脑的 Android 版本。
 对平板电脑的支持是从 <a href="{@docRoot}about/versions/android-3.0.html">Android 3.0</a>(API 级别 11)开始的。
 
-  对平板电脑、手机及其他设备的统一界面框架支持是从 <a href="{@docRoot}about/versions/android-4.0.html">Android 
+  对平板电脑、手机及其他设备的统一界面框架支持是从 <a href="{@docRoot}about/versions/android-4.0.html">Android
 4.0</a> 开始的
 
 </p>
@@ -494,8 +494,8 @@
 
 <li>与此类似,还请检查清单文件,找出
 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">表明硬件功能要求</a>不适用于平板电脑的 <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> 元素。
-如果您找到这样的权限,请务必为功能明确声明对应的 
-<code>&lt;uses-feature&gt;</code> 元素并加入 
+如果您找到这样的权限,请务必为功能明确声明对应的
+<code>&lt;uses-feature&gt;</code> 元素并加入
 <code>android:required=”false”</code> 属性。
 </li>
 </ul>
@@ -529,21 +529,21 @@
 </p>
 
 <ul>
-  <li>如果声明 
+  <li>如果声明
 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
  元素,就不要指定 <code>android:largeScreens="false"</code>
  或 <code>android:xlargeScreens="false"</code>。</li>
-  <li>如果应用适配的 <code>minSdkVersion</code> 值小于 13,必须使用 
+  <li>如果应用适配的 <code>minSdkVersion</code> 值小于 13,必须使用
 <code>android:largeScreens="true"</code> 和 <code>android:xlargeScreens="true"</code>
  声明 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
  元素。</li>
 </ul>
 
-<p>如果应用在清单文件中声明了 
+<p>如果应用在清单文件中声明了
 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
  元素,该元素应包含相关属性,
 以列举应用支持的<em>平板电脑屏幕的所有尺寸和密度组合</em>。
-请注意,如果可能,您应避免在应用中使用 
+请注意,如果可能,您应避免在应用中使用
 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
  元素。</p>
 
@@ -586,7 +586,7 @@
   <li>添加在 7 英寸和 10 英寸平板电脑上截取的屏幕截图。
   </li>
 
-  <li>如果可能,添加横屏和竖屏截取的屏幕截图。  
+  <li>如果可能,添加横屏和竖屏截取的屏幕截图。
 
   </li>
 
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tv.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tv.jd
index 6a60945..99a12d5 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tv.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/tv.jd
@@ -133,7 +133,7 @@
 
 <tr>
   <td rowspan="5" id="layout">
-    布局   
+    布局
   </td>
 
   <td id="TV-LO">
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/wear.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/wear.jd
index 99483ec..eb9166d 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/wear.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/quality/wear.jd
@@ -91,7 +91,7 @@
   <td>
     <p style="margin-bottom:.5em;">
       手持类应用包括具有可穿戴设备特有功能的通知或直接在穿戴设备上运行的可穿戴类应用。
- 
+
       (<a href="{@docRoot}training/building-wearables.html">了解方法</a>)
     </p>
   </td>
@@ -441,7 +441,7 @@
 
 
 <p style="margin-top:30px;">
-  <strong>如果我的应用不符合穿戴设备的要求,是否仍会在 Google Play 
+  <strong>如果我的应用不符合穿戴设备的要求,是否仍会在 Google Play
 上向手机和平板电脑显示我的新应用或更新版本并且仍可在可穿戴设备上安装?</strong>
 </p>
 <p>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/tv.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/tv.jd
index e557024..a1b2f4c 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/tv.jd
@@ -88,7 +88,7 @@
 <p>
   在考虑您的电视应用时,请查看<a href="{@docRoot}training/tv/start/index.html">开发者文档</a>和可用性准则,并且尽可能支持这些准则。
 
-确保为用户设计一种出色 Leanback 观看体验,并使用 SDK 中随附的 
+确保为用户设计一种出色 Leanback 观看体验,并使用 SDK 中随附的
 Leanback 库来打造这种体验。您想针对电视用例优化应用的其他部分,最好在开发过程的早期确定这些部分。
 
 
@@ -261,7 +261,7 @@
 
 当您进行必要的调整后,就可以将应用的新版本上传到开发者控制台。
 
- 
+
 </p>
 
 <p>
@@ -282,7 +282,7 @@
 
   <li>
     <em>已批准</em> — 您的应用已被审查并获得批准。该应用将直接提供给 Android TV 用户。
- 
+
   </li>
 
   <li>
diff --git a/docs/html-intl/intl/zh-cn/distribute/googleplay/wear.jd b/docs/html-intl/intl/zh-cn/distribute/googleplay/wear.jd
index 182abdf..480ce5d 100644
--- a/docs/html-intl/intl/zh-cn/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/googleplay/wear.jd
@@ -60,7 +60,7 @@
 
 <p>
   为了做好准备,以便在 Android Wear 上成功推出应用,首先要查阅在穿戴设备上提供出色应用体验的准则。
-请参考 <a href="{@docRoot}design/wear/index.html">Android 
+请参考 <a href="{@docRoot}design/wear/index.html">Android
 Wear 设计准则</a>,了解有关针对穿戴设备扩展应用的建议,以及有关设计和可用性的详情。
 
 </p>
@@ -120,7 +120,7 @@
 <p>
   您的穿戴设备应用应表现出色,在 Android Wear 上看起来引人入胜,并且提供尽可能最佳的用户体验。
 Google Play 将展示精选的优质穿戴设备应用,以便用户轻松发现。
-以下说明了您如何加入平台,提交用户喜爱的 
+以下说明了您如何加入平台,提交用户喜爱的
 Android Wear 应用:
 </p>
 
diff --git a/docs/html-intl/intl/zh-cn/distribute/resources.jd b/docs/html-intl/intl/zh-cn/distribute/resources.jd
index 71bd466..4c5644c 100644
--- a/docs/html-intl/intl/zh-cn/distribute/resources.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/resources.jd
@@ -8,7 +8,7 @@
 @jd:body
 
     <div class="jd-descr" itemprop="articleBody">
-    <div class="resource-widget resource-carousel-layout col-16" 
+    <div class="resource-widget resource-carousel-layout col-16"
     style="height:420px;margin-top:0px;padding-top:0"
     data-query="collection:overview/carousel/zhcn"
     data-sortOdrder="-timestamp"
diff --git a/docs/html-intl/intl/zh-cn/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/zh-cn/distribute/tools/launch-checklist.jd
index 19a25c5..900dc0d 100644
--- a/docs/html-intl/intl/zh-cn/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/tools/launch-checklist.jd
@@ -79,8 +79,8 @@
 </p>
 
 <p>
-  当您基本熟悉发布流程后,请继续阅读以了解在 
-Google Play 上发布应用时应考虑哪些问题。  
+  当您基本熟悉发布流程后,请继续阅读以了解在
+Google Play 上发布应用时应考虑哪些问题。
 
 </p>
 
@@ -334,7 +334,7 @@
 </div>
 
 <p>
-  发布应用之前,请务必确保您的应用可在目标 Android 平台版本和设备屏幕尺寸上正常运行。  
+  发布应用之前,请务必确保您的应用可在目标 Android 平台版本和设备屏幕尺寸上正常运行。
 
 
 </p>
@@ -400,7 +400,7 @@
   <li>
     <p>
       将应用发布为免费应用后,您无法再将其改成付费应用。
-不过,您仍能通过 Google Play 
+不过,您仍能通过 Google Play
 的<a href="{@docRoot}google/play/billing/index.html">应用内结算</a>服务销售<a href="{@docRoot}google/play/billing/billing_overview.html#products">应用内商品</a>
 和<a href="{@docRoot}google/play/billing/billing_subscriptions.html">订阅</a>。
     </p>
@@ -449,9 +449,9 @@
 <p>
   如果您希望找到更多方法通过应用获利并建立与用户的互动,则应考虑使用“应用内结算”或“即时购买”。
 这些服务深受用户和开发者的欢迎。
-要使用“应用内结算”或“即时购买”,您需要对应用的二进制文件进行更改,因此,您需要先完成更改并测试实现方法,然后才能创建发布版 APK。 
+要使用“应用内结算”或“即时购买”,您需要对应用的二进制文件进行更改,因此,您需要先完成更改并测试实现方法,然后才能创建发布版 APK。
 
- 
+
 </p>
 
 <h3 class="rel-resources clearfloat">相关资源</h3>
@@ -955,7 +955,7 @@
 <ul>
   <li>
     <p>
-      经常查看您应用的商品详情页上的评分和评论。  
+      经常查看您应用的商品详情页上的评分和评论。
 注意反复出现的主题,这可能表示存在错误或其他问题。
     </p>
   </li>
@@ -991,7 +991,7 @@
 
   <li>
     <p>
-      确认并修正您应用中出现的问题。保持公开透明并主动在商品详情页上列出已知问题是有益之举。 
+      确认并修正您应用中出现的问题。保持公开透明并主动在商品详情页上列出已知问题是有益之举。
 
     </p>
   </li>
diff --git a/docs/html-intl/intl/zh-cn/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/zh-cn/distribute/tools/localization-checklist.jd
index 522b7f5..e37f043 100644
--- a/docs/html-intl/intl/zh-cn/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/tools/localization-checklist.jd
@@ -62,7 +62,7 @@
 
 用户可以控制其 Android 设备上使用的语言和语言区域,反过来这些因素也会影响应用的显示方式。
 
-  
+
 </p>
 
 <p>
@@ -820,7 +820,7 @@
 </h4>
 
 <p>
-  如果您正在准备国际化营销,请务必加入<a href="{@docRoot}distribute/tools/promote/badges.html">本地化的 Google Play 
+  如果您正在准备国际化营销,请务必加入<a href="{@docRoot}distribute/tools/promote/badges.html">本地化的 Google Play
 徽章</a>,让用户知道您是在 Google Play 上发布应用的。您可以使用徽章生成器快速构建本地化的徽章,然后用到您的网站或营销材料中。
 
 您还可以获得高分辨率的资源。
diff --git a/docs/html-intl/intl/zh-cn/distribute/tools/promote/linking.jd b/docs/html-intl/intl/zh-cn/distribute/tools/promote/linking.jd
index c7cf7cf..e9b13c0 100644
--- a/docs/html-intl/intl/zh-cn/distribute/tools/promote/linking.jd
+++ b/docs/html-intl/intl/zh-cn/distribute/tools/promote/linking.jd
@@ -13,7 +13,7 @@
 	</div>
 	</div>
 
-	<p>Google Play 提供多种链接格式,可让你按自己需要的方式将用户从 Android 应用、网页、广告、评论、文章、社交媒体帖子等链接到你的商品。</p> 
+	<p>Google Play 提供多种链接格式,可让你按自己需要的方式将用户从 Android 应用、网页、广告、评论、文章、社交媒体帖子等链接到你的商品。</p>
 
 	<p>这些链接格式可让你:</p>
 	<ul>
diff --git a/docs/html-intl/intl/zh-cn/google/play/billing/api.jd b/docs/html-intl/intl/zh-cn/google/play/billing/api.jd
index fbdbac6..ba1d637 100644
--- a/docs/html-intl/intl/zh-cn/google/play/billing/api.jd
+++ b/docs/html-intl/intl/zh-cn/google/play/billing/api.jd
@@ -32,7 +32,7 @@
    <h2>另请参见</h2>
     <ol>
       <li><a href="{@docRoot}training/in-app-billing/index.html">销售应用内商品</a></li>
-    </ol>  
+    </ol>
   </div>
   </div>
 
@@ -68,7 +68,7 @@
     <ol type="a">
     <li>Google Play 返回的 <code>Bundle</code> 中包含 <code>PendingIntent</code>,您的应用可用它来启动购买结帐界面。</li>
     <li>您的应用通过调用 <code>startIntentSenderForResult</code> 方法来启动 PendingIntent。</li>
-    <li>当结帐流程结束后(即用户成功购买商品或取消购买),Google Play 会向您的 <code>onActivityResult</code> 方法发送响应 <code>Intent</code>。<code>onActivityResult</code> 的结果代码中有一个代码将用于表明用户是完成了购买还是取消了购买。响应 <code>Intent</code> 中会包含所购商品的相关信息,其中包括 Google Play 为了唯一标识此次购买交易而生成的 <code>purchaseToken</code> 字符串。<code>Intent</code> 中还包含使用您的私人开发者密钥签署的购买签名。</li> 
+    <li>当结帐流程结束后(即用户成功购买商品或取消购买),Google Play 会向您的 <code>onActivityResult</code> 方法发送响应 <code>Intent</code>。<code>onActivityResult</code> 的结果代码中有一个代码将用于表明用户是完成了购买还是取消了购买。响应 <code>Intent</code> 中会包含所购商品的相关信息,其中包括 Google Play 为了唯一标识此次购买交易而生成的 <code>purchaseToken</code> 字符串。<code>Intent</code> 中还包含使用您的私人开发者密钥签署的购买签名。</li>
     </ol>
   </li>
   </ol>
diff --git a/docs/html-intl/intl/zh-cn/google/play/billing/billing_admin.jd b/docs/html-intl/intl/zh-cn/google/play/billing/billing_admin.jd
index 989c0e7..50e2fe3 100644
--- a/docs/html-intl/intl/zh-cn/google/play/billing/billing_admin.jd
+++ b/docs/html-intl/intl/zh-cn/google/play/billing/billing_admin.jd
@@ -15,7 +15,7 @@
       <li><a href="#billing-support">获取相关支持</a></li>
     </ol>
 
-    
+
     <h2>另请参见</h2>
     <ol>
       <li><a href="{@docRoot}google/play/billing/billing_overview.html">应用内结算概述</a></li>
diff --git a/docs/html-intl/intl/zh-cn/google/play/filters.jd b/docs/html-intl/intl/zh-cn/google/play/filters.jd
index 9d68faf..87df676 100644
--- a/docs/html-intl/intl/zh-cn/google/play/filters.jd
+++ b/docs/html-intl/intl/zh-cn/google/play/filters.jd
@@ -166,7 +166,7 @@
  </p>
     <p><strong>示例 2<br />
     </strong>清单文件声明 <code>&lt;uses-sdk android:minSdkVersion="3"
-    android:targetSdkVersion="4"&gt;</code> 并且不包括 
+    android:targetSdkVersion="4"&gt;</code> 并且不包括
 <code>&lt;supports-screens&gt;</code> 元素。
     <strong>结果</strong>:Google Play 将向所有设备的用户显示该应用,除非还有其他筛选器。
  </p>
@@ -400,10 +400,10 @@
 
 这样,您可以只包括每种设备配置所需的纹理,从而减小
 APK 文件的大小。
-根据每个设备是否支持您的纹理压缩格式,Google Play 
+根据每个设备是否支持您的纹理压缩格式,Google Play
 将向其提供您已声明支持该设备的 APK。</p>
 
-<p>目前,只有在每个 APK 根据以下配置提供不同筛选时,Google Play 
+<p>目前,只有在每个 APK 根据以下配置提供不同筛选时,Google Play
 才允许您为同一应用发布多个 APK:</p>
 <ul>
   <li>OpenGL 纹理压缩格式
diff --git a/docs/html-intl/intl/zh-cn/guide/components/activities.jd b/docs/html-intl/intl/zh-cn/guide/components/activities.jd
index efc1fb1..0e7c4fd 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/activities.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/activities.jd
@@ -1,5 +1,5 @@
 page.title=Activity
-page.tags=Activity, Intent 
+page.tags=Activity, Intent
 @jd:body
 
 <div id="qv-wrapper">
@@ -215,7 +215,7 @@
 <h2 id="StartingAnActivity">启动 Activity</h2>
 
 <p>您可以通过调用 {@link android.app.Activity#startActivity
-  startActivity()},并将其传递给描述您想启动的 Activity 的 {@link android.content.Intent} 
+  startActivity()},并将其传递给描述您想启动的 Activity 的 {@link android.content.Intent}
 来启动另一个 Activity。Intent 对象会指定您想启动的具体 Activity 或描述您想执行的操作类型(系统会为您选择合适的 Activity,甚至是来自其他应用的 Activity)。
 
 
@@ -608,7 +608,7 @@
 
 <p>系统会先调用
 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()},然后再使 Activity 变得易于销毁。系统会向该方法传递一个
-{@link android.os.Bundle},您可以在其中使用 
+{@link android.os.Bundle},您可以在其中使用
 {@link
 android.os.Bundle#putString putString()} 和 {@link
 android.os.Bundle#putInt putInt()} 等方法以名称-值对形式保存有关 Activity 状态的信息。然后,如果系统终止您的应用进程,并且用户返回您的 Activity,则系统会重建该 Activity,并将
diff --git a/docs/html-intl/intl/zh-cn/guide/components/bound-services.jd b/docs/html-intl/intl/zh-cn/guide/components/bound-services.jd
index ed6aaf6..fda6ba7 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/bound-services.jd
@@ -636,7 +636,7 @@
 android.content.Context#stopService stopService()}
 为止,无论其是否绑定到任何客户端。</p>
 
-<p>此外,如果您的服务已启动并接受绑定,则当系统调用您的 {@link android.app.Service#onUnbind onUnbind()} 方法时,如果您想在客户端下一次绑定到服务时接收 
+<p>此外,如果您的服务已启动并接受绑定,则当系统调用您的 {@link android.app.Service#onUnbind onUnbind()} 方法时,如果您想在客户端下一次绑定到服务时接收
 {@link android.app.Service#onRebind
 onRebind()} 调用(而不是接收 {@link
 android.app.Service#onBind onBind()} 调用),则可选择返回
diff --git a/docs/html-intl/intl/zh-cn/guide/components/fragments.jd b/docs/html-intl/intl/zh-cn/guide/components/fragments.jd
index a4c2cbb..12a26e2 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/fragments.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>另请参阅</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">利用片段构建动态 UI</a></li>
@@ -362,7 +362,7 @@
 
 <p>如需查看将没有 UI 的片段用作后台工作线程的示例 Activity,请参阅 {@code
 FragmentRetainInstance.java} 示例,该示例包括在 SDK 示例(通过
-Android SDK 管理器提供)中,以 
+Android SDK 管理器提供)中,以
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code> 形式位于您的系统中。</p>
 
 
@@ -378,7 +378,7 @@
   <li>通过 {@link
 android.app.FragmentManager#findFragmentById findFragmentById()}(对于在 Activity 布局中提供 UI
 的片段)或 {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()}(对于提供或不提供 UI 的片段)获取 Activity 中存在的片段</li> 
+findFragmentByTag()}(对于提供或不提供 UI 的片段)获取 Activity 中存在的片段</li>
   <li>通过 {@link
 android.app.FragmentManager#popBackStack()}(模拟用户发出的 <em>Back</em> 命令)将片段从返回栈中弹出</li>
   <li>通过 {@link
@@ -785,7 +785,7 @@
 
 <p>第二个片段 {@code DetailsFragment} 显示从
 {@code TitlesFragment} 的列表中选择的项目的戏剧摘要:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>从 {@code TitlesFragment} 类中重新调用,如果用户点击某个列表项,且当前布局“根本不”<em></em>包括 {@code R.id.details}
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>请注意,如果配置为横向,则此 Activity 会自行完成,以便主 Activity 可以接管并沿 {@code TitlesFragment}
 显示
 {@code DetailsFragment}。如果用户在纵向显示时启动
diff --git a/docs/html-intl/intl/zh-cn/guide/components/fundamentals.jd b/docs/html-intl/intl/zh-cn/guide/components/fundamentals.jd
index 4ff22b6..faaa0a3f 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/fundamentals.jd
@@ -379,7 +379,7 @@
 等外部服务会读取它们,以便当用户在其设备中搜索应用时为用户提供过滤功能。</p>
 
 <p>例如,如果您的应用需要相机,并使用 Android 2.1(<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API</a> 7 级)中引入的
-API,您应该像下面这样在清单文件中以要求形式声明这些信息:</p> 
+API,您应该像下面这样在清单文件中以要求形式声明这些信息:</p>
 
 <pre>
 &lt;manifest ... >
@@ -390,7 +390,7 @@
 &lt;/manifest>
 </pre>
 
-<p>现在,<em>没有</em>相机且 
+<p>现在,<em>没有</em>相机且
 Android 版本<em>低于</em> 2.1 的设备将无法从 Google Play 安装您的应用。</p>
 
 <p>不过,您也可以声明您的应用使用相机,但并不<em>要求</em>必须使用。
diff --git a/docs/html-intl/intl/zh-cn/guide/components/index.jd b/docs/html-intl/intl/zh-cn/guide/components/index.jd
index 53e8184..73c1bdf 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/index.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/index.jd
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>博客文章</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>使用 DialogFragments</h4>
       <p>在这篇帖子中,我将介绍如何使用带有 v4 支持库(旨在支持 Honeycomb 之前的设备实现向后兼容)的 DialogFragments 显示一个简单的编辑对话框,并使用一个接口向调用 Activity 返回一个结果。</p>
@@ -21,7 +21,7 @@
       <h4>通用片段</h4>
       <p>今天,我们已发布一个展示相同 Fragments API 的静态库(以及新的 LoaderManager 和其他几个类)。因此,与 Android 1.6 或更高版本兼容的应用可以使用 Fragment 创建与平板电脑兼容的用户界面。 </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>多线程处理,性能卓越</h4>
       <p>创建快速响应的应用的有效方法是:确保最大程度地减少主 UI
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>培训</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>管理 Activity 生命周期</h4>
       <p>本课程介绍每个 Activity 实例将收到的重要生命周期回调方法,阐述可以如何利用这些方法使 Activity 达到用户预期,且避免它们在 Activity 不需要使用时消耗系统资源。
diff --git a/docs/html-intl/intl/zh-cn/guide/components/loaders.jd b/docs/html-intl/intl/zh-cn/guide/components/loaders.jd
index d8427b0..d768188 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/loaders.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>关键类</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>相关示例</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">
@@ -51,7 +51,7 @@
 因此,它们无需重新查询其数据。
 </li>
   </ul>
- 
+
 <h2 id="summary">Loader API 摘要</h2>
 
 <p>在应用中使用加载器时,可能会涉及到多个类和接口。
@@ -129,7 +129,7 @@
 或 {@link android.content.AsyncTaskLoader} 子类,从其他源中加载数据。</li>
   <li>一个
 {@link android.app.LoaderManager.LoaderCallbacks}
-实现。您可以使用它来创建新加载器,并管理对现有加载器的引用。</li> 
+实现。您可以使用它来创建新加载器,并管理对现有加载器的引用。</li>
 <li>一种显示加载器数据的方法,如 {@link
 android.widget.SimpleCursorAdapter}。</li>
   <li>使用
@@ -140,11 +140,11 @@
 <p>{@link android.app.LoaderManager} 可在 {@link android.app.Activity} 或
 {@link android.app.Fragment} 内管理一个或多个 {@link
 android.content.Loader} 实例。每个 Activity 或片段只有一个 {@link
-android.app.LoaderManager}。</p> 
+android.app.LoaderManager}。</p>
 
 <p>通常,您会使用 Activity 的 {@link
 android.app.Activity#onCreate onCreate()} 方法或片段的
-{@link android.app.Fragment#onActivityCreated onActivityCreated()} 
+{@link android.app.Fragment#onActivityCreated onActivityCreated()}
 方法初始化 {@link android.content.Loader}。您执行操作如下:
 </p>
 
@@ -157,13 +157,13 @@
 <ul>
   <li>用于标识加载器的唯一 ID。在此示例中,ID 为 0。</li>
 <li>在构建时提供给加载器的可选参数(在此示例中为 <code>null</code>
-)。</li> 
+)。</li>
 
 <li>{@link android.app.LoaderManager.LoaderCallbacks} 实现,
 {@link android.app.LoaderManager} 将调用此实现来报告加载器事件。在此示例中,本地类实现
 {@link
 android.app.LoaderManager.LoaderCallbacks}
-接口,因此它会将引用 {@code this} 传递给自己。</li> 
+接口,因此它会将引用 {@code this} 传递给自己。</li>
 </ul>
 <p>{@link android.app.LoaderManager#initLoader initLoader()}
 调用确保加载器已初始化且处于Activity状态。这可能会出现两种结果:</p>
@@ -362,11 +362,11 @@
 
 <h2 id="example">示例</h2>
 
-<p>以下是一个 
+<p>以下是一个
 {@link
 android.app.Fragment} 完整实现示例。它展示了一个 {@link android.widget.ListView},其中包含针对联系人内容提供程序的查询结果。它使用 {@link
 android.content.CursorLoader} 管理提供程序的查询。</p>
- 
+
 <p>应用如需访问用户联系人(正如此示例中所示),其清单文件必须包括权限
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}。
 </p>
diff --git a/docs/html-intl/intl/zh-cn/guide/components/processes-and-threads.jd b/docs/html-intl/intl/zh-cn/guide/components/processes-and-threads.jd
index c88ecf4..3f7c3cf 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/processes-and-threads.jd
@@ -47,7 +47,7 @@
 &lt;activity&gt;}</a>、<a href="{@docRoot}guide/topics/manifest/service-element.html">{@code
 &lt;service&gt;}</a>、<a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code
 &lt;receiver&gt;}</a> 和 <a href="{@docRoot}guide/topics/manifest/provider-element.html">{@code
-&lt;provider&gt;}</a>&mdash;均支持 
+&lt;provider&gt;}</a>&mdash;均支持
 {@code android:process} 属性,此属性可以指定该组件应在哪个进程运行。您可以设置此属性,使每个组件均在各自的进程中运行,或者使一些组件共享一个进程,而其他组件则不共享。
 此外,您还可以设置 {@code android:process},使不同应用的组件在相同的进程中运行,但前提是这些应用共享相同的 Linux 用户 ID 并使用相同的证书进行签署。
 
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/zh-cn/guide/components/recents.jd b/docs/html-intl/intl/zh-cn/guide/components/recents.jd
index 2bf1a5b..bc218f4 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/recents.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/recents.jd
@@ -118,7 +118,7 @@
 如果未找到任务或者 Intent 包含
 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}
 标志,则会以该 Activity 作为其根创建新任务。如果找到的话,则会将该任务转到前台并将新
- Intent 
+ Intent
 传递给
 {@link android.app.Activity#onNewIntent onNewIntent()}。新 Activity 将获得 Intent 并在概览屏幕中创建新文档,如下例所示:</p>
 
@@ -176,7 +176,7 @@
   <dd>该 Activity 不会为文档创建新任务。设置此值会替代
 {@link android.content.Intent#FLAG_ACTIVITY_NEW_DOCUMENT}
 和 {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK} 标志的行为(如果在
- Intent 
+ Intent
 中设置了其中一个标志),并且概览屏幕将为应用显示单个任务,该任务将从用户上次调用的任意 Activity 开始继续执行。</dd>
 </dl>
 
diff --git a/docs/html-intl/intl/zh-cn/guide/components/services.jd b/docs/html-intl/intl/zh-cn/guide/components/services.jd
index 9a00e70..c7c848b 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/services.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/services.jd
@@ -244,7 +244,7 @@
 {@link android.app.Service#onStartCommand
 onStartCommand()} 方法接收此 {@link android.content.Intent}。</p>
 
-<p>例如,假设某 Activity 需要将一些数据保存到在线数据库中。该 Activity 可以启动一个协同服务,并通过向 
+<p>例如,假设某 Activity 需要将一些数据保存到在线数据库中。该 Activity 可以启动一个协同服务,并通过向
 {@link
 android.content.Context#startService startService()} 传递一个 Intent,为该服务提供要保存的数据。服务通过
 {@link
diff --git a/docs/html-intl/intl/zh-cn/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/zh-cn/guide/components/tasks-and-back-stack.jd
index 07fdf6e..88aa78eb 100644
--- a/docs/html-intl/intl/zh-cn/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/zh-cn/guide/components/tasks-and-back-stack.jd
@@ -45,7 +45,7 @@
 <p>一个 Activity 甚至可以启动设备上其他应用中存在的 Activity。例如,如果应用想要发送电子邮件,则可将 Intent 定义为执行“发送”操作并加入一些数据,如电子邮件地址和电子邮件。
 
 然后,系统将打开其他应用中声明自己处理此类
- Intent 的 Activity。在这种情况下, Intent 
+ Intent 的 Activity。在这种情况下, Intent
 是要发送电子邮件,因此将启动电子邮件应用的“撰写”Activity(如果多个 Activity 支持相同
  Intent,则系统会让用户选择要使用的 Activity)。发送电子邮件时,Activity 将恢复,看起来好像电子邮件 Activity 是您的应用的一部分。
 即使这两个 Activity 可能来自不同的应用,但是
@@ -246,7 +246,7 @@
   <li>{@link android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP}</li>
 </ul>
 
-<p>在下文中,您将了解如何使用这些清单文件属性和 Intent 
+<p>在下文中,您将了解如何使用这些清单文件属性和 Intent
 标志定义 Activity 与任务的关联方式,以及 Activity 在返回栈中的行为方式。</p>
 
 <p>此外,我们还单独介绍了有关如何在概览屏幕中显示和管理任务与 Activity 的注意事项。
@@ -282,7 +282,7 @@
 B 的请求(如其清单文件中所定义)。</p>
 
 <p class="note"><strong>注:</strong>某些适用于清单文件的启动
-模式不可用作 Intent 标志,同样,某些可用作 Intent 
+模式不可用作 Intent 标志,同样,某些可用作 Intent
 标志的启动模式无法在清单文件中定义。</p>
 
 
@@ -370,7 +370,7 @@
 属性和可接受的值。</p>
 
 <p class="note"><strong>注:</strong>使用 <a href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code launchMode}</a>
-属性为 Activity 指定的行为可由 Intent 
+属性为 Activity 指定的行为可由 Intent
 附带的 Activity 启动标志替代,下文将对此进行讨论。</p>
 
 
@@ -378,7 +378,7 @@
 <h4 id="#IntentFlagsForTasks">使用 Intent 标志</h4>
 
 <p>启动 Activity 时,您可以通过在传递给 {@link
-android.app.Activity#startActivity startActivity()} 的 Intent 
+android.app.Activity#startActivity startActivity()} 的 Intent
 中加入相应的标志,修改 Activity 与其任务的默认关联方式。可用于修改默认行为的标志包括:
 </p>
 
@@ -404,7 +404,7 @@
 属性没有值。</p>
     <p>{@code FLAG_ACTIVITY_CLEAR_TOP} 通常与
 {@code FLAG_ACTIVITY_NEW_TASK}
-结合使用。一起使用时,通过这些标志,可以找到其他任务中的现有 Activity,并将其放入可从中响应 Intent 
+结合使用。一起使用时,通过这些标志,可以找到其他任务中的现有 Activity,并将其放入可从中响应 Intent
 的位置。 </p>
     <p class="note"><strong>注:</strong>如果指定 Activity 的启动模式为
 {@code "standard"},则该 Activity 也会从堆栈中删除,并在其位置启动一个新实例,以便处理传入的 Intent。
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/zh-cn/guide/topics/manifest/manifest-intro.jd
index c7ade4f..65b3b23 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/manifest/manifest-intro.jd
@@ -34,14 +34,14 @@
 <li>描述应用的各个组件,即:构成应用的 Activity、服务、广播接收器和内容提供程序。
 
 为实现每个组件的类命名并发布其功能(例如,它们可以处理的
-{@link android.content.Intent 
+{@link android.content.Intent
 Intent} 消息)。根据这些声明,Android
 系统可以了解这组件具体是什么,以及在什么条件下可以启动它们</li>
 
-<li>确定将托管应用组件的进程</li>  
+<li>确定将托管应用组件的进程</li>
 
 <li>声明应用必须具备哪些权限才能访问
-API 中受保护的部分并与其他应用交互</li>  
+API 中受保护的部分并与其他应用交互</li>
 
 <li>还声明其他应用与该应用组件交互所需具备的权限
 </li>
@@ -66,7 +66,7 @@
 要查看有关任何元素的详细信息,请点击该图中或其后按字母顺序排列的元素列表中相应的元素名称,或者点击任何其他地方提到的相应元素名称。
 
 
- 
+
 </p>
 
 <pre>
@@ -128,7 +128,7 @@
 <p>
 可出现在清单文件中的所有元素按字母顺序罗列如下。
 这些是仅有的合法元素;您无法添加自己的元素或属性。
-  
+
 </p>
 
 <p style="margin-left: 2em">
@@ -158,7 +158,7 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">文件约定</h2>
 
@@ -218,7 +218,7 @@
 (<code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>)、广播接收器
 (<code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>)
 以及内容提供程序
-(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>)。  
+(<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>)。
 
 <p>
 如果按照您针对组件类({@link android.app.Activity}、{@link android.app.Service}、{@link android.content.BroadcastReceiver}
@@ -244,7 +244,7 @@
 元素的
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code>
 属性中所指定)。
-以下赋值与上述方法相同: 
+以下赋值与上述方法相同:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -339,7 +339,7 @@
 <p>
 显式命名目标组件的
  Intent 将激活该组件;过滤器不起作用。但是,不按名称指定目标的
- Intent 
+ Intent
 只有在能够通过组件的一个过滤器时才可激活该组件。
 </p>
 
@@ -399,7 +399,7 @@
 <p>
   <i>权限</i> 是一种限制,用于限制对部分代码或设备上数据的访问。
    施加限制是为了保护可能被误用以致破坏或损害用户体验的关键数据和代码。
-  
+
 </p>
 
 <p>
@@ -427,7 +427,7 @@
 如果授予权限,则应用能够使用受保护的功能。
 
 否则,其访问这些功能的尝试将会失败,并且不会向用户发送任何通知。
- 
+
 </p>
 
 <p>
@@ -464,7 +464,7 @@
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
 元素来请求。要让应用的其他组件也能够启动受保护的 Activity,就必须请求其使用权限,即便保护是由应用本身施加的亦如此。
 
-  
+
 </p>
 
 <p>
@@ -474,7 +474,7 @@
 <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 元素再次声明。
 但是,仍有必要通过
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 请求使用它。 
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 请求使用它。
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/zh-cn/guide/topics/providers/calendar-provider.jd
index 5968284..b34cd8b 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">使用 Intent 对象查看日历数据</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">同步适配器</a></li>
 </ol>
 
@@ -113,14 +113,14 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>此表储存日历特定信息。
 此表中的每一行都包含一个日历的详细信息,例如名称、颜色、同步信息等。
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>此表储存事件特定信息。
 此表中的每一行都包含一个事件的信息&mdash;例如事件名称、地点、开始时间、结束时间等。
 
@@ -132,7 +132,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>此表储存每个事件实例的开始时间和结束时间。
 此表中的每一行都表示一个事件实例。
 对于一次性事件,实例与事件为 1:1
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>此表储存事件参加者(来宾)信息。
 每一行都表示事件的一位来宾。
 它指定来宾的类型以及事件的来宾出席响应。
@@ -149,7 +149,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>此表储存提醒/通知数据。
 每一行都表示事件的一个提醒。一个事件可以有多个提醒。
 每个事件的最大提醒数量在
@@ -159,7 +159,7 @@
 中指定,后者由拥有给定日历的同步适配器设置。提醒以事件发生前的分钟数形式指定,其具有一个可决定用户提醒方式的方法。
 </td>
   </tr>
-  
+
 </table>
 
 <p>Calendar Provider API 以灵活、强大为设计宗旨。提供良好的最终用户体验以及保护日历及其数据的完整性也同样重要。
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>表示是否选择显示该日历的布尔值。值为 0 表示不应显示与该日历关联的事件。
 
 值为 1
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>一个布尔值,表示是否应同步日历并将其事件存储在设备上。
 值为 0
 表示不同步该日历,也不将其事件存储在设备上。值为 1
@@ -268,13 +268,13 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>为何必须加入
 ACCOUNT_TYPE?</h3> <p>如果您查询 {@link
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 的特殊帐户类型,用于未关联设备帐户的日历。{@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
-帐户不会进行同步。</p> </div> </div> 
+帐户不会进行同步。</p> </div> </div>
 
 
 <p> 在示例的下一部分,您需要构建查询。选定范围指定查询的条件。
@@ -308,38 +308,38 @@
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>以下后续部分使用游标单步调试结果集。它使用在示例开头设置的常量来返回每个字段的值。
 
 </p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">修改日历</h3>
 
 <p>如需执行日历更新,您可以通过
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td><a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a>
 格式的事件持续时间。例如,值为
 <code>&quot;PT1H&quot;</code> 表示事件应持续一小时,值为
@@ -444,39 +444,39 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>值为 1
 表示此事件占用一整天(按照本地时区的定义)。值为 0
 表示它是常规事件,可在一天内的任何时间开始和结束。</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>事件的重复发生规则格式。例如,<code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>。
 您可以在<a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">此处</a>找到更多示例。
 </td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
     <td>事件的重复发生日期。
-{@link android.provider.CalendarContract.EventsColumns#RDATE} 
-与 {@link android.provider.CalendarContract.EventsColumns#RRULE} 
+{@link android.provider.CalendarContract.EventsColumns#RDATE}
+与 {@link android.provider.CalendarContract.EventsColumns#RRULE}
 通常联合用于定义一组聚合重复实例。
 如需查看更详细的介绍,请参阅 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 规范</a>。</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>将此事件视为忙碌时间还是可调度的空闲时间。
  </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -514,11 +514,11 @@
 {@link
 android.content.Intent#ACTION_INSERT INSERT} Intent 对象插入事件,则此规则不适用&mdash;在该情形下,系统会提供默认时区。
 </li>
-  
+
   <li>对于非重复事件,您必须加入 {@link
 android.provider.CalendarContract.EventsColumns#DTEND}。 </li>
-  
-  
+
+
   <li>对于重复事件,您必须加入 {@link
 android.provider.CalendarContract.EventsColumns#DURATION} 以及 {@link
 android.provider.CalendarContract.EventsColumns#RRULE} 或 {@link
@@ -528,7 +528,7 @@
 android.provider.CalendarContract.EventsColumns#RRULE} 与 {@link android.provider.CalendarContract.EventsColumns#DTSTART} 和 {@link android.provider.CalendarContract.EventsColumns#DTEND}
 联用,日历应用会自动将其转换为持续时间。
 </li>
-  
+
 </ul>
 
 <p>以下是一个插入事件的示例。为了简便起见,此操作是在 UI
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,19 +625,19 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">参加者表</h2>
 
 <p>{@link android.provider.CalendarContract.Attendees}
-表的每一行都表示事件的一位参加者或来宾。调用 
-{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 
+表的每一行都表示事件的一位参加者或来宾。调用
+{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 会返回一个参加者列表,其中包含具有给定 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 的事件的参加者。
-此 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+此 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 必须匹配特定事件的 {@link
-android.provider.BaseColumns#_ID}。</p> 
+android.provider.BaseColumns#_ID}。</p>
 
 <p>下表列出了可写入的字段。
 插入新参加者时,您必须加入除 <code>ATTENDEE_NAME</code> 之外的所有字段。
@@ -718,7 +718,7 @@
 <h2 id="reminders">提醒表</h2>
 
 <p>{@link android.provider.CalendarContract.Reminders}
-表的每一行都表示事件的一个提醒。调用 
+表的每一行都表示事件的一个提醒。调用
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 会返回一个提醒列表,其中包含具有给定 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 的事件的提醒。
 </p>
@@ -727,7 +727,7 @@
 <p>下表列出了提醒的可写入字段。插入新提醒时,必须加入所有字段。
 请注意,同步适配器指定它们在
 {@link
-android.provider.CalendarContract.Calendars} 表中支持的提醒类型。详情请参阅 
+android.provider.CalendarContract.Calendars} 表中支持的提醒类型。详情请参阅
 {@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}
 。</p>
 
@@ -780,9 +780,9 @@
  </p>
 
 <p>下表列出了一些您可以执行实例查询的字段。请注意,
-时区由 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 
-和 
+时区由
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
+和
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES} 定义。</p>
 
 
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>与日历时区相应的实例儒略历结束日。
- 
-    
+
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>从日历时区午夜开始计算的实例结束时间(分钟)。
 </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>与日历时区相应的实例儒略历开始日。 
+    <td>与日历时区相应的实例儒略历开始日。
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>从日历时区午夜开始计算的实例开始时间(分钟)。
- 
+
 </td>
-    
+
   </tr>
 
 </table>
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -922,9 +922,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    您还可以通过 
+    您还可以通过
 {@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI} 引用 URI。
-如需查看使用该 Intent 对象的示例,请参阅<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">使用 Intent 对象查看日历数据</a>。 
+如需查看使用该 Intent 对象的示例,请参阅<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">使用 Intent 对象查看日历数据</a>。
 
     </td>
     <td>打开日历后定位到 <code>&lt;ms_since_epoch&gt;</code> 指定的时间。</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    您还可以通过 
+
+    您还可以通过
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 引用 URI。
 如需查看使用该 Intent 对象的示例,请参阅<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">使用 Intent 对象查看日历数据</a>。
-    
+
     </td>
     <td>查看 <code>&lt;event_id&gt;</code> 指定的事件。</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  您还可以通过 
+
+  您还可以通过
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 引用 URI。
 如需查看使用该 Intent 对象的示例,请参阅<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">使用 Intent 对象编辑事件</a>。
-    
-    
+
+
     </td>
     <td>编辑 <code>&lt;event_id&gt;</code> 指定的事件。</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   您还可以通过 
+
+   您还可以通过
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 引用 URI。
 如需查看使用该 Intent 对象的示例,请参阅<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">使用 Intent 对象插入事件</a>。
-    
+
     </td>
 
     <td>创建事件。</td>
@@ -996,7 +996,7 @@
     <td>事件的名称。</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>事件开始时间,以从公元纪年开始计算的毫秒数表示。</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>事件结束时间,以从公元纪年开始计算的毫秒数表示。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>一个布尔值,表示事件属于全天事件。值可以是
 <code>true</code> 或 <code>false</code>。</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>事件的地点。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>事件描述。</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>事件是私人性质还是公共性质。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>将此事件视为忙碌时间还是可调度的空闲时间。</td>
-    
-</table> 
+
+</table>
 <p>下文描述如何使用这些 Intent 对象。</p>
 
 
@@ -1059,23 +1059,23 @@
 {@link
 android.Manifest.permission#WRITE_CALENDAR} 权限。</p>
 
-  
+
 <p>当用户运行使用此方法的应用时,应用会将其转到日历来完成事件添加操作。
 {@link
 android.content.Intent#ACTION_INSERT INSERT}  Intent 利用 extra
 字段为表单预填充日历中事件的详细信息。用户随后可取消事件、根据需要编辑表单或将事件保存到日历中。
 
 </p>
-  
+
 
 
 <p>以下是一个代码段,用于安排一个在 2012 年 1 月 19 日上午
 7:30 开始、8:30 结束的事件。请注意该代码段中的以下内容:</p>
 
 <ul>
-  <li>它将 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 
+  <li>它将 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}
 指定为 URI。</li>
-  
+
   <li>它使用 {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} 和 {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} extra
 字段为表单预填充事件的时间。这些时间的值必须以从公元纪年开始计算的协调世界时毫秒数表示。
 </li>
-  
+
   <li>它使用 {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 extra 字段提供以逗号分隔的受邀者电子邮件地址列表。</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,18 +1158,18 @@
 
 <ul>
   <li>同步适配器需要通过将 {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} 设置为 <code>true</code> 来表明它是同步适配器。</li>
-  
-  
+
+
   <li>同步适配器需要提供 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} 和 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} 作为 URI 中的查询参数。 </li>
-  
+
   <li>与应用或小工具相比,同步适配器拥有写入权限的列更多。
   例如,应用只能修改日历的少数几种特性,
 例如其名称、显示名称、能见度设置以及是否同步日历。
 相比之下,同步适配器不仅可以访问这些列,还能访问许多其他列,
 例如日历颜色、时区、访问级别、地点等等。不过,同步适配器受限于它指定的
-<code>ACCOUNT_NAME</code> 和 
+<code>ACCOUNT_NAME</code> 和
 <code>ACCOUNT_TYPE</code>。</li> </ul>
 
 <p>您可以利用以下 helper 方法返回供与同步适配器一起使用的 URI:</p>
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>如需查看同步适配器的实现示例(并非仅限与日历有关的实现),请参阅 
+<p>如需查看同步适配器的实现示例(并非仅限与日历有关的实现),请参阅
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>。
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-basics.jd
index 4c91d3a..b1a1c5a 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-basics.jd
@@ -251,7 +251,7 @@
 </pre>
 <p>
     表 2 显示了
-    {@link android.content.ContentResolver#query 
+    {@link android.content.ContentResolver#query
     query(Uri,projection,selection,selectionArgs,sortOrder)} 的参数如何匹配 SQL SELECT 语句:
 </p>
 <p class="table-caption">
@@ -717,7 +717,7 @@
     &lt;uses-permission android:name="android.permission.READ_USER_DICTIONARY"&gt;
 </pre>
 <p>
-    
+
 <a href="{@docRoot}guide/topics/security/security.html">安全与权限</a>指南中详细介绍了权限对提供程序访问的影响。
 </p>
 
@@ -944,7 +944,7 @@
 </p>
 <p>
     要在“批量模式”下访问提供程序,
-您可以创建 {@link android.content.ContentProviderOperation} 对象数组,然后使用 {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()} 
+您可以创建 {@link android.content.ContentProviderOperation} 对象数组,然后使用 {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}
 将其分派给内容提供程序。
 您需将内容提供程序的<em>授权</em>传递给此方法,而不是特定内容 URI。这样可使数组中的每个 {@link android.content.ContentProviderOperation} 对象都能适用于其他表。
 
@@ -1191,6 +1191,6 @@
 
 </p>
 <p>
-    
+
 <a href="#ContentURIs">内容 URI</a> 部分介绍了单个行的内容 URI。
 </p>
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-creating.jd
index 6da5743..329754e 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/providers/content-provider-creating.jd
@@ -277,7 +277,7 @@
 
 </p>
 <p>
-    
+
     <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">内容提供程序基础知识</a>主题中描述了内容 URI 的基础知识。
 
 </p>
@@ -569,7 +569,7 @@
 </ul>
 <h3 id="Query">实现 query() 方法</h3>
 <p>
-    
+
     {@link android.content.ContentProvider#query(Uri, String[], String, String[], String)
     ContentProvider.query()} 方法必须返回 {@link android.database.Cursor} 对象。如果失败,则会引发 {@link java.lang.Exception}。
 如果您使用 SQLite 数据库作为数据存储,则只需返回由 {@link android.database.sqlite.SQLiteDatabase} 类的其中一个
@@ -831,7 +831,7 @@
 </pre>
 <h3 id="FileMIMETypes">文件的 MIME 类型</h3>
 <p>
-    如果您的提供程序提供文件,请实现 
+    如果您的提供程序提供文件,请实现
     {@link android.content.ContentProvider#getStreamTypes(Uri, String) getStreamTypes()}。
     该方法会为您的提供程序可以为给定内容 URI 返回的文件返回一个 MIME 类型 {@link java.lang.String} 数组。您应该通过 MIME 类型过滤器参数过滤您提供的 MIME 类型,以便只返回客户端想处理的那些 MIME 类型。
 
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/zh-cn/guide/topics/providers/document-provider.jd
index fd36e29..db5b1a4 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/providers/document-provider.jd
@@ -177,7 +177,7 @@
 中,提供程序和客户端并不直接交互。客户端请求与文件交互(即读取、编辑、创建或删除文件)的权限;
 </li>
 
-<li>交互在应用(在本示例中为照片应用)触发 Intent 
+<li>交互在应用(在本示例中为照片应用)触发 Intent
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} 或 {@link android.content.Intent#ACTION_CREATE_DOCUMENT} 后开始。Intent 可能包括进一步细化条件的过滤器&mdash;例如,“为我提供所有 MIME
 类型为‘图像’的可打开文件”;
 </li>
@@ -460,7 +460,7 @@
 
 <p>您可以使用 SAF
 就地编辑文本文档。以下代码段会触发
-{@link android.content.Intent#ACTION_OPEN_DOCUMENT}  Intent 
+{@link android.content.Intent#ACTION_OPEN_DOCUMENT}  Intent
 并使用类别 {@link android.content.Intent#CATEGORY_OPENABLE}
 以仅显示可以打开的文档。它会进一步过滤以仅显示文本文件:</p>
 
@@ -589,7 +589,7 @@
 </ul></li>
 
 <li>一个包括
-{@code android.content.action.DOCUMENTS_PROVIDER} 操作的 Intent 
+{@code android.content.action.DOCUMENTS_PROVIDER} 操作的 Intent
 过滤器,以便在系统搜索提供程序时让您的提供程序出现在选取器中。</li>
 
 </ul>
@@ -623,7 +623,7 @@
 Android 4.4 及更高版本的设备。如果您想让应用支持 {@link android.content.Intent#ACTION_GET_CONTENT}
 以适应运行 Android 4.3
 及更低版本的设备,则应在您的清单文件中为运行 Android 4.4
-或更高版本的设备禁用 {@link android.content.Intent#ACTION_GET_CONTENT}  Intent 
+或更高版本的设备禁用 {@link android.content.Intent#ACTION_GET_CONTENT}  Intent
 过滤器。应将文档提供程序和
 {@link android.content.Intent#ACTION_GET_CONTENT}
 视为具有互斥性。如果您同时支持这两者,您的应用将在系统选取器
@@ -631,7 +631,7 @@
 中出现两次,提供两种不同的方式来访问您存储的数据。这会给用户造成困惑。</p>
 
 <p>建议按照以下步骤为运行 Android 4.4 版或更高版本的设备禁用
-{@link android.content.Intent#ACTION_GET_CONTENT}  Intent 
+{@link android.content.Intent#ACTION_GET_CONTENT}  Intent
 过滤器:</p>
 
 <ol>
@@ -643,7 +643,7 @@
 
 <li>添加一个<a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">Activity别名</a>,为
 4.4 版(API 19
-级)或更高版本禁用 {@link android.content.Intent#ACTION_GET_CONTENT}  Intent 
+级)或更高版本禁用 {@link android.content.Intent#ACTION_GET_CONTENT}  Intent
 过滤器。例如:
 
 <pre>
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/zh-cn/guide/topics/resources/providing-resources.jd
index ea46d86..1516814 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/resources/providing-resources.jd
@@ -398,7 +398,7 @@
           <li>600,适用于 600x1024 mdpi 之类的屏幕(7 英寸平板电脑)。</li>
           <li>720,适用于 720x1280 mdpi 之类的屏幕(10 英寸平板电脑)。</li>
         </ul>
-        <p>应用为多个资源目录提供不同的 
+        <p>应用为多个资源目录提供不同的
 smallestWidth 限定符值时,系统会使用最接近(但未超出)设备
 smallestWidth 的值。 </p>
         <p><em>此项为 API 级别 13 中新增配置。</em></p>
@@ -428,7 +428,7 @@
         <p>应用为多个资源目录提供不同的此配置值时,系统会使用最接近(但未超出)设备当前屏幕宽度的值。
 
 此处的值考虑到了屏幕装饰元素,因此如果设备显示屏的左边缘或右边缘上有一些永久性 UI
-元素,考虑到这些 UI 
+元素,考虑到这些 UI
 元素,它会使用小于实际屏幕尺寸的宽度值,这样会减少应用的可用空间。
 
 </p>
@@ -456,7 +456,7 @@
         <p>应用为多个资源目录提供不同的此配置值时,系统会使用最接近(但未超出)设备当前屏幕高度的值。
 
 此处的值考虑到了屏幕装饰元素,因此如果设备显示屏的上边缘或下边缘有一些永久性 UI
-元素,考虑到这些 UI 
+元素,考虑到这些 UI
 元素,同时为减少应用的可用空间,它会使用小于实际屏幕尺寸的高度值。
 
 非固定的屏幕装饰元素(例如,全屏时可隐藏的手机状态栏)并不<em></em>在考虑范围内,标题栏或操作栏等窗口装饰也不在考虑范围内,因此应用必须准备好处理稍小于其所指定值的空间。
@@ -510,7 +510,7 @@
 
 </p>
         <p><em>此项为 API 级别 4 中新增配置。</em></p>
-        
+
         <p>如需了解详细信息,请参阅<a href="{@docRoot}guide/practices/screens_support.html">支持多个屏幕</a>。
 </p>
         <p>另请参阅 {@link android.content.res.Configuration#screenLayout} 配置字段,该字段表示屏幕是小尺寸、标准尺寸还是大尺寸。
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/controls.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/controls.jd
index 0f1a543d..3d78bdc 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">单选按钮</a></td>
         <td>与复选框类似,不同的是只能选择组中的一个选项。</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/dialogs.jd
index 84922b4..595407d 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>另请参阅</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">对话框设计指南</a></li>
@@ -248,7 +248,7 @@
   <dt>中性</dt>
   <dd>您应该在用户可能不想继续执行操作,但也不一定想要取消操作时使用此按钮。
 它出现在肯定按钮和否定按钮之间。
-例如,实际操作可能是“稍后提醒我”。</dd> 
+例如,实际操作可能是“稍后提醒我”。</dd>
 </dl>
 
 <p>对于每种按钮类型,您只能为 {@link
@@ -317,10 +317,10 @@
 
 <h4 id="Checkboxes">添加永久性多选列表或单选列表</h4>
 
-<p>要想添加多选项(复选框)或单选项(单选按钮)列表,请分别使用 
+<p>要想添加多选项(复选框)或单选项(单选按钮)列表,请分别使用
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} 或 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} 或
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()}
 方法。</p>
 
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -373,7 +373,7 @@
 
 <p>尽管传统列表和具有单选按钮的列表都能提供“单选”操作,但如果您想持久保存用户的选择,则应使用
 {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()}。也就是说,如果稍后再次打开对话框时系统应指示用户的当前选择,那么您就需要创建一个具有单选按钮的列表。
 
 </p>
@@ -442,7 +442,7 @@
 {@code "sans-serif"},以便两个文本字段都使用匹配的字体样式。</p>
 
 <p>要扩展 {@link android.support.v4.app.DialogFragment}
-中的布局,请通过 {@link android.app.Activity#getLayoutInflater()} 
+中的布局,请通过 {@link android.app.Activity#getLayoutInflater()}
 获取一个 {@link android.view.LayoutInflater} 并调用
 {@link android.view.LayoutInflater#inflate inflate()},其中第一个参数是布局资源
 ID,第二个参数是布局的父视图。然后,您可以调用
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/menus.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/menus.jd
index b77f3bf..bafbc65 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/menus.jd
@@ -83,9 +83,9 @@
 </p>
   <p>请参阅<a href="#options-menu">创建选项菜单</a>部分。</p>
     </dd>
-    
+
   <dt><strong>上下文菜单和上下文操作模式</strong></dt>
-  
+
    <dd>上下文菜单是用户长按某一元素时出现的<a href="#FloatingContextMenu">浮动菜单</a>。
 它提供的操作将影响所选内容或上下文框架。
 
@@ -94,7 +94,7 @@
 </p>
   <p>请参阅<a href="#context-menu">创建上下文菜单</a>部分。</p>
 </dd>
-    
+
   <dt><strong>弹出菜单</strong></dt>
     <dd>弹出菜单将以垂直列表形式显示一系列项目,这些项目将锚定到调用该菜单的视图中。
 它特别适用于提供与特定内容相关的大量操作,或者为命令的另一部分提供选项。
@@ -135,7 +135,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>创建 {@link android.view.MenuItem},此元素表示菜单中的一项,可能包含嵌套的 <code>&lt;menu></code>
 元素,以便创建子菜单。</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>{@code &lt;item&gt;} 元素的不可见容器(可选)。它支持您对菜单项进行分类,使其共享活动状态和可见性等属性。
 如需了解详细信息,请参阅<a href="#groups">创建菜单组</a>部分。
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/notifiers/notifications.jd
index c0bd74c..8908318 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/notifiers/notifications.jd
@@ -321,7 +321,7 @@
 
 </p>
 <p class="note">
-    <strong>注:</strong>此 
+    <strong>注:</strong>此
 Gmail 功能需要“收件箱”扩展布局,该布局是自 Android 4.1 版本起可用的扩展通知功能的一部分。
 </p>
 <p>
@@ -409,7 +409,7 @@
         您要启动的
 {@link android.app.Activity} 是应用的正常工作流的一部分。在这种情况下,请设置 {@link android.app.PendingIntent}
 以启动全新任务并为
-{@link android.app.PendingIntent}提供返回栈,这将重现应用的正常“返回”行为。 <i> </i>  
+{@link android.app.PendingIntent}提供返回栈,这将重现应用的正常“返回”行为。 <i> </i>
         <p>
             Gmail 应用中的通知演示了这一点。点击一封电子邮件消息的通知时,您将看到消息具体内容。
 触摸<b>返回</b>将使您从
@@ -533,7 +533,7 @@
                 TaskStackBuilder.editIntentAt()} 向堆栈中的 {@link android.content.Intent}
 对象添加参数。有时,需要确保目标 {@link android.app.Activity} 在用户使用“返回”导航回它时会显示有意义的数据。
 
- <i> </i> 
+ <i> </i>
             </li>
             <li>
                 通过调用
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/overview.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/overview.jd
index 5097c76..78f4734 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>有关创建 UI 布局的完整指南,请参阅 <a href="declaring-layout.html">XML
 布局</a>。
 
-  
+
 <h2 id="UIComponents">用户界面组件</h2>
 
 <p>您无需使用 {@link android.view.View} 和 {@link
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/settings.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/settings.jd
index f9be97b..71b185d 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/settings.jd
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>对于要保留数据值的首选项,必须拥有此属性。它指定系统在将此设置的值保存在
 {@link
-android.content.SharedPreferences} 中时所用的唯一键(字符串)。 
+android.content.SharedPreferences} 中时所用的唯一键(字符串)。
   <p>不需要此属性的仅有情形是:首选项是
 {@link android.preference.PreferenceCategory} 或{@link android.preference.PreferenceScreen},或者首选项指定要调用的
 {@link android.content.Intent}(使用 <a href="#Intents">{@code &lt;intent&gt;}</a> 元素)或要显示的 {@link android.app.Fragment}(使用 <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -672,15 +672,15 @@
 </p>
 
 <p>例如,下面就是一个用于 Android 3.0
-及更高版本系统的首选项标头 XML 文件 ({@code res/xml/preference_headers.xml}):</p> 
+及更高版本系统的首选项标头 XML 文件 ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -920,7 +920,7 @@
 &lt;/activity>
 </pre>
 
-<p>此 Intent 
+<p>此 Intent
 过滤器指示系统此 Activity 控制应用的数据使用情况。因此,当用户从系统的“设置”应用检查应用所使用的数据量时,可以使用“查看应用设置”按钮启动
 {@link android.preference.PreferenceActivity},这样,用户就能够优化应用使用的数据量。
 
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/zh-cn/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/zh-cn/guide/topics/ui/ui-events.jd
index f9e97630..faa294d 100644
--- a/docs/html-intl/intl/zh-cn/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/zh-cn/guide/topics/ui/ui-events.jd
@@ -181,14 +181,14 @@
 </p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code>:此方法允许 {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code>:此方法允许 {@link
     android.app.Activity} 在分派给窗口之前截获所有触摸事件。</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code>:此方法允许 {@link
     android.view.ViewGroup} 监视分派给子视图的事件。</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code>:
-对父视图调用此方法表明不应使用 <code>{@link 
+对父视图调用此方法表明不应使用 <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code> 截获触摸事件。</li>
 </ul>
 
@@ -199,7 +199,7 @@
 但是,如果设备具有触摸功能且用户开始通过触摸界面与之交互,则不再需要突出显示项目或聚焦到特定视图对象上。
 
 因此,有一种交互模式称为“触摸模式”。
- 
+
 </p>
 <p>
 对于支持触摸功能的设备,当用户触摸屏幕时,设备会立即进入触摸模式。
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/zh-cn/preview/api-overview.jd b/docs/html-intl/intl/zh-cn/preview/api-overview.jd
index 495692a..f4f889d 100644
--- a/docs/html-intl/intl/zh-cn/preview/api-overview.jd
+++ b/docs/html-intl/intl/zh-cn/preview/api-overview.jd
@@ -762,7 +762,7 @@
 <p>
   虽然我们建议您对您的应用采用 APK Signature Scheme v2,但这项新方案并非强制性的。
 如果您的应用在使用 APK Signature Scheme v2 时不能正确构建,您可以停用这项新方案。
-禁用过程会导致 Android Studio 2.2 和 Android Gradle 2.2 插件仅使用传统签名方案来签署您的应用。 
+禁用过程会导致 Android Studio 2.2 和 Android Gradle 2.2 插件仅使用传统签名方案来签署您的应用。
 
 若要仅用传统方案签署,打开多层 <code>build.gradle</code> 文件,然后将行 <code>v2SigningEnabled false</code> 添加到您的版本签名配置中:
 
@@ -970,7 +970,7 @@
 <em></em>虚拟文件功能可以让您的 {@link android.provider.DocumentsProvider} 返回可与 {@link android.content.Intent#ACTION_VIEW}Intent 使用的文件 URI,即使它们没有直接字节码表示。
 
 
-Android N 还允许您为用户文件(虚拟或其他类)提供备用格式。 
+Android N 还允许您为用户文件(虚拟或其他类)提供备用格式。
 
 </p>
 
diff --git a/docs/html-intl/intl/zh-cn/preview/features/afw.jd b/docs/html-intl/intl/zh-cn/preview/features/afw.jd
index 04e6802..0d4c562 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/afw.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/afw.jd
@@ -127,7 +127,7 @@
   android.app.admin.DevicePolicyManager#setPasswordMinimumLength
   setPasswordMinimumLength()}。
 
-个人资料所有者还能通过使用由新的 <code>DevicePolicyManager.getParentProfileInstance()</code> 方法返回的 {@link android.app.admin.DevicePolicyManager} 实例来设置设备锁定, 
+个人资料所有者还能通过使用由新的 <code>DevicePolicyManager.getParentProfileInstance()</code> 方法返回的 {@link android.app.admin.DevicePolicyManager} 实例来设置设备锁定,
 
 
 此外,个人资料所有者可以使用 {@link android.app.admin.DevicePolicyManager} 类的新 <code>setOrganizationColor()</code> 和 <code>setOrganizationName()</code> 方法来自定义工作挑战的凭据屏幕。
@@ -286,7 +286,7 @@
 <ul>
 
   <li>
-    新类 <code>android.app.admin.SecurityLog</code> 和它的方法 
+    新类 <code>android.app.admin.SecurityLog</code> 和它的方法
 
   </li>
 
@@ -539,7 +539,7 @@
 <h2 id="lock-user-icon">锁定用户图标</h2>
 
 <p>
-  新的用户限制 (<code>DISALLOW_SET_USER_ICON</code>) 阻止用户更改其用户图标。 
+  新的用户限制 (<code>DISALLOW_SET_USER_ICON</code>) 阻止用户更改其用户图标。
 用户的设备所有者或个人资料所有者仍可以更改图标。
 但是个人资料所有者只能更改其控制的个人资料的用户图标。
 
diff --git a/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd b/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
index 5392329..4ce58aa 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
@@ -61,7 +61,7 @@
 <ul>
   <li>面向 Preview 的应用不会收到 {@link
 android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们在清单中注册接收这些广播。
-运行的应用如果使用 {@link android.content.Context#registerReceiver Context.registerReceiver()} 注册 
+运行的应用如果使用 {@link android.content.Context#registerReceiver Context.registerReceiver()} 注册
 {@link android.content.BroadcastReceiver},则仍可在主线程上侦听 {@code CONNECTIVITY_CHANGE}。
 
 
diff --git a/docs/html-intl/intl/zh-cn/preview/features/security-config.jd b/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
index ca20c44..e029a03 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
@@ -739,7 +739,7 @@
       </dt>
 
       <dd>
-        用于生成 PKP 的摘要算法。目前仅支持 
+        用于生成 PKP 的摘要算法。目前仅支持
 {@code "SHA-256"}。
       </dd>
     </dl>
diff --git a/docs/html-intl/intl/zh-cn/preview/overview.jd b/docs/html-intl/intl/zh-cn/preview/overview.jd
index 06a905f..8bbd120 100644
--- a/docs/html-intl/intl/zh-cn/preview/overview.jd
+++ b/docs/html-intl/intl/zh-cn/preview/overview.jd
@@ -117,7 +117,7 @@
 
       <p>
         使用 <a href="{@docRoot}preview/bug">Issue Tracker</a> 向我们报告问题并提供反馈。
-与 
+与
 <a href="{@docRoot}preview/dev-community">N&nbsp;开发者社区</a>中的其他开发者建立联系。
 
       </p>
@@ -381,7 +381,7 @@
 </p>
 
 <p>
-  Android N Developer Preview 提供<strong>预览版 API</strong> 功能 
+  Android N Developer Preview 提供<strong>预览版 API</strong> 功能
 &mdash; 在最终的 SDK 发布之前,这些 API 都不是正式的 API。目前,最终的 SDK 计划于 2016 年第三季度发布。
 这意味着一段时期内,特别是该计划的最初几周内,
 <strong>API 可能会出现细微变化</strong>。
diff --git a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
index 872ad7c..c629cd9 100644
--- a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
@@ -55,7 +55,7 @@
 </p>
 
 <ol>
-  <li>点击 <strong>Tools &gt;Android &gt; 
+  <li>点击 <strong>Tools &gt;Android &gt;
 SDK Manager</strong> 来打开 SDK 管理器。</li>
 
   <li>在 <strong>SDK Platforms</strong> 选项卡中选中 <strong>Android N Preview</strong> 复选框。
@@ -92,7 +92,7 @@
     <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
       MD5:19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7
     </td>
   </tr>
 <table>
diff --git a/docs/html-intl/intl/zh-cn/preview/support.jd b/docs/html-intl/intl/zh-cn/preview/support.jd
index 9efb5b2..353a71d 100644
--- a/docs/html-intl/intl/zh-cn/preview/support.jd
+++ b/docs/html-intl/intl/zh-cn/preview/support.jd
@@ -223,7 +223,7 @@
   <dd>
     系统现在使用 Activity 的元数据来决定图块模式。
     (之前平铺模式是由 <code>TileService.onTileAdded()</code> 的返回值决定。)
-如需了解详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中的 
+如需了解详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中的
 <code>TileService.META_DATA_ACTIVE_TILE</code>。
   </dd>
 </dl>
@@ -334,7 +334,7 @@
 </h4>
 
 <ul>
-  <li>在将一个运行 Android 6.0 或更早版本的设备更新到 N Developer Preview 时,Google 键盘不会保留首选项数据,如最近的表情符号和声音设置。 
+  <li>在将一个运行 Android 6.0 或更早版本的设备更新到 N Developer Preview 时,Google 键盘不会保留首选项数据,如最近的表情符号和声音设置。
 
 
   </li>
diff --git a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/index.jd
index dad2208..e401aae 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/index.jd
@@ -55,7 +55,7 @@
 </p>
 
 <h2>课程</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">开始Activity</a></b></dt>
   <dd>学习有关Activity生命周期、用户如何启动您的应用以及如何执行基本Activity创建操作的基础知识。
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">重新创建Activity</a></b></dt>
   <dd>学习您的Activity被销毁时的情况以及您如何能够根据需要重新构建Activity。
 </dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/pausing.jd
index ef5b0d5..c73a9e8 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本课程将向您展示如何</h2>
     <ol>
       <li><a href="#Pause">暂停Activity</a></li>
       <li><a href="#Resume">继续Activity</a></li>
     </ol>
-    
+
     <h2>您还应阅读</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activity</a>
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">暂停Activity</h2>
-      
+
 <p>当系统为您的Activity调用 {@link android.app.Activity#onPause()} 时,它从技术角度看意味着您的Activity仍然处于部分可见状态,但往往说明用户即将离开Activity并且它很快就要进入“停止”状态。
 
 您通常应使用
diff --git a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/recreating.jd
index a7971d8..76afe17 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本课程将向您展示如何</h2>
     <ol>
       <li><a href="#SaveState">保存Activity状态</a></li>
       <li><a href="#RestoreState">恢复Activity状态</a></li>
     </ol>
-    
+
     <h2>您还应阅读</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">支持不同屏幕</a>
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 系统只在存在要恢复的已保存状态时调用 {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()}
 ,因此您无需检查 {@link android.os.Bundle} 是否为 null:</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/starting.jd
index cebd748..04f380d 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本课程将向您展示如何</h2>
 <ol>
   <li><a href="#lifecycle-states">了解生命周期回调</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">创建一个新实例</a></li>
   <li><a href="#Destroy">销毁Activity</a></li>
 </ol>
-    
+
     <h2>您还应阅读</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activity</a></li>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -128,7 +128,7 @@
 </dl>
 
 <p>其他状态(“创建”和“开始”)是瞬态,系统会通过调用下一个生命周期回调方法从这些状态快速移到下一个状态。
-也就是说,在系统调用 
+也就是说,在系统调用
 {@link android.app.Activity#onCreate onCreate()} 之后,它会快速调用 {@link
 android.app.Activity#onStart()},紧接着快速调用 {@link
 android.app.Activity#onResume()}。</p>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">指定您的应用的启动器Activity</h2> 
+<h2 id="launching-activity">指定您的应用的启动器Activity</h2>
 
 <p>当用户从主屏幕选择您的应用图标时,系统会为您已声明为“启动器”( 或“主要”)Activity的应用中的 {@link android.app.Activity} 调用 {@link
 android.app.Activity#onCreate onCreate()} 方法。
@@ -151,7 +151,7 @@
 <p>您的应用的主Activity必须使用 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a>(包括 {@link
 android.content.Intent#ACTION_MAIN MAIN} 操作和
-{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} 类别)在宣示说明中声明。例如:</p> 
+{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} 类别)在宣示说明中声明。例如:</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -214,7 +214,7 @@
 }
 </pre>
 
-<p class="caution"><strong>注意:</strong>使用 {@link android.os.Build.VERSION#SDK_INT} 
+<p class="caution"><strong>注意:</strong>使用 {@link android.os.Build.VERSION#SDK_INT}
 可防止旧版系统以这种方式仅在 Android 2.0 (API 级别5)和更高级别执行新 API 工作。
 较旧版本会遇到运行时异常。</p>
 
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/stopping.jd
index 630817c..dd6d4a6 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本课程将向您展示如何</h2>
     <ol>
       <li><a href="#Stop">停止Activity</a></li>
       <li><a href="#Start">开始/重新开始Activity</a></li>
     </ol>
-    
+
     <h2>您还应阅读</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activity</a>
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html-intl/intl/zh-cn/training/basics/data-storage/databases.jd b/docs/html-intl/intl/zh-cn/training/basics/data-storage/databases.jd
index a6c9193..78fa2f3 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/data-storage/databases.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/data-storage/databases.jd
@@ -201,7 +201,7 @@
 </pre>
 
 <p>{@link android.database.sqlite.SQLiteDatabase#insert insert()}
-的第一个参数即为表格名称。第二个参数指定在 
+的第一个参数即为表格名称。第二个参数指定在
 {@link android.content.ContentValues} 为空的情况下框架可在其中插入 NULL 的列的名称(如果您将其设置为 {@code "null"},
 那么框架将不会在没有值时插入行。)
 </p>
diff --git a/docs/html-intl/intl/zh-cn/training/basics/fragments/fragment-ui.jd b/docs/html-intl/intl/zh-cn/training/basics/fragments/fragment-ui.jd
index 51a4e27..1ef1662 100644
--- a/docs/html-intl/intl/zh-cn/training/basics/fragments/fragment-ui.jd
+++ b/docs/html-intl/intl/zh-cn/training/basics/fragments/fragment-ui.jd
@@ -4,7 +4,7 @@
 @jd:body
 
     <div id="tb-wrapper">
-      <div id="tb"> 
+      <div id="tb">
         <h2>本课程所教授的内容:</h2>
     <ol>
       <li><a href="#AddAtRuntime">在运行时向 Activity 添加 Fragment</a></li>
@@ -39,7 +39,7 @@
 
 
 
-    <h2 id="AddAtRuntime">在运行时向 Activity 添加 Fragment</h2> 
+    <h2 id="AddAtRuntime">在运行时向 Activity 添加 Fragment</h2>
 
     <p>你可以在 Activity 运行时向其添加 Fragment,而不用像<a href="creating.html">上一课</a>中介绍的那样,使用 <code>&lt;fragment&gt;</code> 元素在布局文件中为 Activity 定义 Fragment。如果你打算在 Activity 运行周期内更改 Fragment,就必须这样做。</p>
 
@@ -88,11 +88,11 @@
                     return;
                 }
 
-                // 创建一个要放入 Activity 布局中的新 Fragment 
+                // 创建一个要放入 Activity 布局中的新 Fragment
                 HeadlinesFragment firstFragment = new HeadlinesFragment();
 
                 // 如果此 Activity 是通过 Intent 发出的特殊指令来启动的,
-                // 请将该 Intent 的 extras 以参数形式传递给该 Fragment 
+                // 请将该 Intent 的 extras 以参数形式传递给该 Fragment
                 firstFragment.setArguments(getIntent().getExtras());
 
                 // 将该 Fragment 添加到“fragment_container”FrameLayout 中
diff --git a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/battery-monitoring.jd b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/battery-monitoring.jd
index 0e1ccb7..42b3c89 100644
--- a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/battery-monitoring.jd
+++ b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/battery-monitoring.jd
@@ -7,8 +7,8 @@
 next.link=docking-monitoring.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>本教程将指导您</h2>
@@ -24,9 +24,9 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">intent 和 intent 过滤器</a>
 </ul>
 
-</div> 
 </div>
- 
+</div>
+
 <p>如果您要更改后台更新频率,从而减少更新对电池使用时间的影响,最好先查看当前的电池电量和充电状态。</p>
 
 <p>对应用进行更新会影响电池使用时间,具体取决于设备的电池电量和充电状态。如果用户正在通过交流电源为设备充电,更新应用的影响就可以忽略不计。因此,在大多数情况下,只要设备连接了充电器,您就可以最大程度地提高刷新频率。相反,如果设备在消耗电池电量,那么降低更新频率就可以延长电池使用时间。</p>
@@ -34,8 +34,8 @@
 <p>同样,您也可以查看电池电量,如果电量即将耗尽,您就可以降低更新频率,甚至停止更新。</p>
 
 
-<h2 id="DetermineChargeState">确定当前的充电状态</h2> 
- 
+<h2 id="DetermineChargeState">确定当前的充电状态</h2>
+
 <p>请先确定当前的充电状态。{@link android.os.BatteryManager} 会通过一个包含充电状态的持续 {@link android.content.Intent} 广播所有的电池详情和充电详情。</p>
 
 <p>由于这是个持续 intent,因此您无需通过将传入 {@code null} 的 {@code registerReceiver} 作为接收器直接调用(如下一代码段所示)来注册 {@link android.content.BroadcastReceiver},系统会返回当前电池状态 intent。您可以在此处传入实际的 {@link android.content.BroadcastReceiver} 对象,不过我们会在下文中介绍如何处理更新,因此您不一定要执行此操作。</p>
@@ -58,7 +58,7 @@
 <p>通常,如果设备连接了交流充电器,您就应最大程度地提高后台更新频率;如果设备通过 USB 充电,请降低更新频率;如果电池在耗电,请进一步降低更新频率。</p>
 
 
-<h2 id="MonitorChargeState">监控充电状态的变化</h2> 
+<h2 id="MonitorChargeState">监控充电状态的变化</h2>
 
 <p>充电状态的改变就像设备连接电源那样容易,因此监控充电状态的变化并相应地调整刷新频率就很重要了。</p>
 
@@ -75,11 +75,11 @@
 
 <pre>public class PowerConnectionReceiver extends BroadcastReceiver {
     &#64;Override
-    public void onReceive(Context context, Intent intent) { 
+    public void onReceive(Context context, Intent intent) {
         int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
         boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                             status == BatteryManager.BATTERY_STATUS_FULL;
-    
+
         int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
         boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
         boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
@@ -87,7 +87,7 @@
 }</pre>
 
 
-<h2 id="CurrentLevel">确定当前的电池电量</h2> 
+<h2 id="CurrentLevel">确定当前的电池电量</h2>
 
 <p>在某些情况下,确定当前的电池电量会对您有所帮助。如果电池电量低于一定水平,您可以降低后台更新频率。</p>
 
@@ -99,7 +99,7 @@
 float batteryPct = level / (float)scale;</pre>
 
 
-<h2 id="MonitorLevel">监控电池电量的显著变化</h2> 
+<h2 id="MonitorLevel">监控电池电量的显著变化</h2>
 
 <p>您无法轻松地对电池状态进行持续监控,不过也无需这么做。</p>
 
diff --git a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/connectivity-monitoring.jd
index 8313e08..b5f48a9 100644
--- a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>本教程将指导您</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">intent 和 intent 过滤器</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>重复提醒和后台服务最常见的用途之一,就是为来自互联网资源的应用数据、缓存数据安排定期更新或执行长时间运行的下载任务。但是,如果您没有连接互联网,或因连接过慢而无法完成下载,那就根本没必要唤醒设备并安排更新了。</p>
@@ -35,18 +35,18 @@
 <p>您可以使用 {@link android.net.ConnectivityManager} 查看是否确实已连接互联网,如果已连接,您还可以了解当前的连接类型。</p>
 
 
-<h2 id="DetermineConnection">确定是否已连接互联网</h2> 
- 
+<h2 id="DetermineConnection">确定是否已连接互联网</h2>
+
 <p>如果设备未连接互联网,就没有必要根据互联网资源安排更新了。以下代码段说明如何使用 {@link android.net.ConnectivityManager} 查询有效网络并确定该网络是否已连接互联网。</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">确定互联网连接的类型</h2> 
+<h2 id="DetermineType">确定互联网连接的类型</h2>
 
 <p>您也可以确定当前可用的互联网连接的类型。</p>
 
@@ -59,7 +59,7 @@
 <p>停用更新后,请务必侦听连接情况的变化,以便在建立互联网连接后恢复更新。</p>
 
 
-<h2 id="MonitorChanges">监控连接情况的变化</h2> 
+<h2 id="MonitorChanges">监控连接情况的变化</h2>
 
 <p>只要连接的具体情况发生变化,{@link android.net.ConnectivityManager} 就会广播 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code "android.net.conn.CONNECTIVITY_CHANGE"}) 操作。您可以在清单中注册广播接收器,以便侦听这些变化并相应地恢复(或暂停)后台更新。</p>
 
diff --git a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/docking-monitoring.jd b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/docking-monitoring.jd
index 53b951d..c5ed38e 100644
--- a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/docking-monitoring.jd
+++ b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/docking-monitoring.jd
@@ -10,7 +10,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>本教程将指导您</h2>
@@ -26,7 +26,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">intent 和 intent 过滤器</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Android 设备支持几种不同类型的基座。这些类型包括车载或家用基座以及数字和模拟基座。许多基座可用于为插入的设备充电,因此基座状态通常与充电状态紧密相关。</p>
@@ -36,8 +36,8 @@
 <p>系统是以持续 {@link android.content.Intent} 的形式广播基座状态的,这样您就可以查询设备是否插入了基座,如果已插入,您还可以查询基座类型。</p>
 
 
-<h2 id="CurrentDockState">确定当前的基座状态</h2> 
- 
+<h2 id="CurrentDockState">确定当前的基座状态</h2>
+
 <p>基座状态详情是以附加信息的形式包含在 {@link android.content.Intent#ACTION_DOCK_EVENT} 操作的持续广播中的。由于这属于持续广播,因此您无需注册 {@link android.content.BroadcastReceiver}。您可以将传入 {@code null} 的 {@link android.content.Context#registerReceiver registerReceiver()} 作为广播接收器直接调用,具体如下一代码段所示。</p>
 
 <pre>IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
@@ -49,9 +49,9 @@
 boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;</pre>
 
 
-<h2 id="DockType">确定当前的基座类型</h2> 
+<h2 id="DockType">确定当前的基座类型</h2>
 
-<p>用户可以将设备插入以下四种类型的基座: 
+<p>用户可以将设备插入以下四种类型的基座:
 <ul><li>车载基座</li>
 <li>桌面基座</li>
 <li>低端(模拟)桌面基座</li>
@@ -60,12 +60,12 @@
 <p>请注意,后两种类型仅适用于 API 级别为 11 及以上的 Android,因此如果您只关注基座类型,而不在意基座究竟是数字的还是模拟的,那么比较合适的做法就是查看全部三种类型:</p>
 
 <pre>boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
-boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || 
+boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                  dockState == EXTRA_DOCK_STATE_LE_DESK ||
                  dockState == EXTRA_DOCK_STATE_HE_DESK;</pre>
 
 
-<h2 id="MonitorDockState">监控基座状态或类型的变化</h2> 
+<h2 id="MonitorDockState">监控基座状态或类型的变化</h2>
 
 <p>无论设备是否插入了基座,系统都会广播 {@link android.content.Intent#ACTION_DOCK_EVENT} 操作。要监控设备基座状态的变化,您只需在应用清单中注册广播接收器即可,具体如以下代码段所示:</p>
 
diff --git a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/index.jd b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/index.jd
index 308ad7b..2efed8b 100644
--- a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/index.jd
+++ b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>依存关系和前提条件</h2> 
+<h2>依存关系和前提条件</h2>
 <ul>
   <li>Android 2.0(API 级别 5)或更高版本</li>
   <li><a href="{@docRoot}guide/components/intents-filters.html">intent 和 intent 过滤器</a>的使用经验</li>
@@ -21,19 +21,19 @@
   <li><a href="{@docRoot}guide/components/services.html">服务</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>为了打造一个优秀的应用,您应设法降低应用对电池使用时间的影响。阅读完本教程后,您就可以让自己构建的应用根据其所在设备的状态来监控和调整自身的功能和行为。</p>
 
 <p>要确保在不影响用户体验的情况下最大程度地降低应用对电池使用时间的影响,您可以采取一些措施,例如在网络连接断开时停用后台服务更新,或在电池电量较低时降低此类更新的频率。</p>
 
-<h2>教程</h2> 
- 
+<h2>教程</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="battery-monitoring.html">监控电池电量和充电状态</a></b></dt>
   <dd>了解如何通过确定和监控当前的电池电量和充电状态的变化来相应地调整应用的更新频率。</dd>
@@ -46,4 +46,4 @@
 
   <dt><b><a href="manifest-receivers.html">根据需要操作广播接收器</a></b></dt>
   <dd>您可以在运行时切换自己在清单中声明的广播接收器,以便根据当前设备状态停用不需要的接收器。了解如何在设备未处于特定状态的情况下切换和层叠状态变化接收器和延迟操作,以便提高效率。</dd>
-</dl> 
\ No newline at end of file
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/manifest-receivers.jd b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/manifest-receivers.jd
index 07c014f..ed1b6ce 100644
--- a/docs/html-intl/intl/zh-cn/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html-intl/intl/zh-cn/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>本教程将指导您</h2>
@@ -23,7 +23,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">intent 和 intent 过滤器</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>监控设备状态变化的最简单方法就是,为您监控的每种状态创建 {@link android.content.BroadcastReceiver} 并在应用清单中逐一进行注册。然后,您只需根据当前设备状态在每个接收器中重新安排重复提醒即可。</p>
@@ -31,10 +31,10 @@
 <p>此方法的负面影响在于,只要系统触发了这些接收器中的任何一个,相关应用就会唤醒设备,其频率可能会远远超过所需的水平。</p>
 
 <p>更好的方法是在运行时停用或启用广播接收器。这样的话,您就可以将自己在清单中声明的接收器用作被动提醒,只有在需要时才会由系统事件触发。</p>
- 
 
-<h2 id="ToggleReceivers">切换和层叠状态变化接收器以提高效率 </h2> 
- 
+
+<h2 id="ToggleReceivers">切换和层叠状态变化接收器以提高效率 </h2>
+
 <p>您可以使用 {@link android.content.pm.PackageManager} 切换清单中定义的任意组件的启用状态(包括您要启用或停用的任意广播接收器),具体如以下片段所示:</p>
 
 <pre>ComponentName receiver = new ComponentName(context, myReceiver.class);
diff --git a/docs/html-intl/intl/zh-cn/training/multiscreen/adaptui.jd b/docs/html-intl/intl/zh-cn/training/multiscreen/adaptui.jd
index 89908fe..f9e3225 100644
--- a/docs/html-intl/intl/zh-cn/training/multiscreen/adaptui.jd
+++ b/docs/html-intl/intl/zh-cn/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>本教程将指导您</h2>
 
 <ol>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">支持平板电脑和手持设备</a></li>
 </ul>
- 
+
 <h2>试试看</h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">下载示例应用</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>根据您的应用当前显示的布局,用户界面流程可能会有所不同。例如,如果您的应用处于双面板模式下,点击左侧面板上的项即可直接在右侧面板上显示相关内容;如果该应用处于单面板模式下,相关内容就应以其他活动的形式在同一面板上显示。</p>
 
@@ -56,7 +56,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -116,7 +116,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -168,7 +168,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html-intl/intl/zh-cn/training/multiscreen/index.jd b/docs/html-intl/intl/zh-cn/training/multiscreen/index.jd
index 02c687a..5ac0d8c 100644
--- a/docs/html-intl/intl/zh-cn/training/multiscreen/index.jd
+++ b/docs/html-intl/intl/zh-cn/training/multiscreen/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>依存关系和前提条件</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>依存关系和前提条件</h2>
 
 <ul>
   <li>Android 1.6 或更高版本(示例应用则需要 2.1 或更高版本)</li>
@@ -27,17 +27,17 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">支持多种屏幕</a></li>
 </ul>
- 
-<h2>试试看</h2> 
- 
-<div class="download-box"> 
+
+<h2>试试看</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">下载示例应用</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>Android 支持数百种屏幕尺寸不同的设备,包括小型手机和大型电视机。因此,请务必将您的应用设计为与所有的屏幕尺寸兼容,以便让尽可能多的用户使用该应用。</p>
 
 <p>不过,与各种类型的设备兼容还远远不够。由于各种屏幕尺寸对用户互动产生的利弊有所不同,因此要真正满足用户需求并广获好评,您的应用不仅需要支持多种屏幕,还应针对各类屏幕配置的用户体验进行优化。<em></em><em></em></p>
@@ -48,17 +48,17 @@
 
 <p class="note"><strong>请注意</strong>:本教程和相关的示例使用了<a
 href="{@docRoot}tools/support-library/index.html">支持库</a>,以便在 3.0 版以下的 Android 上使用  <PH>{@link android.app.Fragment}</PH>  API。因此,您需要下载该库并将其添加到您的应用,才能使用本教程中涉及的所有 API。</p>
- 
 
-<h2>教程</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">支持各种屏幕尺寸</a></b></dt> 
-    <dd>本教程将向您介绍如何设计可适应多种屏幕尺寸的布局(使用灵活的视图尺寸、 <PH>{@link android.widget.RelativeLayout}</PH>、屏幕尺寸和屏幕方向限定符、别名过滤器以及自动拉伸位图)。</dd> 
- 
-  <dt><b><a href="screendensities.html">支持各种屏幕密度</a></b></dt> 
-    <dd>本教程将向您介绍如何支持具有不同像素密度的屏幕(使用非密度制约像素并提供各种密度的相应位图)。</dd> 
- 
-  <dt><b><a href="adaptui.html">实施自适应用户界面流程</a></b></dt> 
-    <dd>本教程将向您介绍如何以可适应多种屏幕尺寸/屏幕密度组合的方式实施用户界面流程(运行时对当前布局的检测,根据当前布局做出响应,处理屏幕配置变化)。</dd> 
-</dl> 
+
+<h2>教程</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">支持各种屏幕尺寸</a></b></dt>
+    <dd>本教程将向您介绍如何设计可适应多种屏幕尺寸的布局(使用灵活的视图尺寸、 <PH>{@link android.widget.RelativeLayout}</PH>、屏幕尺寸和屏幕方向限定符、别名过滤器以及自动拉伸位图)。</dd>
+
+  <dt><b><a href="screendensities.html">支持各种屏幕密度</a></b></dt>
+    <dd>本教程将向您介绍如何支持具有不同像素密度的屏幕(使用非密度制约像素并提供各种密度的相应位图)。</dd>
+
+  <dt><b><a href="adaptui.html">实施自适应用户界面流程</a></b></dt>
+    <dd>本教程将向您介绍如何以可适应多种屏幕尺寸/屏幕密度组合的方式实施用户界面流程(运行时对当前布局的检测,根据当前布局做出响应,处理屏幕配置变化)。</dd>
+</dl>
diff --git a/docs/html-intl/intl/zh-cn/training/multiscreen/screendensities.jd b/docs/html-intl/intl/zh-cn/training/multiscreen/screendensities.jd
index cdb9b7f..342ee95 100644
--- a/docs/html-intl/intl/zh-cn/training/multiscreen/screendensities.jd
+++ b/docs/html-intl/intl/zh-cn/training/multiscreen/screendensities.jd
@@ -12,8 +12,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>本教程将指导您</h2>
 <ol>
@@ -29,15 +29,15 @@
 </ul>
 
 <h2>试试看</h2>
- 
-<div class="download-box"> 
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">下载示例应用</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>本教程将向您介绍如何通过提供不同资源和使用独立于分辨率的测量单位来支持不同屏幕密度。</p>
 
@@ -48,8 +48,8 @@
 <p>例如,请使用 <code>dp</code>(而非 <code>px</code>)指定两个视图间的间距:</p>
 
 <pre>
-&lt;Button android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+&lt;Button android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:text="&#64;string/clickme"
     android:layout_marginTop="20dp" /&gt;
 </pre>
@@ -57,8 +57,8 @@
 <p>请务必使用 <code>sp</code> 指定文字大小:</p>
 
 <pre>
-&lt;TextView android:layout_width="match_parent" 
-    android:layout_height="wrap_content" 
+&lt;TextView android:layout_width="match_parent"
+    android:layout_height="wrap_content"
     android:textSize="20sp" /&gt;
 </pre>
 
diff --git a/docs/html-intl/intl/zh-cn/training/multiscreen/screensizes.jd b/docs/html-intl/intl/zh-cn/training/multiscreen/screensizes.jd
index 904d097..2d47d1d 100644
--- a/docs/html-intl/intl/zh-cn/training/multiscreen/screensizes.jd
+++ b/docs/html-intl/intl/zh-cn/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>本教程将指导您</h2>
 <ol>
@@ -30,26 +30,26 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">支持多种屏幕</a></li>
 </ul>
 
-<h2>试试看</h2> 
- 
-<div class="download-box"> 
+<h2>试试看</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">下载示例应用</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>此教程将向您介绍如何通过以下方法支持各种尺寸的屏幕:</p>
-<ul> 
-  <li>确保系统可以适当地调整您布局的尺寸以便适应屏幕</li> 
-  <li>根据屏幕配置提供合适的用户界面布局</li> 
+<ul>
+  <li>确保系统可以适当地调整您布局的尺寸以便适应屏幕</li>
+  <li>根据屏幕配置提供合适的用户界面布局</li>
   <li>确保正确的布局应用到了正确的屏幕上</li>
-  <li>提供可正确缩放的位图</li> 
-</ul> 
+  <li>提供可正确缩放的位图</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">使用“wrap_content”和“match_parent”</h2> 
+<h2 id="TaskUseWrapMatchPar">使用“wrap_content”和“match_parent”</h2>
 
 <p>要确保布局的灵活性并适应各种尺寸的屏幕,您应使用 <code>"wrap_content"</code> 和 <code>"match_parent"</code> 控制某些视图组件的宽度和高度。如果您使用 <code>"wrap_content"</code>,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 <code>"match_parent"</code>(在低于 API 级别 8 的级别中称为 <code>"fill_parent"</code>)则会展开组件以匹配其父视图的尺寸。</p>
 
@@ -65,7 +65,7 @@
 <p class="img-caption"><strong>图 1</strong>。纵向模式(左)和横向模式(右)下的新闻阅读器示例应用。</p>
 
 
-<h2 id="TaskUseRelativeLayout">使用相对布局</h2> 
+<h2 id="TaskUseRelativeLayout">使用相对布局</h2>
 
 <p>您可以使用  <PH>{@link android.widget.LinearLayout}</PH>  的嵌套实例并结合 <code>"wrap_content"</code> 和 <code>"match_parent"</code> 尺寸,以便构建相当复杂的布局。不过,您无法通过  <PH>{@link android.widget.LinearLayout}</PH>  精确控制子视图的特殊关系;系统会将  <PH>{@link android.widget.LinearLayout}</PH>  中的视图直接并排列出。如果您需要将子视图排列出各种效果而不是一条直线,通常更合适的解决方法是使用  <PH>{@link android.widget.RelativeLayout}</PH>,这样您就可以根据各组件之间的特殊关系指定布局了。例如,您可以将某个子视图对齐到屏幕左侧,同时将另一个视图对齐到屏幕右侧。</p>
 
@@ -115,8 +115,8 @@
 
 <p>请注意,虽然组件的尺寸有所变化,但它们的空间关系仍会保留,具体由  <PH>{@link android.widget.RelativeLayout.LayoutParams}</PH> 指定。</p>
 
- 
-<h2 id="TaskUseSizeQuali">使用尺寸限定符</h2> 
+
+<h2 id="TaskUseSizeQuali">使用尺寸限定符</h2>
 
 <p>上文所述的灵活布局或相对布局可以为您带来的优势就只有这么多了。虽然这些布局可以拉伸组件内外的空间以适应各种屏幕,但它们不一定能为每种屏幕都提供最佳的用户体验。因此,您的应用不仅应实施灵活布局,还应针对各种屏幕配置提供一些备用布局。要做到这一点,您可以使用<a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">配置限定符</a>,这样就可以在运行时根据当前的设备配置自动选择合适的资源了(例如根据各种屏幕尺寸选择不同的布局)。</p>
 
@@ -158,7 +158,7 @@
 <p>但 Android 版本低于 3.2 的设备不支持此技术,原因是这些设备无法将 <code>sw600dp</code> 识别为尺寸限定符,因此您仍需使用 <code>large</code> 限定符。这样一来,就会有一个名称为 <code>res/layout-large/main.xml</code> 的文件(与 <code>res/layout-sw600dp/main.xml</code> 一样)。您将在下一教程中了解到避免此类布局文件出现重复的技术。</p>
 
 
-<h2 id="TaskUseAliasFilters">使用布局别名</h2> 
+<h2 id="TaskUseAliasFilters">使用布局别名</h2>
 
 <p>最小宽度限定符仅适用于 Android 3.2 及更高版本。因此,您仍需使用与较低版本兼容的概括尺寸范围(小、正常、大和特大)。例如,如果您要将用户界面设计成在手机上显示单面板,但在 7 英寸平板电脑、电视和其他较大的设备上显示多面板,请提供以下文件:</p>
 
@@ -198,11 +198,11 @@
 </li>
 </ul></p>
 
-<p>后两个文件的内容相同,但它们并未实际定义布局。它们只是将  <PH>{@code main}</PH> 设置成了  <PH>{@code main_twopanes}</PH> 的别名。由于这些文件包含 <code>large</code> 和 <code>sw600dp</code> 选择器,因此无论 Android 版本如何,系统都会将这些文件应用到平板电脑和电视上(版本低于 3.2 的平板电脑和电视会匹配 
+<p>后两个文件的内容相同,但它们并未实际定义布局。它们只是将  <PH>{@code main}</PH> 设置成了  <PH>{@code main_twopanes}</PH> 的别名。由于这些文件包含 <code>large</code> 和 <code>sw600dp</code> 选择器,因此无论 Android 版本如何,系统都会将这些文件应用到平板电脑和电视上(版本低于 3.2 的平板电脑和电视会匹配
 <PH>{@code large}</PH>,版本低于 3.2 的平板电脑和电视则会匹配 <code>sw600dp</code>)。</p>
 
 
-<h2 id="TaskUseOriQuali">使用屏幕方向限定符</h2> 
+<h2 id="TaskUseOriQuali">使用屏幕方向限定符</h2>
 
 <p>某些布局会同时支持横向模式和纵向模式,但您可以通过调整优化其中大部分布局的效果。在新闻阅读器示例应用中,每种屏幕尺寸和屏幕方向下的布局行为方式如下所示:</p>
 
diff --git a/docs/html-intl/intl/zh-tw/about/versions/android-5.0.jd b/docs/html-intl/intl/zh-tw/about/versions/android-5.0.jd
index 6b3637b..8952a35 100644
--- a/docs/html-intl/intl/zh-tw/about/versions/android-5.0.jd
+++ b/docs/html-intl/intl/zh-tw/about/versions/android-5.0.jd
@@ -428,7 +428,7 @@
 <p>當系統偵測到適用網路時,就會自動連線並叫用 {@link android.net.ConnectivityManager.NetworkCallback#onAvailable(android.net.Network) onAvailable()} 回呼。您可以使用回呼的 {@link android.net.Network} 物件,以取得網路的額外資訊,或是將流量導向所選的網路。</p>
 
 <h3 id="BluetoothBroadcasting">藍牙低功耗技術</h3>
-<p>Android 4.3 平台首度導入了<a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">藍牙低功耗技術</a> (<em>Bluetooth LE</em>) 支援功能,讓裝置以主機角色建立連線。在 Android 5.0 中,Android 裝置則可以扮演 Bluetooth LE「周邊裝置」<em></em>的角色。應用程式可以透過這項功能,輕鬆讓附近的裝置偵測到。舉例來說,您可以打造應用程式,讓裝置化身為計步器或健康監測器,並將資料傳送給另一台 Bluetooth LE 裝置。</p> 
+<p>Android 4.3 平台首度導入了<a href="{@docRoot}guide/topics/connectivity/bluetooth-le.html">藍牙低功耗技術</a> (<em>Bluetooth LE</em>) 支援功能,讓裝置以主機角色建立連線。在 Android 5.0 中,Android 裝置則可以扮演 Bluetooth LE「周邊裝置」<em></em>的角色。應用程式可以透過這項功能,輕鬆讓附近的裝置偵測到。舉例來說,您可以打造應用程式,讓裝置化身為計步器或健康監測器,並將資料傳送給另一台 Bluetooth LE 裝置。</p>
 <p>全新的 {@link android.bluetooth.le} API 可讓您的應用程式播送廣告、掃描回應,以及與附近的 Bluetooth LE 裝置建立連線。如要使用全新的廣告和掃描功能,請在您的資訊清單中新增 {@link android.Manifest.permission#BLUETOOTH_ADMIN BLUETOOTH_ADMIN} 權限。當使用者從 Play 商店更新或下載您的應用程式時,會看到以下的權限要求提示:「藍牙連線資訊:允許應用程式控制藍牙功能,包括對附近的藍牙裝置播送資訊,或是從附近的藍牙裝置取得資訊。」</p>
 
 <p>如要開始 Bluetooth LE 廣告功能,以便其他裝置發掘您的應用程式,請呼叫 {@link android.bluetooth.le.BluetoothLeAdvertiser#startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback) startAdvertising()} 並傳遞 {@link android.bluetooth.le.AdvertiseCallback} 類別實作。回呼物件會收到廣告作業成功或失敗的報告。</p>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/about.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/about.jd
index f63501f..5e0eec3 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/about.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/about.jd
@@ -6,7 +6,7 @@
 
 @jd:body
 
-<div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
   <h2>關於 Google Play</h2>
     <ol style="list-style-type:none;">
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/auto.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/auto.jd
index 8fe944d..88236c1 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/auto.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/auto.jd
@@ -160,4 +160,4 @@
     data-query="collection:autolanding"
     data-cardSizes="9x6, 6x3x2"
     data-maxResults="6">
-  </div> 
+  </div>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/developer-console.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/developer-console.jd
index a0093bb..b14095b 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/developer-console.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/developer-console.jd
@@ -5,7 +5,7 @@
 
 @jd:body
 
-<div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
     <h2>發行功能</h2>
     <ol>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/about.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/about.jd
index b362ae9..38c2ac1 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/about.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/about.jd
@@ -36,4 +36,4 @@
 
 <div class="paging-links" style="padding-top:.75em;">
   <a href="{@docRoot}distribute/googleplay/families/start.html" class="next-class-link">後續內容:選擇</a>
-</div> 
+</div>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/faq.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/faq.jd
index 6964789..057e583 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/faq.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>本文件內容</h2>
@@ -106,7 +106,7 @@
   </dt>
 
   <dd>
-    在您選擇加入 Designed for Families 後,Google Play 會檢閱您的應用程式,以確認其是否適合家庭使用。若您的應用程式符合所有計劃需求,預計發行時間不會長於一般發行時間;但是,若在 Designed for Families 檢閱期間拒絕應用程式,則該應用程式的發行可能會出現延遲。 
+    在您選擇加入 Designed for Families 後,Google Play 會檢閱您的應用程式,以確認其是否適合家庭使用。若您的應用程式符合所有計劃需求,預計發行時間不會長於一般發行時間;但是,若在 Designed for Families 檢閱期間拒絕應用程式,則該應用程式的發行可能會出現延遲。
   </dd>
 
   <dt>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/start.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/start.jd
index bf7a725..ca44a28 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/families/start.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/families/start.jd
@@ -51,7 +51,7 @@
 </p>
 
 <p class="note">
-  <strong>注意:</strong>Designed for Families 計劃中已發行的應用程式也可供 Google Play 上的所有使用者使用。 
+  <strong>注意:</strong>Designed for Families 計劃中已發行的應用程式也可供 Google Play 上的所有使用者使用。
 </p>
 
 <p>
@@ -67,4 +67,4 @@
 
 <div class="paging-links" style="padding-top:.75em;">
   <a href="{@docRoot}distribute/googleplay/families/faq.html" class="next-class-link">後續內容:常見問題</a>
-</div> 
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/guide.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/guide.jd
index 0165279..e70eaa3 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/guide.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/guide.jd
@@ -54,4 +54,4 @@
     data-query="collection:play_dev_guide"
     data-cardSizes="9x6"
     data-maxResults="1">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/auto.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/auto.jd
index bf7b702..d724869 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/auto.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/auto.jd
@@ -431,4 +431,4 @@
 
 <p class="caution">
   <strong>重要說明:</strong>由於存在這一限制,因此您不應將生產 APK 用於 Auto 支援原型設計。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/core.jd
index feabc20..3435ec2 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/core.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/core.jd
@@ -13,7 +13,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>測試</h2>
   <ol>
     <li><a href="#test-environment">設定測試環境</a></li>
@@ -25,7 +25,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">平板電腦應用程式品質</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">最佳化您的應用程式</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -70,7 +70,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       描述
@@ -1011,4 +1011,4 @@
 
 <p>
   請確保使用{@link android.os.StrictMode.ThreadPolicy.Builder#penaltyFlashScreen() penaltyFlashScreen()}針對 <code>ThreadPolicy</code> 啟用政策違犯的<strong>視覺通知</strong>。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/tablets.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/tablets.jd
index 3c16f9d..d584e53 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/tablets.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/tablets.jd
@@ -46,7 +46,7 @@
 
 <div class="headerLine"><h2 id="core-app-quality">1.測試基本平板電腦應用程式品質</h2></div>
 
-<p>提供平板電腦應用程式絕佳體驗的第一步,是確保其符合應用程式所針對所有裝置及尺寸規格的<em>核心應用程式品質準則</em>。如需完備資訊,請參閱<a href="{@docRoot}distribute/essentials/quality/core.html">核心應用程式品質指導方針</a>。 
+<p>提供平板電腦應用程式絕佳體驗的第一步,是確保其符合應用程式所針對所有裝置及尺寸規格的<em>核心應用程式品質準則</em>。如需完備資訊,請參閱<a href="{@docRoot}distribute/essentials/quality/core.html">核心應用程式品質指導方針</a>。
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/wear.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/wear.jd
index 47a2d91..6dc85e8 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/wear.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/quality/wear.jd
@@ -395,4 +395,4 @@
 </p>
 <p>
   是。上述需求僅判斷在 Google Play 上是否將您的應用程式視為 Android Wear 應用程式,以及該應用程式是否可供 Android Wear 使用者更輕鬆地探尋。若未接受您的應用程式為 Wear 應用程式,仍會向其他裝置類型 (例如手機或平板電腦) 提供該應用程式,並且仍會安裝在穿戴式裝置上。
-</p> 
\ No newline at end of file
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/start.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/start.jd
index 3364e49..8bff67d 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/start.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/start.jd
@@ -134,4 +134,4 @@
   data-query="collection:distribute/googleplay/gettingstarted"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/tv.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/tv.jd
index c4f7a7c..aa2096a 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/tv.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/tv.jd
@@ -173,7 +173,7 @@
 <h3 id="track_review">5.追蹤您的檢閱與核准</h3>
 
 <p>
-  若您的應用程式符合 Android 電視的技術與品質準則 (如上所述),則會向 Android 電視的使用者提供您的應用程式。若您的應用程式不符合該準則,您將收到<strong>傳送至您開發人員帳戶地址的通知電子郵件</strong>,內含需要修正的領域的摘要。若您已進行所需調整,可以將新版本的應用程式上傳至 Developer Console。 
+  若您的應用程式符合 Android 電視的技術與品質準則 (如上所述),則會向 Android 電視的使用者提供您的應用程式。若您的應用程式不符合該準則,您將收到<strong>傳送至您開發人員帳戶地址的通知電子郵件</strong>,內含需要修正的領域的摘要。若您已進行所需調整,可以將新版本的應用程式上傳至 Developer Console。
 </p>
 
 <p>
@@ -190,7 +190,7 @@
   </li>
 
   <li>
-    <em>已核准</em> - 已檢閱並核准您的應用程式。會直接向 Android 電視使用者提供該應用程式。 
+    <em>已核准</em> - 已檢閱並核准您的應用程式。會直接向 Android 電視使用者提供該應用程式。
   </li>
 
   <li>
@@ -207,4 +207,4 @@
     data-query="collection:tvlanding"
     data-cardSizes="9x6, 6x3x2"
     data-maxResults="6">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/googleplay/wear.jd b/docs/html-intl/intl/zh-tw/distribute/googleplay/wear.jd
index 19a48f5..f4aca5c 100644
--- a/docs/html-intl/intl/zh-tw/distribute/googleplay/wear.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/googleplay/wear.jd
@@ -196,4 +196,4 @@
     data-query="collection:wearlanding"
     data-cardSizes="6x2"
     data-maxResults="3">
-  </div> 
\ No newline at end of file
+  </div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/tools/launch-checklist.jd b/docs/html-intl/intl/zh-tw/distribute/tools/launch-checklist.jd
index 6e97417..167c4f1 100644
--- a/docs/html-intl/intl/zh-tw/distribute/tools/launch-checklist.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/tools/launch-checklist.jd
@@ -789,4 +789,4 @@
   data-query="collection:distribute/toolsreference/launchchecklist/afterlaunch"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3,9x3,9x3,9x3,9x3,9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/distribute/tools/localization-checklist.jd b/docs/html-intl/intl/zh-tw/distribute/tools/localization-checklist.jd
index 1b95d0b..c34fcee 100644
--- a/docs/html-intl/intl/zh-tw/distribute/tools/localization-checklist.jd
+++ b/docs/html-intl/intl/zh-tw/distribute/tools/localization-checklist.jd
@@ -713,4 +713,4 @@
   data-query="collection:distribute/toolsreference/localizationchecklist/supportlaunch"
   data-sortOrder="-timestamp"
   data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
-  data-maxResults="6"></div> 
\ No newline at end of file
+  data-maxResults="6"></div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/google/play/filters.jd b/docs/html-intl/intl/zh-tw/google/play/filters.jd
index e96b9dd..eec87ac 100644
--- a/docs/html-intl/intl/zh-tw/google/play/filters.jd
+++ b/docs/html-intl/intl/zh-tw/google/play/filters.jd
@@ -263,4 +263,4 @@
 
 <p class="caution"><strong>注意:</strong>針對同一應用程式發行多個 APK 是進階功能,<strong>多數應用程式應僅發行為諸多裝置組態提供支援的單一 APK</strong>。發行多個 APK 需要您遵循篩選器中的特定規則,並格外注意每個 APK 的版本代碼,以確保每個組態使用正確的更新路徑。</p>
 
-<p>若您需要有關如何在 Google Play 上發行多個 APK 的詳細資訊,請參閱<a href="{@docRoot}google/play/publishing/multiple-apks.html">多 APK 支援</a>。</p> 
\ No newline at end of file
+<p>若您需要有關如何在 Google Play 上發行多個 APK 的詳細資訊,請參閱<a href="{@docRoot}google/play/publishing/multiple-apks.html">多 APK 支援</a>。</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-tw/guide/components/bound-services.jd b/docs/html-intl/intl/zh-tw/guide/components/bound-services.jd
index da47634..e26e993 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/bound-services.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/bound-services.jd
@@ -303,7 +303,7 @@
 }
 </pre>
 
-<p>上述範例顯示:用戶端如何使用 
+<p>上述範例顯示:用戶端如何使用
 {@link android.content.ServiceConnection} 的實作和 {@link
 android.content.ServiceConnection#onServiceConnected onServiceConnected()} 回呼,繫結至服務。下一節提供關於繫結至服務處理程序的詳細資訊。
 </p>
@@ -334,7 +334,7 @@
 </div>
 </div>
 
-<p>如果服務要和遠端處理程序溝通,則可以使用 
+<p>如果服務要和遠端處理程序溝通,則可以使用
 {@link android.os.Messenger} 為您的服務提供介面。此技術讓您不需要使用 AIDL,就可以執行處理程序間通訊 (IPC)。
 </p>
 
@@ -636,7 +636,7 @@
 
 </p>
 
-<p>此外,如果您的服務已啟動並且接受繫結,當系統呼叫您的 {@link android.app.Service#onUnbind onUnbind()} 方法時,可以選擇傳回 
+<p>此外,如果您的服務已啟動並且接受繫結,當系統呼叫您的 {@link android.app.Service#onUnbind onUnbind()} 方法時,可以選擇傳回
 {@code true} (如果您希望用戶端下次繫結至服務時,可以接收 {@link android.app.Service#onRebind
 onRebind()} 呼叫,而不是接收 {@link
 android.app.Service#onBind onBind()} 的呼叫)。{@link android.app.Service#onRebind
diff --git a/docs/html-intl/intl/zh-tw/guide/components/fragments.jd b/docs/html-intl/intl/zh-tw/guide/components/fragments.jd
index e54769b..dfef8f1 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/fragments.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>另請參閱</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">使用片段建置動態 UI</a></li>
@@ -46,7 +46,7 @@
 </div>
 </div>
 
-<p>{@link android.app.Fragment} 代表一種行為或 
+<p>{@link android.app.Fragment} 代表一種行為或
 {@link android.app.Activity} 中的一部分使用者介面。您可以合併單一 Activity 中的多個片段,藉此建置
 多窗格 UI 以及在多個 Activity 中重複使用片段。您可以將片段想成是 Activity 的模組化區段,片段擁有自己的生命週期、接收自己的輸入事件,而且您可以在 Activity 執行時新增或移除片段 (有點像是您可以在不同 Activity 中重複使用的「子 Activity」)。
 
@@ -204,11 +204,11 @@
 {@link android.widget.ListView},因此您不必加以實作。</p>
 
 <p>如要從 {@link
-android.app.Fragment#onCreateView onCreateView()} 傳回版面配置,您可以從 XML 中定義的<a href="{@docRoot}guide/topics/resources/layout-resource.html">l版面配置資源</a>擴大它。為協助您完成這項作業,{@link android.app.Fragment#onCreateView onCreateView()} 提供了 
+android.app.Fragment#onCreateView onCreateView()} 傳回版面配置,您可以從 XML 中定義的<a href="{@docRoot}guide/topics/resources/layout-resource.html">l版面配置資源</a>擴大它。為協助您完成這項作業,{@link android.app.Fragment#onCreateView onCreateView()} 提供了
 {@link android.view.LayoutInflater} 物件。
 </p>
 
-<p>例如,以下是 {@link android.app.Fragment} 的子類別,可從 
+<p>例如,以下是 {@link android.app.Fragment} 的子類別,可從
 {@code example_fragment.xml} 檔案載入版面配置:</p>
 
 <pre>
@@ -378,7 +378,7 @@
   <li>使用 {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (針對在 Activity 版面配置中提供 UI 的片段) 或 {@link android.app.FragmentManager#findFragmentByTag
 findFragmentByTag()} (針對未提供 UI 的片段) 取得 Activity 中的現有片段。
-</li> 
+</li>
   <li>使用 {@link
 android.app.FragmentManager#popBackStack()} (模擬使用者的「返回」<em></em>命令) 將片段從返回堆疊中推出。</li>
   <li>使用 {@link
@@ -563,7 +563,7 @@
 </pre>
 
 <p>如果 Activity 並未實作介面,那麼片段會擲回
-{@link java.lang.ClassCastException}。成功擲回時,{@code mListener} 成員會保留 Activity 所實作 
+{@link java.lang.ClassCastException}。成功擲回時,{@code mListener} 成員會保留 Activity 所實作
 {@code OnArticleSelectedListener} 的參照資料,以便片段 A 呼叫 {@code OnArticleSelectedListener} 介面定義的方法與 Activity 分享事件。
 
 例如,假設片段 A 是
@@ -739,7 +739,7 @@
 這個 Activity 範例同時示範了如何根據螢幕設定提供不同的片段設定。
 </p>
 
-<p class="note"><strong>注意:</strong>如需這個 Activity 的完整原始碼,請查閱 
+<p class="note"><strong>注意:</strong>如需這個 Activity 的完整原始碼,請查閱
 <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html">{@code
 FragmentLayout.java}</a>。</p>
 
@@ -785,7 +785,7 @@
 
 <p>第二個片段 {@code DetailsFragment} 則會針對
 {@code TitlesFragment} 中,使用者所選清單項目的劇本摘要:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>針對 {@code TitlesFragment} 類別發出的回呼,如果使用者點擊清單項目,而且目前的版面配置「並未」<em></em>包含 {@code R.id.details} 檢視 ({@code DetailsFragment} 所屬的檢視),則應用程式會執行 {@code DetailsActivity} Activity 來顯示項目內容。
@@ -798,7 +798,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>請注意,這個 Activity 會在螢幕採用橫向版面配置的情況下自行結束,因此主要 Activity 會接續顯示 {@code TitlesFragment} 旁的 {@code DetailsFragment}。如果使用者在採用直向版面配置的裝置上執行 {@code DetailsActivity},然後將該裝置旋轉成橫向 (這會重新執行目前的 Activity),就可能會發生這種情況。
 
 
diff --git a/docs/html-intl/intl/zh-tw/guide/components/fundamentals.jd b/docs/html-intl/intl/zh-tw/guide/components/fundamentals.jd
index d3b3c28..9e4079e 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/fundamentals.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/fundamentals.jd
@@ -309,7 +309,7 @@
 </ul>
 
 <p>系統看不到您納入來源但未在宣示說明中宣告的 Activity、服務和內容供應程式,因此系統無法執行這些項目。
-不過,您可在宣示說明宣告廣播接收器,或是透過程式碼以動態方式建立廣播接收器 (將廣播接收器建立為 
+不過,您可在宣示說明宣告廣播接收器,或是透過程式碼以動態方式建立廣播接收器 (將廣播接收器建立為
 {@link android.content.BroadcastReceiver} 物件),然後呼叫 {@link android.content.Context#registerReceiver registerReceiver()}
 向系統註冊廣播接收器。
 
@@ -379,7 +379,7 @@
 </p>
 
 <p>例如,假設您的應用程式需要相機且採用 Android 2.1 (<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API 級別</a> 7) 導入的 API,建議您用下列方式在宣示說明檔案中宣告這些需求:
-</p> 
+</p>
 
 <pre>
 &lt;manifest ... >
diff --git a/docs/html-intl/intl/zh-tw/guide/components/index.jd b/docs/html-intl/intl/zh-tw/guide/components/index.jd
index f34c712..a59bcd4 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/index.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/index.jd
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>部落格文章</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>使用 DialogFragments</h4>
       <p>本文示範如何搭配 v4 支援程式庫 (可針對 Honeycomb 以下版本裝置提供向下相容性支援) 使用 DialogFragments 來顯示簡易的編輯對話方塊,以及透過介面將結果回傳給呼叫「Activity」。</p>
@@ -21,7 +21,7 @@
       <h4>適用於各種裝置的片段</h4>
       <p>我們於今日推出的靜態程式庫可列出相同的 Fragments API (以及新的 LoaderManager 和些許其他類別),讓與 Android 1.6 以下版本相容的應用程式能夠使用片段來建立相容於平板電腦的使用者介面。 </p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>運用多個執行緒來提升效能</h4>
       <p>建立回應式應用程式的建議做法是,最小化您的主要 UI 執行緒所執行的工作數。
@@ -32,7 +32,7 @@
 
   <div class="col-6">
     <h3>培訓</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>管理 Activity 生命週期</h4>
       <p>本課程說明每個「Activity」執行個體都會接收的生命週期重要回呼方法,並且說明如何使用這些方法,讓 Activity 的運作能符合使用者的預期,以及讓 Activity 在不需要系統資源時不耗用這類資源。
diff --git a/docs/html-intl/intl/zh-tw/guide/components/loaders.jd b/docs/html-intl/intl/zh-tw/guide/components/loaders.jd
index 89bfc80..112993a 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/loaders.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>重要類別</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>相關範例</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">LoaderCursor
@@ -51,7 +51,7 @@
 因此不需要重新查詢資料。
 </li>
   </ul>
- 
+
 <h2 id="summary">載入器 API 摘要</h2>
 
 <p>有多個類別和介面可能與在應用程式中使用載入器有關。
@@ -129,7 +129,7 @@
 </li>
   <li>{@link android.app.LoaderManager.LoaderCallbacks} 的實作。
 您可以在這裡建立新的載入器和管理對現有載入器的參照。
-</li> 
+</li>
 <li>顯示載入器資料的一種方式,例如 {@link
 android.widget.SimpleCursorAdapter}。</li>
   <li>使用 {@link android.content.CursorLoader} 時的資料來源,例如 {@link android.content.ContentProvider}。
@@ -140,7 +140,7 @@
 <p>{@link android.app.LoaderManager} 可在 {@link android.app.Activity} 或 {@link android.app.Fragment} 內管理一或多個 {@link
 android.content.Loader} 執行個體。
 每個 Activity 或片段只能有一個 {@link
-android.app.LoaderManager}。</p> 
+android.app.LoaderManager}。</p>
 
 <p>您通常會在 Activity 的 {@link
 android.app.Activity#onCreate onCreate()} 方法內或在片段的 {@link android.app.Fragment#onActivityCreated onActivityCreated()} 方法內,初始化 {@link android.content.Loader},
@@ -157,13 +157,13 @@
 <ul>
   <li>可識別載入器的不重複 ID。在本範例中,此 ID 為 0。</li>
 <li>可在建構時提供給載入器的選用引數 (在本範例中為<code>null</code>)。
-</li> 
+</li>
 
 <li>{@link android.app.LoaderManager.LoaderCallbacks} 實作,
 {@link android.app.LoaderManager} 會呼叫此實作來回報載入器事件。在本範例中,本機類別會實作 {@link
 android.app.LoaderManager.LoaderCallbacks} 執行個體,以將參照傳送給它自己 ({@code this})。
 
-</li> 
+</li>
 </ul>
 <p>{@link android.app.LoaderManager#initLoader initLoader()} 呼叫可確保載入器已初始化且處於有效狀態。
 可能會有兩種結果:</p>
@@ -343,7 +343,7 @@
 <p>這個方法是在正要重設先前建立的載入器時呼叫,以便使其資料無法使用。
 此回呼方法可讓您知道即將要發佈資料,而能先行將其參照移除。
   </p>
-<p>此實作會以 <code>null</code> 的值呼叫 
+<p>此實作會以 <code>null</code> 的值呼叫
 {@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}:
 </p>
 
@@ -366,7 +366,7 @@
 android.app.Fragment} 的完整實作,
 其顯示的 {@link android.widget.ListView} 包含聯絡人內容供應程式的查詢結果。它使用 {@link
 android.content.CursorLoader} 管理對供應程式的查詢。</p>
- 
+
 <p>如本範例所示,針對要存取使用者聯絡人的應用程式,它的宣示說明必須包含 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS} 權限。
 
 </p>
diff --git a/docs/html-intl/intl/zh-tw/guide/components/processes-and-threads.jd b/docs/html-intl/intl/zh-tw/guide/components/processes-and-threads.jd
index 74dbb8e..56027ce 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/processes-and-threads.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/processes-and-threads.jd
@@ -49,7 +49,7 @@
 &lt;receiver&gt;}</a> 和 <a href="{@docRoot}guide/topics/manifest/provider-element.html">{@code
 &lt;provider&gt;}</a> &mdash; 的宣示說明項目都支援 {@code android:process} 屬性,這項屬性能指定元件應在哪個處理程序執行。
 您可以設定此屬性讓每個元件都以自己的處理程序執行,或只讓當中的部分元件共用同一處理程序。
-您也可以設定 
+您也可以設定
 {@code android:process},讓不同應用程式的元件以相同的處理程序執行,只要這些應用程式分享相同的 Linux 使用者 ID 並以相同的憑證簽署。
 
 </p>
@@ -142,7 +142,7 @@
   </li>
 
   <li><b>背景處理程序</b>
-    <p>這種處理程序會保留使用者目前看不見的 Activity (已呼叫 Activity 的 
+    <p>這種處理程序會保留使用者目前看不見的 Activity (已呼叫 Activity 的
 {@link android.app.Activity#onStop onStop()} 方法)。這些處理程序會間接影響使用者體驗,且系統能隨時將其終止,藉此回收記憶體以供前景、可見或服務處理程序使用。
 
 
@@ -319,7 +319,7 @@
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }
-    
+
     /** The system calls this to perform work in the UI thread and delivers
       * the result from doInBackground() */
     protected void onPostExecute(Bitmap result) {
diff --git a/docs/html-intl/intl/zh-tw/guide/components/recents.jd b/docs/html-intl/intl/zh-tw/guide/components/recents.jd
index d56c12c..5ac0e26 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/recents.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/recents.jd
@@ -181,7 +181,7 @@
 </dl>
 
 <p class="note"><strong>注意:</strong>如果值不是 {@code none} 與 {@code never},則 Activity 必須使用 {@code launchMode="standard"} 定義。
-如果沒有指定此屬性,則會使用 
+如果沒有指定此屬性,則會使用
 {@code documentLaunchMode="none"}。</p>
 
 <h2 id="removing">移除工作</h2>
diff --git a/docs/html-intl/intl/zh-tw/guide/components/tasks-and-back-stack.jd b/docs/html-intl/intl/zh-tw/guide/components/tasks-and-back-stack.jd
index e23301d..e3ce58f 100644
--- a/docs/html-intl/intl/zh-tw/guide/components/tasks-and-back-stack.jd
+++ b/docs/html-intl/intl/zh-tw/guide/components/tasks-and-back-stack.jd
@@ -440,13 +440,13 @@
 
 <p>在兩種情況下會用到親和性:</p>
 <ul>
-  <li>當啟動 Activity 的意圖包含 
+  <li>當啟動 Activity 的意圖包含
 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK} 旗標。
 
 
 <p>根據預設,新的 Activity 會啟動至 Activity (名為 {@link android.app.Activity#startActivity startActivity()}) 的工作中。
 系統會將它推入至與呼叫端相同的返回堆疊。
-不過,如果傳送至 
+不過,如果傳送至
 {@link android.app.Activity#startActivity startActivity()} 的意圖包含 {@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK} 旗標,則系統會找尋不同的工作來放置新的 Activity。
 
 這通常是新工作。
@@ -455,7 +455,7 @@
 
 <p>如果此旗標導致 Activity 開始新的工作,而使用者按 [首頁] 按鈕離開它,必須要有方法可以讓使用者回來瀏覽這個工作。<em></em>
 
-有些實體 (例如,通知管理員) 總是從外部工作開始 Activity,從來不使用自己的工作,因此他們都會將 {@code FLAG_ACTIVITY_NEW_TASK} 放入傳送到 
+有些實體 (例如,通知管理員) 總是從外部工作開始 Activity,從來不使用自己的工作,因此他們都會將 {@code FLAG_ACTIVITY_NEW_TASK} 放入傳送到
 {@link android.app.Activity#startActivity startActivity()} 的意圖。
 
 如果您的 Activity 可以由外部實體呼叫且可能使用此旗標,記得要提供使用者獨立的方法回到啟動的工作,例如,透過啟動組件圖示 (工作的根 Activity 有一個 {@link android.content.Intent#CATEGORY_LAUNCHER} 意圖篩選器;請參閱下方的<a href="#Starting">開始工作</a>)。
@@ -505,7 +505,7 @@
 href="{@docRoot}guide/topics/manifest/activity-element.html#clear">clearTaskOnLaunch</a></code></dt>
 <dd>如果這項屬性在工作的根 Activity 中設為 {@code "true"},則剛描述的預設行為不會發生。
 即使過了很長的一段時間,工作仍然會在堆疊保留所有的 Activity。
-換句話說,它與 
+換句話說,它與
 <a href="{@docRoot}guide/topics/manifest/activity-element.html#always">
 {@code alwaysRetainTaskState}</a> 相反。即便使用者只離開工作一小段時間,使用者還是會回到工作的起始狀態。
 </dd>
@@ -526,8 +526,8 @@
 
 <h3 id="Starting">開始工作</h3>
 
-<p>您可以給予 Activity 一個意圖篩選器,將 
-{@code "android.intent.action.MAIN"} 設定為指定的動作, 
+<p>您可以給予 Activity 一個意圖篩選器,將
+{@code "android.intent.action.MAIN"} 設定為指定的動作,
 {@code "android.intent.category.LAUNCHER"} 設定為指定的類別,以便將該 Activity 設定為工作的進入點。
 例如:</p>
 
@@ -547,7 +547,7 @@
 </p>
 
 <p>第二項功能很重要:使用者必須能夠在離開工作後,使用此 Activity 啟動組件回到此工作。
-由於這個原因,兩個將 Activity 標示為一律啟動工作的<a href="#LaunchModes">啟動模式</a> {@code "singleTask"} 和 
+由於這個原因,兩個將 Activity 標示為一律啟動工作的<a href="#LaunchModes">啟動模式</a> {@code "singleTask"} 和
 {@code "singleInstance"},應只能在 Activity 有 {@link android.content.Intent#ACTION_MAIN} 和 {@link android.content.Intent#CATEGORY_LAUNCHER} 篩選器時才能使用。
 
 
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/manifest/manifest-intro.jd b/docs/html-intl/intl/zh-tw/guide/topics/manifest/manifest-intro.jd
index 5e42e37..77a2b80 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/manifest/manifest-intro.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/manifest/manifest-intro.jd
@@ -33,15 +33,15 @@
 
 <li>描述應用程式的元件 &mdash; 組成應用程式的 Activity、服務、廣播接收器和內容供應程式。
 
-為實作每個元件的類別命名以及發佈類別的功能 (例如,類別可處理的 {@link android.content.Intent 
+為實作每個元件的類別命名以及發佈類別的功能 (例如,類別可處理的 {@link android.content.Intent
 Intent} 訊息)。
 這些宣告可讓 Android 系統瞭解元件為何以及可在哪些情況下啟動。
 </li>
 
-<li>決定代管應用程式元件的程序。</li>  
+<li>決定代管應用程式元件的程序。</li>
 
 <li>宣告應用程式必須擁有哪些權限,才能存取 API 受保護的部分以及與其他應用程式互動。
-</li>  
+</li>
 
 <li>宣示說明亦可宣告其他項目必須擁有哪些權限,才能與應用程式的元件互動。
 </li>
@@ -66,7 +66,7 @@
 如要查看任一元素的詳細資訊,只要按一下圖表中的元素名稱、圖表後方按字母順序列出的元素清單,或在他處提及的任何元素名稱。
 
 
- 
+
 </p>
 
 <pre>
@@ -128,7 +128,7 @@
 <p>
 下方按字母順序列出可出現在宣示說明檔案中的所有元素。
 只有這些才是符合資格的元素,您無法新增自己的元素或屬性。
-  
+
 </p>
 
 <p style="margin-left: 2em">
@@ -158,7 +158,7 @@
 </p>
 
 
-    
+
 
 <h2 id="filec">檔案轉換</h2>
 
@@ -185,7 +185,7 @@
 <p>
 系統通常不會將位於相同層級的元素排序。例如,
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>、
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 和 
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 和
 <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code> 元素能以任何順序排列組合。
 (
 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code> 元素是這項規則的例外狀況:
@@ -218,7 +218,7 @@
 
 
 
-  
+
 
 <p>
 如果您一如往常定義元件類別 ({@link android.app.Activity}、{@link android.app.Service}、
@@ -244,7 +244,7 @@
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html#package">package</a></code> 屬性指定)。
 
 
-下列的指派結果會和上述相同: 
+下列的指派結果會和上述相同:
 </p>
 
 <pre>&lt;manifest package="com.example.project" . . . &gt;
@@ -375,7 +375,7 @@
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> 元素預設值。
 
 
-如果 
+如果
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 元素設有一個標籤,但 Activity 與其意圖篩選器並未設定該標籤,系統會將應用程式標籤視為 Activity 和意圖篩選器的標籤。
 
 
@@ -399,7 +399,7 @@
 <p>
 單一 <i>權限</i> 是指一項限制,可限制某部分程式碼或裝置上資料的存取權。
    系統會強制實施這項限制,以保護會遭到誤用而扭曲或損害使用者體驗的重要資料與程式碼。
-  
+
 </p>
 
 <p>
@@ -427,12 +427,12 @@
 如果授予權限,該應用程式就能夠使用受保護的功能。
 
 如果不授予權限,存取相關功能的嘗試就會失敗,但使用者不會收到任何通知。
- 
+
 </p>
 
 <p>
 應用程式也能利用權限來保護自己的元件 (Activity、服務、廣播接收器和內容供應程式)。
-它能使用 Android 定義的任何權限 (列於 
+它能使用 Android 定義的任何權限 (列於
 {@link android.Manifest.permission android.Manifest.permission}) 或其他應用程式宣告的任何權限。
 
 此外,應用程式也能自行定義權限。新的權限是以
@@ -458,13 +458,13 @@
 
 <p>
 請注意,在本範例中,不只以
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 元素宣告 {@code DEBIT_ACCT} 權限,還使用 
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 元素宣告 {@code DEBIT_ACCT} 權限,還使用
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 元素來要求使用此權限。
 
 
 即使保護是由應用程式本身強制施行,還是必須要求使用該權限,應用程式的其他元件才能啟動受保護的 Activity。
 
-  
+
 </p>
 
 <p>
@@ -474,7 +474,7 @@
 
 
 不過,還是必須利用
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 來要求使用。 
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 來要求使用。
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/providers/calendar-provider.jd b/docs/html-intl/intl/zh-tw/guide/topics/providers/calendar-provider.jd
index 42434e4..682e82d 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/providers/calendar-provider.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">使用意圖檢視日曆資料</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">同步配接器</a></li>
 </ol>
 
@@ -86,7 +86,7 @@
 
 </p>
 
-<p>每個內容供應程式都會公開一個公用 URI (包裝為 
+<p>每個內容供應程式都會公開一個公用 URI (包裝為
 {@link android.net.Uri} 物件),可唯一識別其資料集。
 控制多個資料集 (多個表格) 的內容供應程式會為每個資料集公開個別的 URI。
 供應程式所有 URI 的開頭字串為「content://」。
@@ -113,14 +113,14 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
+
     <td>此表格內含日曆特定的資訊。
 此表格中的每一列包含單一日曆的詳細資訊,例如名稱、色彩、同步資訊等等。
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>此表格內含活動特定的資訊。
 此表格中的每一列包含單一活動的資訊 &mdash; 例如,活動標題、位置、開始時間、結束時間等等。
 
@@ -132,7 +132,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>此表格內含活動每次發生的開始和結束時間。
 此表格的每一列代表單一活動發生。
 單次活動執行個體和活動的對應為 1:1。
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>此表格內含活動參與者 (邀請對象) 的資訊。
 每一列代表一個活動的單一邀請對象。
 其中會指出邀請對象類型,以及邀請對象是否出席該活動的回應。
@@ -149,17 +149,17 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>此表格內含警示/通知資訊。
 每一列代表一個活動的單一警示。一個活動可以設定多個提醒。
-每個活動的最大數量提醒指定於 
+每個活動的最大數量提醒指定於
 {@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS},此項是由擁有指定日曆的同步配接器所設定。
 
 
 提醒是以分鐘數指定活動發生前的時間,而且有一個方法用於決定通知使用者的方式。
 </td>
   </tr>
-  
+
 </table>
 
 <p>「日曆供應程式」API 的設計具備彈性且功能強大。提供良好的使用者體驗,以及保護日曆及其資料的完整性,兩者一樣重要。
@@ -178,7 +178,7 @@
 
 
 <li><strong>同步配接器。</strong>同步配接器會將使用者裝置的日曆資料與另一台伺服器或資料來源進行同步。
-在 
+在
 {@link android.provider.CalendarContract.Calendars} 和
 {@link android.provider.CalendarContract.Events} 表格中,會保留某些欄讓同步配接器使用。供應程式和應用程式不應加以修改。
 
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>指出是否選擇要顯示日曆的布林值。值 0 表示與此日曆關聯的活動不應顯示。
 
 值 1 表示與此日曆關聯的活動應顯示。
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>指出日曆是否應同步,並且讓日曆的活動儲存在裝置上的布林值。
 值 0 表示不同步此日曆,並且不要在裝置上儲存其活動。
 值 1 表示同步此日曆的活動,並且在裝置上儲存其活動。
@@ -268,18 +268,18 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>為什麼一定要包含 ACCOUNT_TYPE?
 </h3> <p>如果您要針對 {@link
 android.provider.CalendarContract.Calendars#ACCOUNT_NAME
-Calendars.ACCOUNT_NAME} 進行查詢,也必須在選項中包含 
+Calendars.ACCOUNT_NAME} 進行查詢,也必須在選項中包含
 {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}。
 這是因為只有同時提供指定帳戶的 <code>ACCOUNT_NAME</code> 和
 <code>ACCOUNT_TYPE</code> 情況下,此帳戶才會視為唯一的。
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}。{@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} 帳戶不會進行同步。
 
-</p> </div> </div> 
+</p> </div> </div>
 
 
 <p> 在範例的下一個部分,您將建構查詢。選項會指定查詢的條件。
@@ -308,49 +308,49 @@
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>下一節會使用游標逐步檢視結果集。它會使用範例一開始設定好的常數,傳回每個欄位的值。
 
 </p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">修改日曆</h3>
 
 <p>如要執行日曆的更新,您可以提供日曆的 {@link
-android.provider.BaseColumns#_ID},可以是 URI 的附加 ID 
+android.provider.BaseColumns#_ID},可以是 URI 的附加 ID
 ({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 或以第一個選擇項目方式提供。
 
 
-選項的開頭應該是 <code>&quot;_id=?&quot;</code>,而且第一個 
+選項的開頭應該是 <code>&quot;_id=?&quot;</code>,而且第一個
 <code>selectionArg</code> 應該是日曆的 {@link
 android.provider.BaseColumns#_ID}。
-您也可以透過將 ID 編碼在 URI 中,以執行更新。此範例會使用 
+您也可以透過將 ID 編碼在 URI 中,以執行更新。此範例會使用
 ({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 方式變更日曆的顯示名稱:
 
 
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>活動的持續期間,以 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a> 格式表示。例如,值 <code>&quot;PT1H&quot;</code> 表示活動持續一小時,而值 <code>&quot;P2W&quot;</code> 指出持續 2 週。
 
 
@@ -444,24 +444,24 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>值 1 表示此活動需要整天,如同當地時區所定義。
 值 0 表示定期活動,會在一天中的任何時間開始和結束。
 </td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>活動的週期規則。例如,<code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>。
 您可以在<a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">這裡</a>查看更多範例。
 </td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
     <td>活動重複發生的日期。您通常會將 {@link android.provider.CalendarContract.EventsColumns#RDATE} 和 {@link android.provider.CalendarContract.EventsColumns#RRULE} 一起使用,以定義週期性活動的彙總集合。
@@ -470,13 +470,13 @@
 
 如需更多討論,請參閱 <a href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 規格</a>。</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
+
     <td>活動要視為忙碌或有空 (可以安排其他活動) 的時間。
  </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -494,7 +494,7 @@
 
 <h3 id="add-event">新增活動</h3>
 
-<p>您的應用程式插入新活動時,我們建議您使用 
+<p>您的應用程式插入新活動時,我們建議您使用
 {@link android.content.Intent#ACTION_INSERT INSERT} 意圖 (如同<a href="#intent-insert">使用意圖插入活動</a>所述)。不過,如果需要,您也可以直接插入活動。
 本節將描述如何執行此動作。
 </p>
@@ -514,11 +514,11 @@
 android.content.Intent#ACTION_INSERT INSERT} 意圖 (如同<a href="#intent-insert">使用意圖插入活動</a> &mdash; 所描述的案例) 插入活動,則不適用此規則,將會提供預設時區。
 
 </li>
-  
+
   <li>對於非週期性活動,您必須包括 {@link
 android.provider.CalendarContract.EventsColumns#DTEND}。 </li>
-  
-  
+
+
   <li>對於週期性活動,您必須包括 {@link
 android.provider.CalendarContract.EventsColumns#DURATION},以及 {@link
 android.provider.CalendarContract.EventsColumns#RRULE} 或 {@link
@@ -528,7 +528,7 @@
 
 
 </li>
-  
+
 </ul>
 
 <p>以下是插入活動的範例。為了簡化,會在 UI 執行緒中執行此示範。
@@ -539,8 +539,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -561,7 +561,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -581,11 +581,11 @@
 android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 或以第一個選擇項目方式提供。
 
 
-選項的開頭應該是 <code>&quot;_id=?&quot;</code>,而且第一個 
+選項的開頭應該是 <code>&quot;_id=?&quot;</code>,而且第一個
 <code>selectionArg</code> 應該是活動的 <code>_ID</code>。
 您也可以使用不含 ID 的選項進行更新。以下是更新活動的範例。
 
-它使用 
+它使用
 {@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()} 方式變更活動的標題:
 </p>
 
@@ -598,7 +598,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -625,19 +625,19 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">參與者表格</h2>
 
 <p>{@link android.provider.CalendarContract.Attendees} 表格的每一列都代表活動的單一參與者或邀請對象。
-呼叫 
+呼叫
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 會傳回指定 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 活動的參與者清單。
 
 此 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 必須符合特定活動的 {@link
 android.provider.BaseColumns#_ID}。
 
-</p> 
+</p>
 
 <p>下表列出可寫入的欄位。
 插入新的參與者時,您必須包括 <code>ATTENDEE_NAME</code> 以外的所有項目。
@@ -718,8 +718,8 @@
 <h2 id="reminders">提醒表格</h2>
 
 <p>{@link android.provider.CalendarContract.Reminders} 表格的每一列都代表活動的單一提醒。
-呼叫 
-{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 會傳回指定 
+呼叫
+{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 會傳回指定
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 活動的提醒清單。
 </p>
 
@@ -727,7 +727,7 @@
 <p>下表列出提醒可寫入的欄位。插入新的提醒時,必須包括所有項目。
 請注意,同步配接器會在 {@link
 android.provider.CalendarContract.Calendars} 表格中指出同步配接器支援的提醒類型。
-如需詳細資料,請參閱 
+如需詳細資料,請參閱
 {@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}。
 </p>
 
@@ -779,8 +779,8 @@
 執行個體表格無法寫入,僅供查詢活動的發生。
  </p>
 
-<p>下表列出您可以針對執行個體查詢的欄位。請注意,時區是由 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 和 
+<p>下表列出您可以針對執行個體查詢的欄位。請注意,時區是由
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 和
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES} 所定義。
 
 </p>
@@ -801,18 +801,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>執行個體的凱撒曆結束日,與「日曆」的時區相關。
- 
-    
+
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>執行個體的結束分鐘,從「日曆」時區的午夜開始計算。
 </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -820,16 +820,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>執行個體的凱撒曆開始日,與「日曆」的時區相關。 
+    <td>執行個體的凱撒曆開始日,與「日曆」的時區相關。
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>執行個體的開始分鐘,從午夜開始計算,與「日曆」的時區相關。
- 
+
 </td>
-    
+
   </tr>
 
 </table>
@@ -853,7 +853,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -868,7 +868,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -883,28 +883,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -922,9 +922,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    您也可以使用 
+    您也可以使用
 {@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI} 參照 URI。如需使用此意圖的範例,請參閱<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">使用意圖檢視日曆資料</a>。
- 
+
 
     </td>
     <td>開啟日曆到 <code>&lt;ms_since_epoch&gt;</code> 指定的時間。</td>
@@ -935,11 +935,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    您也可以使用 
+
+    您也可以使用
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 參照 URI。如需使用此意圖的範例,請參閱<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">使用意圖檢視日曆資料</a>。
 
-    
+
     </td>
     <td>檢視 <code>&lt;event_id&gt;</code> 指定的活動。</td>
 
@@ -952,12 +952,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  您也可以使用 
+
+  您也可以使用
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 參照 URI。如需使用此意圖的範例,請參閱<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">使用意圖編輯活動</a>。
 
-    
-    
+
+
     </td>
     <td>編輯 <code>&lt;event_id&gt;</code> 指定的活動。</td>
 
@@ -972,11 +972,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   您也可以使用 
+
+   您也可以使用
 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 參照 URI。如需使用此意圖的範例,請參閱<a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">使用意圖插入活動</a>。
 
-    
+
     </td>
 
     <td>建立活動。</td>
@@ -996,7 +996,7 @@
     <td>活動的名稱。</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>活動開始時間,以紀元元年 1 月 1 日零時起算經過的毫秒數為單位。</td>
@@ -1004,25 +1004,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>活動結束時間,以紀元元年 1 月 1 日零時起算經過的毫秒數為單位。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
-    <td>指出活動為整天的布林值。值可以是 
+
+    <td>指出活動為整天的布林值。值可以是
 <code>true</code> 或 <code>false</code>。</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>活動的地點。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>活動描述。</td>
   </tr>
   <tr>
@@ -1039,16 +1039,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>活動為私人或公開性質。</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>活動要視為忙碌或有空 (可以安排其他活動) 的時間。</td>
-    
-</table> 
+
+</table>
 <p>以下各節說明如何使用這些意圖。</p>
 
 
@@ -1059,14 +1059,14 @@
 
 </p>
 
-  
+
 <p>使用者執行採用此方式的應用程式時,此應用程式會將使用者
 傳送到「日曆」以完成新增活動的操作。{@link
 android.content.Intent#ACTION_INSERT INSERT} 意圖會使用額外的欄位將「日曆」中活動的詳細資訊,預先填入表單。
 然後,使用者可以取消活動、視需要編輯表單或將活動儲存到其日曆。
 
 </p>
-  
+
 
 
 <p>以下的程式碼片段會在 2012 年 1 月 19 日安排活動,此活動的期間是從上午 7:30 到上午 8:30。
@@ -1075,7 +1075,7 @@
 <ul>
   <li>它指定 {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}  作為 URI。
 </li>
-  
+
   <li>它使用 {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} 和 {@link
@@ -1083,10 +1083,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} 額外欄位,將活動的時間預先填入表單。
 這些時間值必須以自紀元元年 1 月 1 日零時起算經過的 UTC 毫秒數為單位。
 </li>
-  
+
   <li>它使用 {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL} 額外欄位提供逗號分隔的受邀者清單 (以電子郵件地址指定)。
 </li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1158,16 +1158,16 @@
 
 <ul>
   <li>同步配接器需要透過將 {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} 設定為 <code>true</code>,以指出這是同步配接器。</li>
-  
-  
+
+
   <li>同步配接器需要在 URI 中提供 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} 和 {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} 作為查詢參數。 </li>
-  
+
   <li>同步配接器與應用程式或小工具相比,有更多欄的寫入權限。
   例如,應用程式只能修改日曆的一些特性,例如名稱、顯示名稱、能見度設定,以及日曆是否同步。
 
-相較之下,同步配接器不只能存取這些欄,還可以存取很多其他欄,例如日曆色彩、時區、存取級別、位置等等。然而,同步配接器受限於所指定的 <code>ACCOUNT_NAME</code> 和 
+相較之下,同步配接器不只能存取這些欄,還可以存取很多其他欄,例如日曆色彩、時區、存取級別、位置等等。然而,同步配接器受限於所指定的 <code>ACCOUNT_NAME</code> 和
 <code>ACCOUNT_TYPE</code>。
 
 </li> </ul>
@@ -1180,5 +1180,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>如需實作同步配接器的範例 (並非與「日曆」特別相關),請參閱 
+<p>如需實作同步配接器的範例 (並非與「日曆」特別相關),請參閱
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>。
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/providers/contacts-provider.jd b/docs/html-intl/intl/zh-tw/guide/topics/providers/contacts-provider.jd
index b5f8880..2bcc3e6 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/providers/contacts-provider.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/providers/contacts-provider.jd
@@ -614,7 +614,7 @@
 <p>
     如要擷取內含使用者的設定檔的聯絡人列,請呼叫 {@link android.content.ContentResolver#query(Uri,String[], String, String[], String)
 ContentResolver.query()}。
-將內容 URI 設為 
+將內容 URI 設為
 {@link android.provider.ContactsContract.Profile#CONTENT_URI},並且不要提供任何選取條件。
 您也可以使用此內容 URI 做為擷取原始聯絡人或設定檔資料的基礎 URI。
 例如,以下程式碼片段會擷取設定檔資料:
@@ -932,7 +932,7 @@
     您應該儘可能透過建立
  {@link android.content.ContentProviderOperation} 物件的{@link java.util.ArrayList},然後呼叫
  {@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()},以「批次模式」在聯絡人供應程式中進行資料的插入、更新以及刪除。
-因為聯絡人供應程式會在單一交易中執行 
+因為聯絡人供應程式會在單一交易中執行
 {@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()} 的所有操作,所以您所做的修改不會讓聯絡人存放庫處於不一致的狀態。
 
 
@@ -1004,7 +1004,7 @@
             <code>previousResult</code>
         </dt>
         <dd>
-            
+
 {@link android.content.ContentResolver#applyBatch(String, ArrayList) applyBatch()} 中的
 {@link android.content.ContentProviderResult} 物件以 0 開始的陣列索引值。套用批次操作時,每次操作結果都會儲存在結果的中繼陣列。
 
@@ -1758,7 +1758,7 @@
         <dd>
             {@link android.accounts.AccountManager} 會啟動此服以開始驗證程序。
 服務的 {@link android.app.Service#onCreate()} 方法會具現化為驗證器物件。
-系統需驗證應用程式同步配接器的使用者帳戶時,會呼叫服務的 
+系統需驗證應用程式同步配接器的使用者帳戶時,會呼叫服務的
 {@link android.app.Service#onBind(Intent) onBind()} 方法以取得驗證器的
  {@link android.os.IBinder}。
 這樣可以讓系統以跨處理程序的方式呼叫驗證器的方法。
@@ -2115,7 +2115,7 @@
         </ul>
         <code><em>activityclass</em></code> 值是 Activity 的完整類別名稱,以此 Activity 接收意圖。
 <code><em>invite_action_label</em></code> 值是顯示在裝置聯絡人應用程式內 [新增連線]<strong></strong> 選單中的文字字串。
- 
+
 
     </li>
 </ol>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-basics.jd b/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-basics.jd
index 7831478..a00caed 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-basics.jd
@@ -237,7 +237,7 @@
 
     {@link android.content.ContentResolver#query query()} 方法會呼叫使用者字典供應程式所定義的
 {@link android.content.ContentProvider#query ContentProvider.query()} 方法。
-以下是 
+以下是
 {@link android.content.ContentResolver#query ContentResolver.query()} 呼叫的程式碼:
 <p>
 <pre>
@@ -250,7 +250,7 @@
     mSortOrder);                        // The sort order for the returned rows
 </pre>
 <p>
-    表 2 列出 
+    表 2 列出
 {@link android.content.ContentResolver#query
 query(Uri,projection,selection,selectionArgs,sortOrder)} 的引數及相對應的 SQL SELECT 陳述式:
 </p>
@@ -284,7 +284,7 @@
     <tr>
         <td align="center"><code>selectionArgs</code></td>
         <td align="center">
-            (沒有任何相對應的關鍵字/參數。選取引數會取代選取子句中的 
+            (沒有任何相對應的關鍵字/參數。選取引數會取代選取子句中的
 <code>?</code> 預留位置。)
         </td>
     </tr>
@@ -581,7 +581,7 @@
 
 </p>
 <p>
-    如果沒有任何資料欄符合選取條件,則供應程式會傳回 {@link android.database.Cursor#getCount Cursor.getCount()} 為 0 的 
+    如果沒有任何資料欄符合選取條件,則供應程式會傳回 {@link android.database.Cursor#getCount Cursor.getCount()} 為 0 的
 {@link android.database.Cursor} 物件 (即沒有任何內容的游標)。
 
 </p>
@@ -595,7 +595,7 @@
 
 </p>
 <p>
-    以下程式碼片段是上一個程式碼片段的延伸。它會建立內含查詢所擷取 {@link android.database.Cursor} 的 
+    以下程式碼片段是上一個程式碼片段的延伸。它會建立內含查詢所擷取 {@link android.database.Cursor} 的
 {@link android.widget.SimpleCursorAdapter} 物件,並將該物件設定為 {@link android.widget.ListView} 的配接器:
 
 
@@ -674,7 +674,7 @@
 <p>
     {@link android.database.Cursor} 實作方法包含數個用於從物件擷取不同資料類型的「get」方法。
 例如,上方程式碼片段使用了 {@link android.database.Cursor#getString getString()}。
-此外,這種實作方法還包括 
+此外,這種實作方法還包括
 {@link android.database.Cursor#getType getType()} 方法,可傳回指定資料欄資料類型的值。
 
 </p>
@@ -709,7 +709,7 @@
 
 </p>
 <p>
-    以下的 
+    以下的
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
  元素會要求使用者字典供應程式的讀取存取權:
 </p>
@@ -733,7 +733,7 @@
 </p>
 <h3 id="Inserting">插入資料</h3>
 <p>
-    如要在供應程式中插入資料,請呼叫 
+    如要在供應程式中插入資料,請呼叫
 {@link android.content.ContentResolver#insert ContentResolver.insert()} 方法。
 這個方法會在供應程式中插入新的資料列,並傳回該列的內容 URI。
     以下程式碼片段示範如何在使用者字典供應程式中插入新的字詞:
@@ -785,14 +785,14 @@
 
 </p>
 <p>
-    如要從傳回的 {@link android.net.Uri} 取得 <code>_ID</code> 的值,請呼叫 
+    如要從傳回的 {@link android.net.Uri} 取得 <code>_ID</code> 的值,請呼叫
 {@link android.content.ContentUris#parseId ContentUris.parseId()}。
 </p>
 <h3 id="Updating">更新資料</h3>
 <p>
     如要更新資料列,請使用內含經過更新的值 (與您在插入資料時所使用的值相同) 以及選取條件 (與您在建立查詢時所使用的選取條件相同) 的 {@link android.content.ContentValues} 物件。
 
-    您所使用的用戶端方法為 
+    您所使用的用戶端方法為
 {@link android.content.ContentResolver#update ContentResolver.update()}。您只需針對要更新的資料欄,將相關值加到 {@link android.content.ContentValues} 物件即可。
 如果您想清除資料欄的內容,請將值設定為 <code>null</code>。
 
@@ -901,7 +901,7 @@
 
 例如,聯絡人供應程式中的 {@link android.provider.ContactsContract.Data} 表格會使用 MIME 類型為每個資料列中儲存的聯絡人資料加上標籤。
 
-如要取得與內容 URI 相對應的 MIME 類型,請呼叫 
+如要取得與內容 URI 相對應的 MIME 類型,請呼叫
 {@link android.content.ContentResolver#getType ContentResolver.getType()}。
 </p>
 <p>
@@ -1009,13 +1009,13 @@
 
 </p>
 <p>
-    供應程式會使用 
+    供應程式會使用
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
- 元素的 
+ 元素的
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">android:grantUriPermission</a></code>
- 屬性以及 
+ 屬性以及
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
- 元素的 
+ 元素的
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code>
  子元素在本身的宣示說明中為內容 URI 定義 URI 權限。如要進一步瞭解 URI 權限的運作機制,請參閱<a href="{@docRoot}guide/topics/security/security.html">安全性和權限</a>指南的「URI 權限」。
 
@@ -1032,8 +1032,8 @@
 <ol>
     <li>
         您的應用程式使用 {@link android.app.Activity#startActivityForResult
-startActivityForResult()} 方法,傳送了內含 
-{@link android.content.Intent#ACTION_PICK} 動作的意圖以及「聯絡人」MIME 類型 
+startActivityForResult()} 方法,傳送了內含
+{@link android.content.Intent#ACTION_PICK} 動作的意圖以及「聯絡人」MIME 類型
 {@link android.provider.ContactsContract.RawContacts#CONTENT_ITEM_TYPE}。
 
     </li>
@@ -1043,9 +1043,9 @@
     </li>
     <li>
         在選取 Activity 中,使用者選取了要更新的聯絡人。
-一旦使用者進行這項動作,選取 Activity 便會呼叫 
+一旦使用者進行這項動作,選取 Activity 便會呼叫
 {@link android.app.Activity#setResult setResult(resultcode, intent)} 來設定要傳回您應用程式的意圖。
-該意圖包含使用者所選聯絡人的內容 URI,以及「額外」的旗標 
+該意圖包含使用者所選聯絡人的內容 URI,以及「額外」的旗標
 {@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}。
 這些旗標可將 URI 權限授予您的應用程式,以便其讀取內容 URI 指向的聯絡人資料。選取 Activity 隨後會呼叫 {@link android.app.Activity#finish()} 來傳回您應用程式的控制權。
 
@@ -1053,7 +1053,7 @@
 
     </li>
     <li>
-        您的 Activity 返回前景,而系統呼叫您 Activity 的 
+        您的 Activity 返回前景,而系統呼叫您 Activity 的
 {@link android.app.Activity#onActivityResult onActivityResult()} 方法。
 這個方法可接收聯絡人應用程式中的選取 Activity 所建立的結果意圖。
 
@@ -1071,7 +1071,7 @@
 
 </p>
 <p>
-    例如,日曆應用程式接受可讓您啟用應用程式插入 UI 的 
+    例如,日曆應用程式接受可讓您啟用應用程式插入 UI 的
 {@link android.content.Intent#ACTION_INSERT} 意圖。您可以在該意圖中傳入「額外」的資料,供應用程式用於預先填入使用者介面。由於週期性活動的語法較為複雜,因此建議您利用 {@link android.content.Intent#ACTION_INSERT} 啟用日曆應用程式,然後讓使用者透過該應用程式將活動插入日曆供應程式。
 
 
@@ -1089,7 +1089,7 @@
 </p>
 <p>
     例如,使用者字典供應程式有一個內含內容 URI 和欄名稱常數的 {@link android.provider.UserDictionary} 合約類別。
-「字詞」表格的內容 URI 是在 
+「字詞」表格的內容 URI 是在
 {@link android.provider.UserDictionary.Words#CONTENT_URI UserDictionary.Words.CONTENT_URI} 常數中定義。
 
     此外,{@link android.provider.UserDictionary.Words} 類別也包含欄名稱常數,可用於本指南中的程式碼片段範例。
@@ -1106,7 +1106,7 @@
 </pre>
 <p>
     聯絡人供應程式的另一個合約類別為 {@link android.provider.ContactsContract}。
-    此類別的參考文件附有程式碼片段範例。其中一個 
+    此類別的參考文件附有程式碼片段範例。其中一個
 {@link android.provider.ContactsContract.Intents.Insert} 子類別為內含意圖常數和意圖資料的合約類別。
 
 </p>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-creating.jd b/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-creating.jd
index 3d46ee4..9f1ca31 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/providers/content-provider-creating.jd
@@ -239,7 +239,7 @@
         表格資料一律需包含「主索引鍵」欄,方便供應程式保存每個資料列的數值。
 您可以使用這些值將資料列連結至其他表格中的相關資料列 (也就是將這些值當作「外部索引鍵」使用)。
 事實上,您也可以使用此資料欄的任何名稱進行連結,但使用 {@link android.provider.BaseColumns#_ID BaseColumns._ID} 是最佳做法,這是因為將供應程式的查詢結果連結至
-{@link android.widget.ListView} 時需要將某個擷取出的資料列命名為 
+{@link android.widget.ListView} 時需要將某個擷取出的資料列命名為
 <code>_ID</code>。
 
 
@@ -288,14 +288,14 @@
 此外,也請針對 Android 套件名稱採取此建議做法;您可以將供應程式授權定義為內含供應程式的套件名稱的副檔名。
 
 例如,假設您 Android 套件的名稱為
- <code>com.example.&lt;appname&gt;</code>,則請將供應程式的授權定義為 
+ <code>com.example.&lt;appname&gt;</code>,則請將供應程式的授權定義為
 <code>com.example.&lt;appname&gt;.provider</code>。
 </p>
 <h3>設計路徑結構</h3>
 <p>
     開發人員通常只要附加指向個別表格的路徑,即可從授權建立內容 URI。
-例如,假設您有「table1」<em></em>和「table2」<em></em>這兩個表格,則您可以結合上述範例中的授權來產生內容 URI 
-<code>com.example.&lt;appname&gt;.provider/table1</code> 和 
+例如,假設您有「table1」<em></em>和「table2」<em></em>這兩個表格,則您可以結合上述範例中的授權來產生內容 URI
+<code>com.example.&lt;appname&gt;.provider/table1</code> 和
 <code>com.example.&lt;appname&gt;.provider/table2</code>。
 
 路徑並不侷限於單一區隔,而您也不必為每個路徑層級產生表格。
@@ -350,11 +350,11 @@
         <code>content://com.example.app.provider/table1</code>:名稱為 <code>table1</code> 的表格。
     </li>
     <li>
-        <code>content://com.example.app.provider/table2/dataset1</code>:名稱為 
+        <code>content://com.example.app.provider/table2/dataset1</code>:名稱為
 <code>dataset1</code> 的表格。
     </li>
     <li>
-        <code>content://com.example.app.provider/table2/dataset2</code>:名稱為 
+        <code>content://com.example.app.provider/table2/dataset2</code>:名稱為
 <code>dataset2</code> 的表格。
     </li>
     <li>
@@ -380,7 +380,7 @@
         <code>content://com.example.app.provider/table2/*</code>:
     </dt>
     <dd>
-        與 <code>dataset1</code> 和 <code>dataset2</code> 表格的內容 URI 相符,但與 <code>table1</code> 或 
+        與 <code>dataset1</code> 和 <code>dataset2</code> 表格的內容 URI 相符,但與 <code>table1</code> 或
 <code>table3</code> 的內容 URI 不符。
 
     </dd>
@@ -393,8 +393,8 @@
 </dl>
 <p>
     以下程式碼片段說明各種方法在 {@link android.content.UriMatcher} 中的運作方式。
-    這個程式碼會以不同方式處理整個表格的 URI 以及單一資料列的 URI;針對表格使用內容 URI 模式 
-<code>content://&lt;authority&gt;/&lt;path&gt;</code>,針對單一資料列則使用 
+    這個程式碼會以不同方式處理整個表格的 URI 以及單一資料列的 URI;針對表格使用內容 URI 模式
+<code>content://&lt;authority&gt;/&lt;path&gt;</code>,針對單一資料列則使用
 <code>content://&lt;authority&gt;/&lt;path&gt;/&lt;id&gt;</code>。
 
 </p>
@@ -469,8 +469,8 @@
 </pre>
 <p>
     另一個 {@link android.content.ContentUris} 類別可提供使用內容 URI 的 <code>id</code> 部分的簡便方法。
-{@link android.net.Uri} 和 
-{@link android.net.Uri.Builder} 類別則可提供剖析現有 
+{@link android.net.Uri} 和
+{@link android.net.Uri.Builder} 類別則可提供剖析現有
 {@link android.net.Uri} 物件及建置新物件的簡便方法。
 </p>
 
@@ -485,7 +485,7 @@
 <h3 id="RequiredAccess">必要方法</h3>
 <p>
     抽象類別 {@link android.content.ContentProvider} 會定義 6 種方法,而您必須將這些方法實作成您所擁有子類別的一部分。
-嘗試存取您內容供應程式的用戶端應用程式會呼叫以下所有方法 
+嘗試存取您內容供應程式的用戶端應用程式會呼叫以下所有方法
 ({@link android.content.ContentProvider#onCreate() onCreate()} 除外):
 
 </p>
@@ -539,7 +539,7 @@
     </dd>
 </dl>
 <p>
-    請注意,上述方法採用的簽名與同名的 
+    請注意,上述方法採用的簽名與同名的
 {@link android.content.ContentResolver} 方法相同。
 </p>
 <p>
@@ -641,7 +641,7 @@
 
 </p>
 <p>
-    例如,如果您採用 SQLite 資料庫,您可以透過 
+    例如,如果您採用 SQLite 資料庫,您可以透過
 {@link android.content.ContentProvider#onCreate() ContentProvider.onCreate()} 建立新的 {@link android.database.sqlite.SQLiteOpenHelper} 物件,然後在初次開啟資料庫時建立 SQL 表格。
 
 為了加快這個程序,當您初次呼叫 {@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase
@@ -651,10 +651,10 @@
 
 </p>
 <p>
-    以下兩個程式碼片段展示了 
+    以下兩個程式碼片段展示了
 {@link android.content.ContentProvider#onCreate() ContentProvider.onCreate()} 與 {@link android.database.sqlite.SQLiteOpenHelper#onCreate(SQLiteDatabase)
     SQLiteOpenHelper.onCreate()} 之間的互動過程。
-而第一個程式碼片段是用於實作 
+而第一個程式碼片段是用於實作
 {@link android.content.ContentProvider#onCreate() ContentProvider.onCreate()}:
 </p>
 <pre class="prettyprint">
@@ -808,7 +808,7 @@
             <code>&lt;name&gt;</code> 必須是全域唯一值,而 <code>&lt;type&gt;</code> 必須為相對應 URI 模式的專屬值。
 
 建議您使用貴公司的名稱或您應用程式的部分 Android 套件名稱做為 <code>&lt;name&gt;</code>。
-針對 
+針對
 <code>&lt;type&gt;</code>,則建議您使用可識別與 URI 相關的表格的字串。
 
         </p>
@@ -816,8 +816,8 @@
     </li>
 </ul>
 <p>
-    例如,假設供應程式的授權為 
-<code>com.example.app.provider</code>,而該授權可提供 
+    例如,假設供應程式的授權為
+<code>com.example.app.provider</code>,而該授權可提供
 <code>table1</code> 這個表格,則 <code>table1</code> 中多個資料列的 MIME 類型會如下所示:
 </p>
 <pre>
@@ -940,7 +940,7 @@
 為了將權限設為僅適用於您的供應程式,請針對
  <code><a href="{@docRoot}guide/topics/manifest/permission-element.html#nm">
     android:name</a></code> 屬性使用 Java 式範圍。
-例如,請將讀取權限命名為 
+例如,請將讀取權限命名為
 <code>com.example.app.provider.permission.READ_PROVIDER</code>。
 
 </p>
@@ -955,7 +955,7 @@
     </dt>
     <dd>
         這項權限是由 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
-        &lt;provider&gt;</a></code> 元素的 
+        &lt;provider&gt;</a></code> 元素的
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">
         android:permission</a></code> 屬性所指定,可控制整個供應程式的讀取及寫入存取權。
 
@@ -967,10 +967,10 @@
         整個供應程式的讀取權限及寫入權限。您可以使用 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">
         &lt;provider&gt;</a></code> 元素的
  <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#rprmsn">
-        android:readPermission</a></code> 和 
+        android:readPermission</a></code> 和
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#wprmsn">
         android:writePermission</a></code> 屬性指定這兩項權限。
-這些權限的優先等級比 
+這些權限的優先等級比
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">
         android:permission</a></code> 所需的權限來得高。
     </dd>
@@ -1037,9 +1037,9 @@
 
         </p>
         <p>
-            如要將臨時存取權委派給某款應用程式,您就必須在意圖中加入 
-{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION} 或 
-{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION} 旗標,或是同時加入以上兩者。請使用 
+            如要將臨時存取權委派給某款應用程式,您就必須在意圖中加入
+{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION} 或
+{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION} 旗標,或是同時加入以上兩者。請使用
 {@link android.content.Intent#setFlags(int) setFlags()} 方法設定這些旗標。
         </p>
         <p>
@@ -1187,7 +1187,7 @@
 <h2 id="Intents">意圖和資料存取權</h2>
 <p>
     應用程式可透過 {@link android.content.Intent} 以間接方式存取內容供應程式。
-    利用這種存取方式的應用程式不會呼叫 {@link android.content.ContentResolver} 或 
+    利用這種存取方式的應用程式不會呼叫 {@link android.content.ContentResolver} 或
 {@link android.content.ContentProvider} 的任何方法,而是會傳送可啟動 Activity (此 Activity 通常屬於供應程式本身的應用程式) 的意圖。
 目標 Activity 會負責擷取資料並在本身的 UI 中顯示該資料。視意圖中的動作而定,目標 Activity 也可能會提示使用者修改供應程式的資料。
 
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/providers/document-provider.jd b/docs/html-intl/intl/zh-tw/guide/topics/providers/document-provider.jd
index 1dc7c46..a6af758 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/providers/document-provider.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/providers/document-provider.jd
@@ -213,7 +213,7 @@
 
  </p>
 
-<p>針對搭載 Android 4.4 以上版本的裝置,您的應用程式還可以呼叫 
+<p>針對搭載 Android 4.4 以上版本的裝置,您的應用程式還可以呼叫
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} 意圖,以顯示系統所控管的挑選器 UI,方便使用者瀏覽其他應用程式提供的所有檔案。
 
 透過這個單一 UI,使用者可以從任何受支援的應用程式挑選檔案。
@@ -560,7 +560,7 @@
 <li>供應程式的名稱 (也就是供應程式的類別名稱),包括套件名稱。範例:<code>com.example.android.storageprovider.MyCloudProvider</code>。
 </li>
 
-<li>授權的名稱 (也就是套件的名稱;在此範例中為 
+<li>授權的名稱 (也就是套件的名稱;在此範例中為
 <code>com.example.android.storageprovider</code>) 以及內容供應程式的類型
 (<code>documents</code>)。範例:{@code com.example.android.storageprovider.documents}。</li>
 
@@ -588,7 +588,7 @@
  <pre>&lt;bool name=&quot;atLeastKitKat&quot;&gt;true&lt;/bool&gt;</pre></li>
 </ul></li>
 
-<li>內含 
+<li>內含
 {@code android.content.action.DOCUMENTS_PROVIDER} 動作的意圖篩選器,讓您的供應程式能夠在系統搜尋供應程式時顯示在挑選器中。
 </li>
 
@@ -618,7 +618,7 @@
 
 <h4 id="43">支援搭載 Android 4.3 以下版本的裝置</h4>
 
-<p>只有搭載 Android 4.4 以上版本的裝置可使用 
+<p>只有搭載 Android 4.4 以上版本的裝置可使用
 {@link android.content.Intent#ACTION_OPEN_DOCUMENT} 意圖。如果您想讓應用程式支援 {@link android.content.Intent#ACTION_GET_CONTENT} 以便與搭載 Android 4.3 以下版本的裝置相容,請針對搭載 Android 4.4 以上版本的裝置停用宣示說明中的 {@link android.content.Intent#ACTION_GET_CONTENT} 意圖篩選器。
 
 
@@ -833,7 +833,7 @@
 <h4 id="openDocument">實作 openDocument</h4>
 
 <p>您必須實作 {@link android.provider.DocumentsProvider#openDocument
-openDocument()} 來傳回代表特定檔案的 
+openDocument()} 來傳回代表特定檔案的
 {@link android.os.ParcelFileDescriptor}。其他應用程式可利用傳回的 {@link android.os.ParcelFileDescriptor} 傳輸資料。
 使用者選取檔案而且用戶端應用程式呼叫
 {@link android.content.ContentResolver#openFileDescriptor openFileDescriptor()} 要求存取該檔案後,系統就會呼叫這個方法。範例:
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/resources/accessing-resources.jd b/docs/html-intl/intl/zh-tw/guide/topics/resources/accessing-resources.jd
index 3a5a961..d1ac69c 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/resources/accessing-resources.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/resources/accessing-resources.jd
@@ -101,12 +101,12 @@
 <div class="sidebox">
 <h2>存取原始檔案</h2>
 
-<p>雖然不常見,但您有時需要存取原始檔案和目錄。如果有此需求,則不能將檔案儲存在 {@code res/},因為要從 
-{@code res/} 讀取資源的唯一方式是透過資源 ID。不過,您可以將資源儲存在 
+<p>雖然不常見,但您有時需要存取原始檔案和目錄。如果有此需求,則不能將檔案儲存在 {@code res/},因為要從
+{@code res/} 讀取資源的唯一方式是透過資源 ID。不過,您可以將資源儲存在
 {@code assets/} 目錄。
 </p>
 <p>儲存在 {@code assets/} 目錄中的檔案「不會」<em></em>指定資源 ID,因此您無法透過 {@code R} 類別或從 XML 資源參照這些檔案。
-您可以改為查詢 {@code assets/} 目錄中的檔案,就像一般檔案系統一樣,並使用 
+您可以改為查詢 {@code assets/} 目錄中的檔案,就像一般檔案系統一樣,並使用
 {@link android.content.res.AssetManager} 讀取原始資料。
 </p>
 <p>不過,如果您只是要讀取原始資料 (例如影片或音訊檔案),可以將檔案儲存在 {@code res/raw/} 目錄,然後使用 {@link
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/resources/providing-resources.jd b/docs/html-intl/intl/zh-tw/guide/topics/resources/providing-resources.jd
index 0938dc0..01e0d9c 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/resources/providing-resources.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/resources/providing-resources.jd
@@ -510,7 +510,7 @@
 
 </p>
         <p>已新增至 API 級別 4。<em></em></p>
-        
+
         <p>請參閱<a href="{@docRoot}guide/practices/screens_support.html">支援多個螢幕</a>以取得詳細資訊。
 </p>
         <p>另請查看 {@link android.content.res.Configuration#screenLayout} 設定欄位,該欄位會指出螢幕為小螢幕、一般螢幕或大螢幕。
@@ -824,7 +824,7 @@
 名稱中的任何大寫只是為了方便閱讀。</li>
     <li>每個限定詞類型只支援一個值。例如,如果您想在西班牙文和法文使用相同的可繪項目檔案,則不能將目錄命名為 <em></em>
 <code>drawable-rES-rFR/</code>。
-您必須有兩個資源目錄,例如 
+您必須有兩個資源目錄,例如
 <code>drawable-rES/</code> 和 <code>drawable-rFR/</code>,這兩個目錄要包含適當的檔案。
 但是,您不需要實際將相同的檔案複製到這兩位置。您可以為資源建立別名。
 請參閱下方的
@@ -877,7 +877,7 @@
     android:src="@drawable/icon_ca" />
 </pre>
 
-<p>如果您將此檔案儲存成 {@code icon.xml} (在替代資源目錄中,像是 
+<p>如果您將此檔案儲存成 {@code icon.xml} (在替代資源目錄中,像是
 {@code res/drawable-en-rCA/}),系統會將它編譯成可當作 {@code R.drawable.icon} 參照的資源,但它實際上是 {@code
 R.drawable.icon_ca} 資源 (儲存在 {@code res/drawable/}) 的別名。
 </p>
@@ -1025,7 +1025,7 @@
 drawable-port-notouch-12key/
 </pre>
 <p class="note"><strong>例外狀況:</strong>螢幕像素密度是唯一沒有因為衝突而被排除的限定詞。
-即使裝置的螢幕密度是 hdpi 但仍然沒有排除 
+即使裝置的螢幕密度是 hdpi 但仍然沒有排除
 <code>drawable-port-ldpi/</code>,因為此刻每個螢幕密度都視為相符。
 如需詳細資訊,請參閱<a href="{@docRoot}guide/practices/screens_support.html">支援多個螢幕</a>文件。
 </p></li>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/resources/runtime-changes.jd b/docs/html-intl/intl/zh-tw/guide/topics/resources/runtime-changes.jd
index 7a8b3ae..8178444 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/resources/runtime-changes.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/resources/runtime-changes.jd
@@ -22,7 +22,7 @@
 </div>
 
 <p>有些裝置設定可以在執行階段期間進行變更 (例如,螢幕方向、鍵盤可用性和語言)。
-進行這類變更時,Android 會重新啟動執行中的 
+進行這類變更時,Android 會重新啟動執行中的
 {@link android.app.Activity} (呼叫 {@link android.app.Activity#onDestroy()},後面加上 {@link
 android.app.Activity#onCreate(Bundle) onCreate()})。
 重新啟動行為的設計是以符合新裝置設定的替代資源自動重新載入您的應用程式,以協助您的應用程式適應新的設定。
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/controls.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/controls.jd
index 0f27ae4..1ab66c3 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/controls.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/controls.jd
@@ -69,7 +69,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">圓形按鈕</a></td>
         <td>功用與核取方塊類似,但會限制使用者只能從一組選項中選取一個選項。</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/declaring-layout.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/declaring-layout.jd
index 7275571..580ee23 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/declaring-layout.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/declaring-layout.jd
@@ -272,7 +272,7 @@
 可定義檢視在螢幕中的實際大小 (描繪期間以及版面配置之後)。
 
 這些值可能 (但未必) 會與寬度和高度測量值不同。
-您可以呼叫 
+您可以呼叫
 {@link android.view.View#getWidth()} 和 {@link android.view.View#getHeight()} 來取得尺寸描繪值。
    </p>
 
@@ -421,7 +421,7 @@
   <li>含有陣列中所有字串的 {@link android.widget.TextView} 的版面配置</li>
   <li>字串陣列</li>
 </ul>
-<p>接著,針對您的 {@link android.widget.ListView} 呼叫 
+<p>接著,針對您的 {@link android.widget.ListView} 呼叫
 {@link android.widget.ListView#setAdapter setAdapter()}:</p>
 <pre>
 ListView listView = (ListView) findViewById(R.id.listview);
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/dialogs.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/dialogs.jd
index b0ae12e..6e6db35 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/dialogs.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>另請參閱</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">對話方塊設計指南</a></li>
@@ -248,7 +248,7 @@
   <dt>中立</dt>
   <dd>如果使用者不想繼續進行特定動作,但並非要取消動作,請使用這種按鈕。
 這種按鈕會顯示在正面和負面按鈕之間。
-範例:[稍後提醒我] 按鈕。</dd> 
+範例:[稍後提醒我] 按鈕。</dd>
 </dl>
 
 <p>您可以將以上其中一種按鈕加入 {@link
@@ -320,7 +320,7 @@
 <p>如要加入多重選項 (核取方塊) 或單一選項 (圓形按鈕),請使用
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
 DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} 或
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} 方法。
 </p>
 
@@ -346,7 +346,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -372,7 +372,7 @@
 </pre>
 
 <p>雖然傳統清單和包含圓形按鈕的清單都可提供「單選」動作,但如果您想保留使用者的選擇,請使用 {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()}。也就是說,如果您想讓對話方塊再次開啟時顯示使用者目前所選的選項,請建立包含圓形按鈕的清單。
 
 
@@ -470,7 +470,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -479,7 +479,7 @@
 <p><strong>提示:</strong>如果您想自訂對話方塊,請改為將 {@link android.app.Activity} 顯示為對話方塊,而不是使用 {@link android.app.Dialog} API。
 
 方法很簡單,只要建立 Activity 然後在 <a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code
-&lt;activity&gt;}</a> 宣示說明元素中將其主題設為 
+&lt;activity&gt;}</a> 宣示說明元素中將其主題設為
 {@link android.R.style#Theme_Holo_Dialog Theme.Holo.Dialog} 即可:
 </p>
 
@@ -505,7 +505,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -513,10 +513,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -543,7 +543,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -656,7 +656,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -678,7 +678,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/menus.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/menus.jd
index be1fa7f..6f7405b 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/menus.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/menus.jd
@@ -83,9 +83,9 @@
 </p>
   <p>請參閱<a href="#options-menu">建立選項選單</a>。</p>
     </dd>
-    
+
   <dt><strong>內容選單和內容關聯動作模式</strong></dt>
-  
+
    <dd>內容選單是會在使用者長按某元素時顯示的<a href="#FloatingContextMenu">浮動選單</a>。
 它提供的動作會影響所選取內容或內容畫面。
 
@@ -94,7 +94,7 @@
 </p>
   <p>請參閱<a href="#context-menu">建立內容關聯選單</a>。</p>
 </dd>
-    
+
   <dt><strong>彈出式選單</strong></dt>
     <dd>彈出式選單顯示的項目清單會以垂直清單的方式,錨定在呼叫該選單的檢視。
 它很適合用來提供與特定內容有關的動作溢出,或針對第二部分的命令提供選項。
@@ -135,7 +135,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>建立代表選單中單一項目的 {@link android.view.MenuItem}。此元素可以包含巢狀
 <code>&lt;menu></code> 元素以建立子選單。</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>可供 {@code &lt;item&gt;} 元素選用的不可見容器。它可讓您將選單項目分類,以便分享屬性,例如有效狀態與可見度。
 如需詳細資訊,請參閱<a href="#groups">建立選單群組</a>。
@@ -742,8 +742,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -900,7 +900,7 @@
 <p>已選取可勾選項目時,系統會呼叫所選取個別項目的回呼方法 (例如 {@link android.app.Activity#onOptionsItemSelected(MenuItem) onOptionsItemSelected()})。
 您必須在這裡設定核取方塊的狀態,原因是核取方塊或選項按鈕並不會自動變更其狀態。
 
-您可以利用 
+您可以利用
 {@link android.view.MenuItem#isChecked()} 來查詢項目的目前狀態 (使用者選取它之前的狀態),然後利用
 {@link android.view.MenuItem#setChecked(boolean) setChecked()} 來設定勾選狀態。例如:</p>
 
@@ -1010,7 +1010,7 @@
 <p>您也能向其他應用程式提供 Activity 的服務,這樣即可在其他應用程式的選單中包含您的應用程式 (與上述的角色顛倒)。
 </p>
 
-<p>如要包含在其他應用程式選單中,您必須照常定義意圖篩選器,但務必為意圖篩選器類別納入 
+<p>如要包含在其他應用程式選單中,您必須照常定義意圖篩選器,但務必為意圖篩選器類別納入
 {@link android.content.Intent#CATEGORY_ALTERNATIVE} 和/或 {@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE} 值。
 
 例如:</p>
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/notifiers/notifications.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/notifiers/notifications.jd
index b853744..d7bf469 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/notifiers/notifications.jd
@@ -81,7 +81,7 @@
     <strong>圖 2.</strong>通知匣中的通知。
 </p>
 
-<p class="note"><strong>注意:</strong>除非另外註明,否則本指南參照<a href="{@docRoot}tools/support-library/index.html">支援程式庫</a> 4 版中的 
+<p class="note"><strong>注意:</strong>除非另外註明,否則本指南參照<a href="{@docRoot}tools/support-library/index.html">支援程式庫</a> 4 版中的
 {@link android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder} 類別。類別 {@link android.app.Notification.Builder Notification.Builder} 是在 Android 3.0 (API 級別 11) 新增。
 
 
@@ -97,10 +97,10 @@
 
 <h2 id="CreateNotification">建立通知</h2>
 
-<p>您會為 
+<p>您會為
 {@link android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder} 物件中的通知指定 UI 資訊與動作。
-如要建立通知本身,您可以呼叫 
-{@link android.support.v4.app.NotificationCompat.Builder#build NotificationCompat.Builder.build()},其傳回的 
+如要建立通知本身,您可以呼叫
+{@link android.support.v4.app.NotificationCompat.Builder#build NotificationCompat.Builder.build()},其傳回的
 {@link android.app.Notification} 物件會包含您的規格。如要發出通知,您可以呼叫 {@link android.app.NotificationManager#notify NotificationManager.notify()} 將 {@link android.app.Notification} 物件傳送至系統。
 
 </p>
@@ -149,7 +149,7 @@
     在 {@link android.app.Notification} 內,動作本身是由
 {@link android.app.PendingIntent} 完成定義,其中包含的
 {@link android.content.Intent} 會啟動您應用程式中的
-{@link android.app.Activity}。如要將 
+{@link android.app.Activity}。如要將
 {@link android.app.PendingIntent} 與手勢關聯,可呼叫
 {@link android.support.v4.app.NotificationCompat.Builder} 的適當方法。例如,如果當使用者按一下通知匣中的通知文字時,您希望啟動
 {@link android.app.Activity},可呼叫
@@ -394,7 +394,7 @@
 <h2 id="NotificationResponse">啟動 Activity 時保留導覽</h2>
 <p>
     當您從通知啟動 {@link android.app.Activity} 時,您必須保留使用者預期的導覽體驗。
-按一下  <i>[返回]</i> 應可將使用者從應用程式的一般工作流程帶回主螢幕,而按一下 
+按一下  <i>[返回]</i> 應可將使用者從應用程式的一般工作流程帶回主螢幕,而按一下
  <i>[近期記錄]</i> 應會將
 {@link android.app.Activity} 顯示為個別的工作。如要保留導覽體驗,請以全新的工作啟動
 {@link android.app.Activity}。您該如何設定
@@ -466,7 +466,7 @@
                 </p>
             </li>
             <li>
-                此外您還需要新增 Android 4.1 以上版本的支援。為此,請將 
+                此外您還需要新增 Android 4.1 以上版本的支援。為此,請將
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#parent">android:parentActivityName</a></code> 屬性新增到您要啟動 {@link android.app.Activity} 的
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> 元素。
 
@@ -722,7 +722,7 @@
 <p>
     當操作完成時,您可以繼續顯示進度列或將其移除。不論是任何一種情況,都務必更新通知文字來指出操作已完成。
 
-    如要移除進度列,請呼叫 
+    如要移除進度列,請呼叫
 {@link android.support.v4.app.NotificationCompat.Builder#setProgress
 setProgress(0, 0, false)}。例如:
 </p>
@@ -933,7 +933,7 @@
 
 </p>
 <p>
-    如要定義自訂通知版面配置,請從具現化可擴大 XML 配置檔案的 
+    如要定義自訂通知版面配置,請從具現化可擴大 XML 配置檔案的
 {@link android.widget.RemoteViews} 物件著手。接著,改為呼叫 {@link android.support.v4.app.NotificationCompat.Builder#setContent setContent()},而不是呼叫像是 {@link android.support.v4.app.NotificationCompat.Builder#setContentTitle setContentTitle()} 的方法。
 
 
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/overview.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/overview.jd
index 44d05a8..0ac4002 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/overview.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>如需建立 UI 版面配置的完整指南,請參閱 <a href="declaring-layout.html">XML 版面配置</a>。
 
 
-  
+
 <h2 id="UIComponents">使用者介面元件</h2>
 
 <p>您不必使用 {@link android.view.View} 與 {@link
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/settings.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/settings.jd
index 91ac929..7a7ff9b 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/settings.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/settings.jd
@@ -226,7 +226,7 @@
   <dt>{@code android:key}</dt>
   <dd>需要這個屬性才能保留資料值的偏好設定。它會指定當系統將此設定值儲存於 {@link
 android.content.SharedPreferences} 時要使用的唯一索引鍵 (字串)。
- 
+
   <p>只有在下列情況下不需要此屬性:<em></em>偏好設定為 {@link android.preference.PreferenceCategory} 或 {@link android.preference.PreferenceScreen},或者偏好設定指定 {@link android.content.Intent} 進行呼叫 (搭配 <a href="#Intents">{@code &lt;intent&gt;}</a> 元素) 或 {@link android.app.Fragment} 進行顯示 (搭配 <a href="{@docRoot}reference/android/preference/Preference.html#attr_android:fragment">{@code
 android:fragment}</a> 屬性)。
 
@@ -285,7 +285,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -293,12 +293,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -588,11 +588,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -672,15 +672,15 @@
 </p>
 
 <p>例如,下列為使用 Android 3.0及更新版本的偏好設定標頭 XML 檔案 ({@code res/xml/preference_headers.xml}):
-</p> 
+</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -692,18 +692,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -975,11 +975,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1194,7 +1194,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html-intl/intl/zh-tw/guide/topics/ui/ui-events.jd b/docs/html-intl/intl/zh-tw/guide/topics/ui/ui-events.jd
index 68714e8..8e009e0 100644
--- a/docs/html-intl/intl/zh-tw/guide/topics/ui/ui-events.jd
+++ b/docs/html-intl/intl/zh-tw/guide/topics/ui/ui-events.jd
@@ -187,7 +187,7 @@
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - 這讓 {@link
 android.view.ViewGroup} 在發送至子檢視時能監控事件。</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
-    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - 呼叫這個父檢視以指出不應該使用 <code>{@link 
+    ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - 呼叫這個父檢視以指出不應該使用 <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code> 攔截輕觸事件。
 </li>
 </ul>
@@ -199,11 +199,11 @@
 不過,如果裝置具有輕觸功能,而且使用者透過輕觸方式開始與介面互動,就不需要再將項目反白顯示,或是對特定檢視提供焦點。
 
 因此,這就是名稱為「輕觸模式」的互動模式。
- 
+
 </p>
 <p>
 如果是具備輕觸功能的裝置,使用者輕觸螢幕之後,裝置就會進入輕觸模式。
-從這點以此類推,只有 
+從這點以此類推,只有
 {@link android.view.View#isFocusableInTouchMode} 為 true 的檢視才可設定焦點,例如文字編輯小工具。
 其他可輕觸的檢視,例如按鈕,在輕觸時不會成為焦點;按下時,只會觸發 on-click 接聽器。
 
@@ -214,7 +214,7 @@
 
 </p>
 <p>
-整個系統 (所有視窗和 Activity) 都會保留輕觸模式的狀態。如要查詢目前的狀態,您可以呼叫 
+整個系統 (所有視窗和 Activity) 都會保留輕觸模式的狀態。如要查詢目前的狀態,您可以呼叫
 {@link android.view.View#isInTouchMode} 以查看裝置目前是否處於輕觸模式。
 
 </p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html-intl/intl/zh-tw/preview/api-overview.jd b/docs/html-intl/intl/zh-tw/preview/api-overview.jd
index aeace5b..e5fdf8d 100644
--- a/docs/html-intl/intl/zh-tw/preview/api-overview.jd
+++ b/docs/html-intl/intl/zh-tw/preview/api-overview.jd
@@ -414,7 +414,7 @@
 
 
 
- 
+
 </p>
 
 <p>
diff --git a/docs/html-intl/intl/zh-tw/preview/features/background-optimization.jd b/docs/html-intl/intl/zh-tw/preview/features/background-optimization.jd
index d088381..123498b 100644
--- a/docs/html-intl/intl/zh-tw/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/zh-tw/preview/features/background-optimization.jd
@@ -88,7 +88,7 @@
 </p>
 
 <p>
-  在此文件中,我們將學習如何使用替代方法 (例如 
+  在此文件中,我們將學習如何使用替代方法 (例如
   {@link android.app.job.JobScheduler}) 改寫您的應用程式以配合這些新的限制。
 
 </p>
diff --git a/docs/html-intl/intl/zh-tw/preview/features/direct-boot.jd b/docs/html-intl/intl/zh-tw/preview/features/direct-boot.jd
index a42ec11..7e4ea73 100644
--- a/docs/html-intl/intl/zh-tw/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/zh-tw/preview/features/direct-boot.jd
@@ -87,7 +87,7 @@
 <h2 id="access">存取裝置加密的儲存空間</h2>
 
 <p>如果要存取裝置加密的儲存空間,請透過呼叫
-<code>Context.createDeviceEncryptedStorageContext()</code> 以建立第二個 
+<code>Context.createDeviceEncryptedStorageContext()</code> 以建立第二個
 {@link android.content.Context} 實例。使用此內容建立的所有儲存 API 呼叫都可以存取裝置加密的儲存空間。
 下列範例會存取裝置加密的儲存空間並開啟現有的應用程式資料檔案:
 
diff --git a/docs/html-intl/intl/zh-tw/preview/features/multi-window.jd b/docs/html-intl/intl/zh-tw/preview/features/multi-window.jd
index 788951c..5ea247b 100644
--- a/docs/html-intl/intl/zh-tw/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/zh-tw/preview/features/multi-window.jd
@@ -170,7 +170,7 @@
 
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
-  在宣示說明的 <code>&lt;activity&gt;</code> 或 
+  在宣示說明的 <code>&lt;activity&gt;</code> 或
   <code>&lt;application&gt;</code> 節點中,設定此屬性以啟用或停用多視窗顯示:
 
 </p>
diff --git a/docs/html-intl/intl/zh-tw/preview/features/picture-in-picture.jd b/docs/html-intl/intl/zh-tw/preview/features/picture-in-picture.jd
index b0ee8b8..6b8a178 100644
--- a/docs/html-intl/intl/zh-tw/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/zh-tw/preview/features/picture-in-picture.jd
@@ -150,7 +150,7 @@
 <p>當您的活動切換到 PIP 時,系統會將活動視為暫停狀態並呼叫您活動的 <code>onPause()</code> 方法。
 影片播放不應該暫停,而且活動因為 PIP 模式而暫停時,影片應該繼續播放。
 
-查看您活動的 
+查看您活動的
 <code>onPause()</code> 方法中的 PIP 並適當地處理播放,例如:
 </p>
 
diff --git a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/index.jd b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/index.jd
index 4225184..acee1d4 100644
--- a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/index.jd
+++ b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/index.jd
@@ -55,7 +55,7 @@
 </p>
 
 <h2>課程</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">啟動應用行為顯示</a></b></dt>
   <dd>了解應用行為顯示生命週期的有關基本概念、使用者啟動應用程式的方式,以及建立基本應用行為顯示的執行方式。
@@ -68,5 +68,5 @@
   <dt><b><a href="recreating.html">重新建立應用行為顯示</a></b></dt>
   <dd>了解在應用行為顯示遭終結時的狀況,以及如何在需要時重新建置應用行為顯示狀態。
 </dd>
-</dl> 
+</dl>
 
diff --git a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/pausing.jd b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/pausing.jd
index 8c0843d..f47768a 100644
--- a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本課程示範</h2>
     <ol>
       <li><a href="#Pause">暫停您的應用行為顯示</a></li>
       <li><a href="#Resume">繼續您的應用行為顯示</a></li>
     </ol>
-    
+
     <h2>您也應該閱讀</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">應用行為顯示</a>
@@ -59,7 +59,7 @@
 
 
 <h2 id="Pause">暫停您的應用行為顯示</h2>
-      
+
 <p>若系統為您的應用行為顯示呼叫 {@link android.app.Activity#onPause()},嚴格來說意味著您的應用行為顯示仍是部分可見,但多數情況下表示使用者離開應用行為顯示,該應用行為顯示很快將進入「已停止」狀態。
 
 通常,您應使用 {@link android.app.Activity#onPause()} 回呼執行以下操作:
diff --git a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/recreating.jd b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/recreating.jd
index 4b0efda..ad23786 100644
--- a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本課程示範</h2>
     <ol>
       <li><a href="#SaveState">儲存您的應用行為顯示狀態</a></li>
       <li><a href="#RestoreState">還原您的應用行為顯示狀態</a></li>
     </ol>
-    
+
     <h2>您也應該閱讀</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">支援不同的螢幕</a>
@@ -105,7 +105,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -138,7 +138,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -157,12 +157,12 @@
 只有存在要還原的已儲存狀態時,系統才會呼叫 {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()},因此您無需檢查 {@link android.os.Bundle} 是否為 null:
 </p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/starting.jd b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/starting.jd
index fae2fa3..b03f22b 100644
--- a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本課程示範</h2>
 <ol>
   <li><a href="#lifecycle-states">了解生命週期回呼</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">建立新執行個體</a></li>
   <li><a href="#Destroy">終結應用行為顯示</a></li>
 </ol>
-    
+
     <h2>您也應該閱讀</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">應用行為顯示</a></li>
@@ -83,7 +83,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -138,7 +138,7 @@
 
 
 
-<h2 id="launching-activity">指定您應用程式的啟動器應用行為顯示</h2> 
+<h2 id="launching-activity">指定您應用程式的啟動器應用行為顯示</h2>
 
 <p>若使用者從主螢幕中選取您的應用程式圖示,系統會針對應用程式中您已宣告作為「啟動器」(或「主程式」) 應用行為顯示的 {@link android.app.Activity},呼叫 {@link
 android.app.Activity#onCreate onCreate()} 方法。
@@ -151,7 +151,7 @@
 <p>必須在宣示說明中使用 <a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a> (包括 {@link
 android.content.Intent#ACTION_MAIN MAIN} 行為與 {@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} 類別) 宣告您應用程式的主要應用行為顯示。
-例如:</p> 
+例如:</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -200,10 +200,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -268,7 +268,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/stopping.jd b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/stopping.jd
index a2da5ca..9d9ea5d 100644
--- a/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html-intl/intl/zh-tw/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>本課程示範</h2>
     <ol>
       <li><a href="#Stop">停止您的應用行為顯示</a></li>
       <li><a href="#Start">啟動/重新啟動您的應用行為顯示</a></li>
     </ol>
-    
+
     <h2>您也應該閱讀</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">應用行為顯示</a>
@@ -152,13 +152,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -169,8 +169,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html/about/android.jd b/docs/html/about/android.jd
index e3b6958..6e57390 100644
--- a/docs/html/about/android.jd
+++ b/docs/html/about/android.jd
@@ -26,11 +26,11 @@
 <blockquote>Every day more than a million new Android devices are activated worldwide.</blockquote>
 
 <p>Android’s openness has made it a favorite for consumers and developers alike,
-driving strong growth in app consumption. Android users download 
+driving strong growth in app consumption. Android users download
 billions of apps and games from Google Play each month. </p>
 
 <p>With its partners, Android is continuously pushing the boundaries of hardware and software
-forward to bring new capabilities to users and developers. For developers, 
+forward to bring new capabilities to users and developers. For developers,
 Android innovation lets you build powerful, differentiated applications
 that use the latest mobile technologies.</p>
 
@@ -59,7 +59,7 @@
 advantage of the hardware capabilities available on each device. It
 automatically adapts your UI to look its best on each device, while giving you
 as much control as you want over your UI on different device
-types. </p> 
+types. </p>
 
 <p>For example, you can create a single app binary that's optimized for
 both phone and tablet form factors. You declare your UI in lightweight sets of XML
@@ -70,7 +70,7 @@
 and so on.</p>
 
 
-<p>To help you develop efficiently, the <a href="{@docRoot}tools/index.html">Android 
+<p>To help you develop efficiently, the <a href="{@docRoot}tools/index.html">Android
     Developer Tools</a>
 offer a full Java IDE with advanced features for developing, debugging, and
 packaging Android apps. Using the IDE, you can develop on any available Android
diff --git a/docs/html/about/index.jd b/docs/html/about/index.jd
index 22f504e..274a511 100644
--- a/docs/html/about/index.jd
+++ b/docs/html/about/index.jd
@@ -34,11 +34,11 @@
 <blockquote>Every day more than 1 million new Android devices are activated worldwide.</blockquote>
 
 <p>Android’s openness has made it a favorite for consumers and developers alike,
-driving strong growth in app consumption. Android users download more than 
+driving strong growth in app consumption. Android users download more than
 1.5 billion apps and games from Google Play each month. </p>
 
 <p>With its partners, Android is continuously pushing the boundaries of hardware and software
-forward to bring new capabilities to users and developers. For developers, 
+forward to bring new capabilities to users and developers. For developers,
 Android innovation lets you build powerful, differentiated applications
 that use the latest mobile technologies.</p>
 
@@ -68,7 +68,7 @@
 advantage of the hardware capabilities available on each device. It
 automatically adapts your UI to look its best on each device, while giving you
 as much control as you want over your UI on different device
-types. </p> 
+types. </p>
 
 <p>For example, you can create a single app binary that's optimized for
 both phone and tablet form factors. You declare your UI in lightweight sets of XML
@@ -79,7 +79,7 @@
 and so on.</p>
 
 
-<p>To help you develop efficiently, the <a href="{@docRoot}tools/index.html">Android 
+<p>To help you develop efficiently, the <a href="{@docRoot}tools/index.html">Android
     Developer Tools</a>
 offer a full Java IDE with advanced features for developing, debugging, and
 packaging Android apps. Using the IDE, you can develop on any available Android
diff --git a/docs/html/about/versions/android-1.1.jd b/docs/html/about/versions/android-1.1.jd
index b2a1615..e7d059e 100644
--- a/docs/html/about/versions/android-1.1.jd
+++ b/docs/html/about/versions/android-1.1.jd
@@ -9,7 +9,7 @@
 <em>API Level:</em>&nbsp;<strong>2</strong></p>
 
 
-<p>This document provides version notes for the Android 1.1 system image included in the SDK. 
+<p>This document provides version notes for the Android 1.1 system image included in the SDK.
 
 <ul>
 <li><a href="#overview">Overview</a>
@@ -29,7 +29,7 @@
 Android-powered handsets starting in February 2009. </p>
 
 <p>The Android 1.1 system image delivers an updated version of the framework
-API. As with the Android 1.0 API, the Android 1.1 API 
+API. As with the Android 1.0 API, the Android 1.1 API
 is assigned an integer identifier &mdash; <strong>2</strong> &mdash; that is
 stored in the system itself. This identifier, called the "API Level", allows the
 system to correctly determine whether an application is compatible with
@@ -37,8 +37,8 @@
 
 <p>Applications indicate the lowest system API Level that they are compatible with by adding
 a value to the <code>android:minSdkVersion</code> attribute.
-The value of the attribute is an integer corresponding to an API Level 
-identifier. Prior to installing an application, the system checks the value of 
+The value of the attribute is an integer corresponding to an API Level
+identifier. Prior to installing an application, the system checks the value of
 <code>android:minSdkVersion</code> and allows the install only
 if the referenced integer is less than or equal to the API Level integer stored
 in the system itself. </p>
@@ -139,7 +139,7 @@
 	<li>German (de) </li>
 	</ul>
 
-<p>Localized UI strings match the locales that are displayable in 
+<p>Localized UI strings match the locales that are displayable in
 the emulator, accessible through the device Settings application.</p>
 
 <h2 id="resolved-issues">Resolved Issues</h2>
diff --git a/docs/html/about/versions/android-1.5-highlights.jd b/docs/html/about/versions/android-1.5-highlights.jd
index dd4d218..e0bae48 100644
--- a/docs/html/about/versions/android-1.5-highlights.jd
+++ b/docs/html/about/versions/android-1.5-highlights.jd
@@ -7,7 +7,7 @@
 </p>
 
 
-<p>The Android 1.5 platform introduces many new features for users and developers. 
+<p>The Android 1.5 platform introduces many new features for users and developers.
 The list below provides an overview of the changes. </p>
 
 <ul>
@@ -65,7 +65,7 @@
   <ul>
      <li>Widgets
      <ul>
-       <li>Bundled home screen widgets include: analog clock, calendar, 
+       <li>Bundled home screen widgets include: analog clock, calendar,
            music player, picture frame, and search</li>
      </ul></li>
      <li>Live folders</li>
@@ -121,7 +121,7 @@
 <li>Google applications (not available in the Android 1.5 System Image that is
 included in the Android SDK)
   <ul>
-    <li>View Google Talk friends' status in Contacts, SMS, MMS, GMail, and 
+    <li>View Google Talk friends' status in Contacts, SMS, MMS, GMail, and
         Email applications</li>
     <li>Batch actions such as archive, delete, and label on Gmail messages</li>
     <li>Upload videos to Youtube</li>
@@ -165,7 +165,7 @@
   </ul>
 </li>
 
-<li>Input Method framework 
+<li>Input Method framework
    <ul>
     <li>{@link android.inputmethodservice.InputMethodService Input Method
         Service} framework</li>
diff --git a/docs/html/about/versions/android-1.5.jd b/docs/html/about/versions/android-1.5.jd
index 775561b..45a27ee 100644
--- a/docs/html/about/versions/android-1.5.jd
+++ b/docs/html/about/versions/android-1.5.jd
@@ -55,7 +55,7 @@
 <h2 id="features">Platform Highlights</h2>
 
 <p>For a list of new user features and platform highlights, see the <a
-href="http://developer.android.com/about/versions/android-{@sdkPlatformVersion}-highlights.html">Android 
+href="http://developer.android.com/about/versions/android-{@sdkPlatformVersion}-highlights.html">Android
 {@sdkPlatformVersion} Platform Highlights</a> document.</p>
 
 <h2 id="relnotes">Revisions</h2>
@@ -119,10 +119,10 @@
 
 <dt>Tools:</dt>
 <dd>
-<ul> 
+<ul>
 <li>Adds support for library projects in the Ant build system.</li>
 <li>Fixes test project build in the Ant build system.</li>
-</ul> 
+</ul>
 </dd>
 
 </dl>
@@ -256,8 +256,8 @@
 
 <h3 id="api-diff">API differences report</h3>
 
-<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 
-the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API 
+<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
+the previous version, see the <a href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
 Differences Report</a>.</p>
 
 
@@ -300,8 +300,8 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that are available in the Android {@sdkPlatformVersion} system 
-image are listed below (with <em>language</em>_<em>country/region</em> 
+languages that are available in the Android {@sdkPlatformVersion} system
+image are listed below (with <em>language</em>_<em>country/region</em>
 locale descriptor).</p>
 
 <table style="border:0;padding-bottom:0;margin-bottom:0;">
@@ -341,7 +341,7 @@
 </tr>
 </table>
 
-<p>Localized UI strings match the locales that are accessible 
+<p>Localized UI strings match the locales that are accessible
 through Settings.</p>
 
 <h2 id="skins">Emulator Skins</h2>
diff --git a/docs/html/about/versions/android-1.6-highlights.jd b/docs/html/about/versions/android-1.6-highlights.jd
index 88c0f55..9179579 100644
--- a/docs/html/about/versions/android-1.6-highlights.jd
+++ b/docs/html/about/versions/android-1.6-highlights.jd
@@ -28,13 +28,13 @@
 <object width="278" height="180">
 <param name="movie" value="http://www.youtube.com/v/MBRFkLKRwFw&hl=en&fs=1&"></param>
 <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
-<embed src="//www.youtube.com/v/MBRFkLKRwFw&hl=en&fs=1&" type="application/x-shockwave-flash" 
+<embed src="//www.youtube.com/v/MBRFkLKRwFw&hl=en&fs=1&" type="application/x-shockwave-flash"
 allowscriptaccess="always" allowfullscreen="true" width="278" height="180"></embed>
 </object>
 </div>
 
 
-<p>The Android 1.6 platform introduces new features for users and developers. 
+<p>The Android 1.6 platform introduces new features for users and developers.
 This page provides an overview of some new features and technologies.</p>
 
 <ul>
@@ -44,7 +44,7 @@
 </ul>
 
 
-    
+
 <h2 id="UserFeatures" style="clear:right">New User Features</h2>
 
 <!-- screenshots float right -->
@@ -53,7 +53,7 @@
 <img src="{@docRoot}sdk/images/search.png" class="screenshot" alt="" /><br/>
 Quick Search Box
 </div>
- 
+
 <div class="screenshot">
 <img src="{@docRoot}sdk/images/camera.png" class="screenshot" alt="" /><br/>
 New Camera/Camcorder UI
@@ -67,32 +67,32 @@
 
 <h3 id="QuickSearchBox">Quick Search Box for Android</h3>
 
-<p>Android 1.6  includes a redesigned search framework that provides a quick, 
-effective, and consistent way for users to search across multiple sources&mdash;such as 
-browser bookmarks &amp; history, contacts, and the web&mdash;directly from 
+<p>Android 1.6  includes a redesigned search framework that provides a quick,
+effective, and consistent way for users to search across multiple sources&mdash;such as
+browser bookmarks &amp; history, contacts, and the web&mdash;directly from
 the home screen.</p>
 
-<p>The system constantly learns which search results are more relevant based on what is 
-clicked. So popular contacts or apps that have previously been picked will bubble up to 
+<p>The system constantly learns which search results are more relevant based on what is
+clicked. So popular contacts or apps that have previously been picked will bubble up to
 the top when a user types the first few letters of a relevant query.</p>
 
-<p>The search framework also provides developers a way to easily expose relevant 
+<p>The search framework also provides developers a way to easily expose relevant
 content from their applications in Quick Search Box.</p>
 
 <h3 id="Camera">Camera, Camcorder, and Gallery</h3>
 
-<p>An updated user interface provides an integrated camera, camcorder, and gallery experience. 
-Users can quickly toggle between still and video capture modes. Additionally, the gallery 
+<p>An updated user interface provides an integrated camera, camcorder, and gallery experience.
+Users can quickly toggle between still and video capture modes. Additionally, the gallery
 enables users to select multiple photos for deletion.</p>
 
 <p>Android 1.6 also provides a much faster camera experience.
-Compared to the previous release, launching the camera is now 39% faster, 
+Compared to the previous release, launching the camera is now 39% faster,
 and there is a 28% improvement in the time from completing one shot to the next.</p>
 
 
 <h3 id="VPN">VPN, 802.1x</h3>
 
-<p>A new Virtual Private Network (VPN) control panel in Settings allows users 
+<p>A new Virtual Private Network (VPN) control panel in Settings allows users
 to configure and connect to the following types of VPNs:</p>
 
 <ul>
@@ -105,8 +105,8 @@
 
 <h3 id="Battery">Battery usage indicator</h3>
 
-<p>A new battery usage screen lets users see which apps and services are consuming 
-battery power. If the user determines that a particular service or application is 
+<p>A new battery usage screen lets users see which apps and services are consuming
+battery power. If the user determines that a particular service or application is
 using too much power, they can take action to save the battery by
 adjusting settings, stopping the application, or uninstalling the application.</p>
 
@@ -132,11 +132,11 @@
 <ul>
   <li>At the homescreen, users can choose among <em>Apps</em>, <em>Games</em>, and <em>Downloads</em>.</li>
   <li>Inside a category, users can explore titles that are <em>Top paid</em>, <em>Top free</em>, and <em>Just in</em>.</li>
-  <li>For each title, users can now see screenshots submitted by developers in addition to 
+  <li>For each title, users can now see screenshots submitted by developers in addition to
   reviews from other users.</li>
 </ul>
-    
-    
+
+
 
 
 <h2 id="PlatformTechnologies" style="clear:right">New Platform Technologies</h2>
@@ -145,44 +145,44 @@
 
 <p>The Android search framework has been redesigned and expanded to provide
 third-party applications the opportunity to surface
-content from their applications in Quick Search Box, the global search tool. 
-To do this, developers will need to make their app "searchable" and provide 
+content from their applications in Quick Search Box, the global search tool.
+To do this, developers will need to make their app "searchable" and provide
 suggestions in response to user queries.
-To enable application search suggestions, users simply select each application from which 
+To enable application search suggestions, users simply select each application from which
 they'd like to receive suggestions, under Searchable items in the Search settings.</p>
 
 
 <h3 id="TTS">Text-to-speech engine</h3>
 
-<p>Android 1.6 features a multi-lingual speech synthesis engine called Pico. 
-It allows any Android application to "speak" a string of text with an accent that matches the language. 
-The engine supports the following languages: English (American and British accents), French, 
-Italian, German and Spanish. If you're using a T-Mobile G1 or Dream device, you'll need to download the 
-SpeechSynthesis Data Installer from Google Play, which includes the "voices" needed by the 
+<p>Android 1.6 features a multi-lingual speech synthesis engine called Pico.
+It allows any Android application to "speak" a string of text with an accent that matches the language.
+The engine supports the following languages: English (American and British accents), French,
+Italian, German and Spanish. If you're using a T-Mobile G1 or Dream device, you'll need to download the
+SpeechSynthesis Data Installer from Google Play, which includes the "voices" needed by the
 text-to-speech engine.</p>
 
 
 <h3 id="Gestures">Gestures</h3>
 
-<p>A new gestures framework provides application developers with a framework for creating, storing, 
+<p>A new gestures framework provides application developers with a framework for creating, storing,
 loading, and recognizing gestures and associating them with specific actions.</p>
 
-<p>Developers can use the new GestureBuilder tool included in the Android 1.6 SDK to generate libraries 
+<p>Developers can use the new GestureBuilder tool included in the Android 1.6 SDK to generate libraries
 of gestures to include with their application.</p>
 
 
 <h3 id="A11y">Accessibility</h3>
 
-<p>Android 1.6 provides a new accessibility framework. 
-With this framework, developers can create accessibility plugins that respond to user input, 
-such as making a sound when a new window is shown, vibrating when navigating to the top of 
+<p>Android 1.6 provides a new accessibility framework.
+With this framework, developers can create accessibility plugins that respond to user input,
+such as making a sound when a new window is shown, vibrating when navigating to the top of
 a list, and providing spoken feedback.</p>
 
 
 <h3 id="Screens">Expanded support for screen densities and resolutions</h3>
 
-<p>Android 1.6 adds screen support that enables applications to be rendered properly on different 
-display resolutions and densities. Developers can also specify the types of screens supported by their 
+<p>Android 1.6 adds screen support that enables applications to be rendered properly on different
+display resolutions and densities. Developers can also specify the types of screens supported by their
 application.</p>
 
 
@@ -208,7 +208,7 @@
 
 <h3 id="DeveloperAPIs">New Framework APIs</h3>
 
-<p>For a detailed overview of new APIs, see the 
-<a href="{@docRoot}about/versions/android-1.6.html#api-changes">Version Notes</a>. 
-For a complete report of all API changes, see the 
+<p>For a detailed overview of new APIs, see the
+<a href="{@docRoot}about/versions/android-1.6.html#api-changes">Version Notes</a>.
+For a complete report of all API changes, see the
 <a href="{@docRoot}sdk/api_diff/4/changes.html">API Differences Report</a>.
diff --git a/docs/html/about/versions/android-2.0-highlights.jd b/docs/html/about/versions/android-2.0-highlights.jd
index c16088a..3f7e1c8 100644
--- a/docs/html/about/versions/android-2.0-highlights.jd
+++ b/docs/html/about/versions/android-2.0-highlights.jd
@@ -33,7 +33,7 @@
 <object width="278 height="180">
 <param name="movie" value="http://www.youtube.com/v/opZ69P-0Jbc&hl=en&fs=1&"></param>
 <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
-<embed src="//www.youtube.com/v/opZ69P-0Jbc&hl=en&fs=1&" type="application/x-shockwave-flash" 
+<embed src="//www.youtube.com/v/opZ69P-0Jbc&hl=en&fs=1&" type="application/x-shockwave-flash"
 allowscriptaccess="always" allowfullscreen="true" width="278" height="180"></embed>
 </object>
 </div>
@@ -49,7 +49,7 @@
 </ul>
 
 
-    
+
 <h2 id="UserFeatures" style="clear:right">New User Features</h2>
 
 <!-- screenshots float right -->
@@ -99,10 +99,10 @@
 
 <!--
 <ul>
-  <li>Sync support for contacts from multiple data sources including Exchange. 
-  Handset manufacturers can choose whether or not to include Exchange support 
+  <li>Sync support for contacts from multiple data sources including Exchange.
+  Handset manufacturers can choose whether or not to include Exchange support
   in their devices.</li>
-  <li>New way to hover on a person to see more info and select communication 
+  <li>New way to hover on a person to see more info and select communication
   mode (for example, phone, SMS, email).</li>
 </ul>
 -->
@@ -150,7 +150,7 @@
 <h3 id="Browser">Browser</h3>
 
 <ul>
-  <li>Refreshed UI with actionable browser URL bar enables users to directly 
+  <li>Refreshed UI with actionable browser URL bar enables users to directly
   tap the address bar for instant searches and navigation.</li>
   <li>Bookmarks with web page thumbnails.</li>
   <li>Support for double-tap zoom.</li>
@@ -192,10 +192,10 @@
 <h3 id="DeveloperAPIs">New Framework APIs</h3>
 
 <p>Android 2.0 includes several new developer APIs.
-For an overview of new APIs, see the 
+For an overview of new APIs, see the
 <a href="{@docRoot}about/versions/android-2.0.html#api">Android 2.0 version notes</a>.</p>
 
-<p>For a complete report of all API changes, see the 
+<p>For a complete report of all API changes, see the
 <a href="{@docRoot}sdk/api_diff/5/changes.html">API Differences Report</a>.</p>
 
 
diff --git a/docs/html/about/versions/android-2.0.1.jd b/docs/html/about/versions/android-2.0.1.jd
index 48f7ae8..b0f4db6 100644
--- a/docs/html/about/versions/android-2.0.1.jd
+++ b/docs/html/about/versions/android-2.0.1.jd
@@ -162,8 +162,8 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that are available in the Android {@sdkPlatformVersion} system 
-image are listed below (with <em>language</em>_<em>country/region</em> locale 
+languages that are available in the Android {@sdkPlatformVersion} system
+image are listed below (with <em>language</em>_<em>country/region</em> locale
 descriptor).</p>
 
 <table style="border:0;padding-bottom:0;margin-bottom:0;">
@@ -203,7 +203,7 @@
 </tr>
 </table>
 
-<p>Localized UI strings match the locales that are accessible 
+<p>Localized UI strings match the locales that are accessible
 through Settings.</p>
 
 <h2 id="skins">Emulator Skins</h2>
@@ -263,8 +263,8 @@
 system to correctly determine whether an application is compatible with
 the system, prior to installing the application. </p>
 
-<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
-set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
 element in your application's manifest. </p>
 
 <p>For more information about how to use API Level, see the <a
@@ -345,10 +345,10 @@
 
 <h3 id="api-diff">API differences report</h3>
 
-<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 
+<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
 API Level 5, see the <a
 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
-Differences Report</a>. There are very few API changes in API Level 6, 
+Differences Report</a>. There are very few API changes in API Level 6,
 so you might also be interested in reviewing the <a
 href="{@docRoot}sdk/api_diff/5/changes.html">API
 differences between 4 and 5</a>.</p>
diff --git a/docs/html/about/versions/android-2.0.jd b/docs/html/about/versions/android-2.0.jd
index 329af3c..0323686 100644
--- a/docs/html/about/versions/android-2.0.jd
+++ b/docs/html/about/versions/android-2.0.jd
@@ -50,7 +50,7 @@
 <h2 id="features">Platform Highlights</h2>
 
 <p>For a list of new user features and platform highlights, see the <a
-href="http://developer.android.com/about/versions/android-{@sdkPlatformVersion}-highlights.html">Android 
+href="http://developer.android.com/about/versions/android-{@sdkPlatformVersion}-highlights.html">Android
 {@sdkPlatformVersion} Platform Highlights</a> document.</p>
 
 <h2 id="relnotes">Revisions</h2>
@@ -151,8 +151,8 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that are available in the Android {@sdkPlatformVersion} system 
-image are listed below (with <em>language</em>_<em>country/region</em> locale 
+languages that are available in the Android {@sdkPlatformVersion} system
+image are listed below (with <em>language</em>_<em>country/region</em> locale
 descriptor).</p>
 
 <table style="border:0;padding-bottom:0;margin-bottom:0;">
@@ -192,7 +192,7 @@
 </tr>
 </table>
 
-<p>Localized UI strings match the locales that are accessible 
+<p>Localized UI strings match the locales that are accessible
 through Settings.</p>
 
 <h2 id="skins">Emulator Skins</h2>
@@ -242,14 +242,14 @@
 <h3 id="api-level">API level</h3>
 
 <p>The Android {@sdkPlatformVersion} platform delivers an updated version of the framework
-API. As with previous versions, the Android {@sdkPlatformVersion} API 
+API. As with previous versions, the Android {@sdkPlatformVersion} API
 is assigned an integer identifier &mdash; <strong>{@sdkPlatformApiLevel}</strong> &mdash; that is
 stored in the system itself. This identifier, called the "API Level", allows the
 system to correctly determine whether an application is compatible with
 the system, prior to installing the application. </p>
 
-<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
-set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+<p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code>
 element in your application's manifest. </p>
 
 <p>For more information about how to use API Level, see the <a
@@ -319,8 +319,8 @@
 <p>Android 2.0 is designed to run on devices that use virtual keys for HOME,
 MENU, BACK, and SEARCH, rather than physical keys. To support the best user
 experience on those devices, the Android platform now executes these buttons at
-key-up, for a key-down/key-up pair, rather than key-down. This helps prevent 
-accidental button events and lets the user press the button area and then drag 
+key-up, for a key-down/key-up pair, rather than key-down. This helps prevent
+accidental button events and lets the user press the button area and then drag
 out of it without generating an event. </p>
 
 <p>This change in behavior should only affect your application if it is
@@ -332,7 +332,7 @@
 however, if your application is doing so and it invokes some action on
 key-down, rather than key-up, you should modify your code. </p>
 
-<p>If your application will use APIs introduced in Android 2.0 (API Level 5), 
+<p>If your application will use APIs introduced in Android 2.0 (API Level 5),
 you can take advantage of new APIs for managing key-event pairs:</p>
 
 <ul>
@@ -363,16 +363,16 @@
 </ul>
 
 <p>If you want to update a legacy application so that its handling of the BACK
-key works properly for both Android 2.0 and older platform versions, you 
+key works properly for both Android 2.0 and older platform versions, you
 can use an approach similar to that shown above. Your code can catch the
-target button event on key-down, set a flag to track the key event, and 
-then also catch the event on key-up, executing the desired action if the tracking 
-flag is set. You'll also want to watch for focus changes and clear the tracking 
+target button event on key-down, set a flag to track the key event, and
+then also catch the event on key-up, executing the desired action if the tracking
+flag is set. You'll also want to watch for focus changes and clear the tracking
 flag when gaining/losing focus.</p>
 
 <h3 id="api-diff">API differences report</h3>
 
-<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to 
+<p>For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to
 the previous version, see the <a
 href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API Differences Report</a>.</p>
 
diff --git a/docs/html/about/versions/android-2.1.jd b/docs/html/about/versions/android-2.1.jd
index ce6f1b2..5f8f624 100644
--- a/docs/html/about/versions/android-2.1.jd
+++ b/docs/html/about/versions/android-2.1.jd
@@ -113,10 +113,10 @@
 
 <dt>Tools:</dt>
 <dd>
-<ul> 
+<ul>
 <li>Adds support for library projects in the Ant build system.</li>
 <li>Adds improved layout rendering in ADT’s visual layout editor.</li>
-</ul> 
+</ul>
 </dd>
 
 </dl>
diff --git a/docs/html/about/versions/android-2.3.3.jd b/docs/html/about/versions/android-2.3.3.jd
index eec0735..91f1d28 100644
--- a/docs/html/about/versions/android-2.3.3.jd
+++ b/docs/html/about/versions/android-2.3.3.jd
@@ -81,7 +81,7 @@
 <code>android.nfc.action.NDEF_DISCOVERED</code> and
 <code>android.nfc.action.TECH_DISCOVERED</code>.</p>
 
-<p>The NFC API is available in the {@link android.nfc} and 
+<p>The NFC API is available in the {@link android.nfc} and
 {@link android.nfc.tech} packages. The key classes are: </p>
 
 <ul>
@@ -89,7 +89,7 @@
 <li>{@link android.nfc.NdefMessage}, which represents an NDEF data message,
 the standard format in which "records" carrying data are transmitted between
 devices and tags. An NDEF message certain many NDEF records of different types.
-Applications can receive these messages from 
+Applications can receive these messages from
 {@link android.nfc.NfcAdapter#ACTION_NDEF_DISCOVERED NDEF_DISCOVERED},
 {@link android.nfc.NfcAdapter#ACTION_TECH_DISCOVERED TECH_DISCOVERED}, or
 {@link android.nfc.NfcAdapter#ACTION_TAG_DISCOVERED TAG_DISCOVERED} Intents.</li>
@@ -124,15 +124,15 @@
 <code>&lt;uses-feature android:name="android.hardware.nfc"
 android:required="true"&gt;</code> to the application's manifest.</p>
 
-<p class="note">For more information, read the 
+<p class="note">For more information, read the
   <a href="{@docRoot}guide/topics/connectivity/nfc/index.html">NFC</a> developer guide.</p>
 
 <h3 id="bluetooth">Bluetooth</h3>
 
 <p>Android 2.3.3 adds platform and API support for Bluetooth nonsecure socket
 connections. This lets applications communicate with simple devices that may not
-offer a UI for authentication. See 
-{@link android.bluetooth.BluetoothDevice#createInsecureRfcommSocketToServiceRecord(java.util.UUID)} and 
+offer a UI for authentication. See
+{@link android.bluetooth.BluetoothDevice#createInsecureRfcommSocketToServiceRecord(java.util.UUID)} and
 {@link android.bluetooth.BluetoothAdapter#listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)}
 for more information. </p>
 
@@ -183,7 +183,7 @@
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application,
 you need compile the application against the Android library that is provided in
-the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might 
+the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might
 also need to add an <code>android:minSdkVersion="{@sdkPlatformApiLevel}"</code>
 attribute to the <code>&lt;uses-sdk&gt;</code> element in the application's
 manifest. If your application is designed to run only on Android 2.3 and higher,
diff --git a/docs/html/about/versions/android-2.3.4.jd b/docs/html/about/versions/android-2.3.4.jd
index 963df9a..8705d1d 100644
--- a/docs/html/about/versions/android-2.3.4.jd
+++ b/docs/html/about/versions/android-2.3.4.jd
@@ -31,7 +31,7 @@
 
 <p>Android 2.3.4 ({@link android.os.Build.VERSION_CODES#GINGERBREAD_MR1})
 is a maintenance release that adds several bug fixes and patches
-to the Android 2.3 platform, without any API changes from Android 2.3.3. Additionally, 
+to the Android 2.3 platform, without any API changes from Android 2.3.3. Additionally,
 Android 2.3.4 brings support for the Open Accessory API to mobile devices,
 through the optional <a href="#usb">Open Accessory Library</a>. </p>
 
diff --git a/docs/html/about/versions/android-2.3.jd b/docs/html/about/versions/android-2.3.jd
index 34fdb52..bc54903 100644
--- a/docs/html/about/versions/android-2.3.jd
+++ b/docs/html/about/versions/android-2.3.jd
@@ -240,7 +240,7 @@
 <li>Applications can obtain an instance of the {@link android.app.DownloadManager}
 class by calling {@link
 android.content.Context#getSystemService(String)} and passing
-{@link android.content.Context#DOWNLOAD_SERVICE}. Applications that request 
+{@link android.content.Context#DOWNLOAD_SERVICE}. Applications that request
 downloads through this API should register a broadcast receiver for {@link
 android.app.DownloadManager#ACTION_NOTIFICATION_CLICKED}, to appropriately
 handle when the user clicks on a running download in a notification or from the
@@ -690,7 +690,7 @@
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application,
 you need compile the application against the Android library that is provided in
-the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might 
+the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might
 also need to add an <code>android:minSdkVersion="{@sdkPlatformApiLevel}"</code>
 attribute to the <code>&lt;uses-sdk&gt;</code> element in the application's
 manifest. If your application is designed to run only on Android 2.3 and higher,
diff --git a/docs/html/about/versions/android-3.0-highlights.jd b/docs/html/about/versions/android-3.0-highlights.jd
index 21dbda6..e9d2b39 100644
--- a/docs/html/about/versions/android-3.0-highlights.jd
+++ b/docs/html/about/versions/android-3.0-highlights.jd
@@ -40,7 +40,7 @@
 
 <p>Welcome to Android 3.0!</p>
 
-<p>The Android 3.0 platform introduces many new and exciting features for users and developers. 
+<p>The Android 3.0 platform introduces many new and exciting features for users and developers.
 This document provides a glimpse of some of the new features and technologies, as delivered in
 Android 3.0. For a more detailed look at new developer APIs, see the <a
 href="{@docRoot}about/versions/android-3.0.html">Android 3.0 Platform</a> document.</p>
@@ -61,7 +61,7 @@
 
 <p>Android 3.0 is a new version of the Android platform that is specifically optimized for devices with larger screen sizes, particularly tablets. It introduces a brand new, truly virtual and “holographic” UI design, as well as an elegant, content-focused interaction model.</p>
 
-<p>Android 3.0 builds on the things people love most about Android &mdash; refined multitasking, rich notifications, Home screen customization, widgets, and more &mdash; and transforms them with a vibrant, 3D experience and deeper interactivity, making them familiar but even better than before.</p> 
+<p>Android 3.0 builds on the things people love most about Android &mdash; refined multitasking, rich notifications, Home screen customization, widgets, and more &mdash; and transforms them with a vibrant, 3D experience and deeper interactivity, making them familiar but even better than before.</p>
 
 <p>The new UI brings fresh paradigms for interaction, navigation, and customization and makes them available to all applications &mdash; even those built for earlier versions of the platform. Applications written for Android 3.0 are able to use an extended set of UI objects, powerful graphics, and media capabilities to engage users in new ways.</p>
 
diff --git a/docs/html/about/versions/android-3.0.jd b/docs/html/about/versions/android-3.0.jd
index 5184743..3175d3c 100644
--- a/docs/html/about/versions/android-3.0.jd
+++ b/docs/html/about/versions/android-3.0.jd
@@ -392,7 +392,7 @@
 <h3>Extended UI framework</h3>
 
 <ul>
-  
+
   <li><b>Multiple-choice selection for ListView and GridView</b>
 
 <p>New {@link android.widget.AbsListView#CHOICE_MODE_MULTIPLE_MODAL} mode for {@link
@@ -419,9 +419,9 @@
 class in the API Demos sample application.</p>
   </li>
 
-  
+
   <li><b>New APIs to transform views</b>
-  
+
     <p>New APIs allow you to easily apply 2D and 3D transformations to views in your activity
 layout. New transformations are made possible with a set of object properties that define the view's
 layout position, orientation, transparency and more.</p>
@@ -452,7 +452,7 @@
 </pre>
   </li>
 
-  
+
   <li><b>New holographic themes</b>
 
     <p>The standard system widgets and overall look have been redesigned and incorporate a new
@@ -475,55 +475,55 @@
 version</a>.</p>
 
   </li>
-  
-  
+
+
   <li><b>New widgets</b>
 
     <ul>
     <li>{@link android.widget.AdapterViewAnimator}
     <p>Base class for an {@link android.widget.AdapterView} that performs animations when switching
     between its views.</p></li>
-    
+
     <li>{@link android.widget.AdapterViewFlipper}
     <p>Simple {@link android.widget.ViewAnimator} that animates between two or more views that have
     been added to it. Only one child is shown at a time. If requested, it can automatically flip
   between
     each child at a regular interval.</p></li>
-    
+
     <li>{@link android.widget.CalendarView}
     <p>Allows users to select dates from a calendar by touching the date and can scroll or fling the
 calendar to a desired date. You can configure the range of dates available in the widget.</p></li>
-    
+
     <li>{@link android.widget.ListPopupWindow}
     <p>Anchors itself to a host view and displays a list of choices, such as for a list of
     suggestions when typing into an {@link android.widget.EditText} view.</p></li>
-    
+
     <li>{@link android.widget.NumberPicker}
     <p>Enables the user to select a number from a predefined range. The widget presents an input
 field and up and down buttons for selecting a number. Touching the input field allows the user to
 scroll through values or touch again to directly edit the current value. It also allows you to map
 positions to strings, so that the corresponding string is displayed instead of the index
 position.</p></li>
-    
+
     <li>{@link android.widget.PopupMenu}
     <p>Displays a {@link android.view.Menu} in a modal popup window that's anchored to a view. The
 popup appears below the anchor view if there is room, or above it if there is not. If the IME (soft
 keyboard) is visible, the popup does not overlap the IME it until the user touches the
 menu.</p></li>
-    
+
     <li>{@link android.widget.SearchView}
     <p>Provides a search box that you can configure to deliver search queries to a specified
 activity and display search suggestions (in the same manner as the traditional search dialog). This
 widget is particularly useful for offering a search widget in the Action Bar. For more information,
 see <a href="{@docRoot}guide/topics/search/search-dialog.html">Creating a Search Interface.</p></li>
-    
+
     <li>{@link android.widget.StackView}
     <p>A view that displays its children in a 3D stack and allows users to swipe through
   views like a rolodex.</p></li>
-    
+
     </ul>
   </li>
-  
+
 </ul>
 
 
@@ -545,7 +545,7 @@
 
 
   <li><b>View support for hardware and software layers</b>
-  
+
     <p>By default, a {@link android.view.View} has no layer specified. You can specify that the
 view be backed by either a hardware or software layer, specified by values {@link
 android.view.View#LAYER_TYPE_HARDWARE} and {@link android.view.View#LAYER_TYPE_SOFTWARE}, using
@@ -563,7 +563,7 @@
     <p>For more information, see the {@link android.view.View#LAYER_TYPE_HARDWARE} and {@link
 android.view.View#LAYER_TYPE_SOFTWARE} documentation.</p>
   </li>
-  
+
 
   <li><b>Renderscript 3D graphics engine</b>
 
@@ -591,7 +591,7 @@
 should be captured.</p></li>
 
   <li><b>Texture support for image streams</b>
-    
+
 <p>New {@link android.graphics.SurfaceTexture} allows you to capture an image stream as an OpenGL ES
 texture. By calling {@link android.hardware.Camera#setPreviewTexture setPreviewTexture()} for your
 {@link android.hardware.Camera} instance, you can specify the {@link
@@ -599,7 +599,7 @@
 camera.</p></li>
 
   <li><b>HTTP Live streaming</b>
-    
+
 <p>Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live
 streaming session. The media framework supports most of the HTTP Live streaming specification,
 including adaptive bit rate. See the <a
@@ -607,7 +607,7 @@
 more information.</p></li>
 
   <li><b>EXIF data</b>
-    
+
 <p>The {@link android.media.ExifInterface} includes new fields for photo aperture, ISO, and exposure
 time.</p></li>
 
@@ -810,7 +810,7 @@
 events by calling {@code window.addEventListener} with event type {@code "deviceorientation"}
 and register for motion events by registering the {@code "devicemotion"} event type.</p>
   </li>
-  
+
   <li><b>CSS 3D Transforms</b>
     <p>As defined by the <a href="http://www.w3.org/TR/css3-3d-transforms/">CSS 3D Transform
 Module</a> specification, the Browser allows elements rendered by CSS to be transformed in three
@@ -967,7 +967,7 @@
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application,
 you need compile the application against the Android library that is provided in
-the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might 
+the Android {@sdkPlatformVersion} SDK platform. Depending on your needs, you might
 also need to add an <code>android:minSdkVersion="{@sdkPlatformApiLevel}"</code>
 attribute to the <code>&lt;uses-sdk&gt;</code> element in the application's
 manifest. If your application is designed to run only on Android 2.3 and higher,
diff --git a/docs/html/about/versions/android-3.1-highlights.jd b/docs/html/about/versions/android-3.1-highlights.jd
index 5283c2a..2a70698 100644
--- a/docs/html/about/versions/android-3.1-highlights.jd
+++ b/docs/html/about/versions/android-3.1-highlights.jd
@@ -93,7 +93,7 @@
 <p>The platform also adds new support for USB accessories &mdash; external
 hardware devices designed to attach to Android-powered devices as USB hosts. When an
 accessory is attached, the framework will look for a corresponding application
-and offer to launch it for the user.  The accessory can also present a URL 
+and offer to launch it for the user.  The accessory can also present a URL
 to the user, for downloading an appropriate application if one is not already
 installed.  Users can interact with the application to control powered accessories such
 as robotics controllers; docking stations; diagnostic and musical equipment;
@@ -215,7 +215,7 @@
 
 <div  style="padding-top:0em;">
 <div style="margin-right:1em;float:left;margin-left:0em;"><img src="{@docRoot}sdk/images/3.1/resizeable.png" alt="" width="170"  target="_android" style="margin-bottom:0;" />
-<div style="padding-left:1.4em;padding-bottom:1em;width:180px;font-size:.9em"><strong>Figure 
+<div style="padding-left:1.4em;padding-bottom:1em;width:180px;font-size:.9em"><strong>Figure
 4.</strong> Home screen widgets can now be resized.</div></div>
 
 <p><strong>Calendar</strong></p>
diff --git a/docs/html/about/versions/android-3.1.jd b/docs/html/about/versions/android-3.1.jd
index cdcf51e..e1486be 100644
--- a/docs/html/about/versions/android-3.1.jd
+++ b/docs/html/about/versions/android-3.1.jd
@@ -240,7 +240,7 @@
 android.view.MotionEvent#AXIS_HAT_Y}, {@link
 android.view.MotionEvent#AXIS_RTRIGGER}, {@link
 android.view.MotionEvent#AXIS_ORIENTATION}, {@link
-android.view.MotionEvent#AXIS_THROTTLE}, and many others. 
+android.view.MotionEvent#AXIS_THROTTLE}, and many others.
 Existing {@link android.view.MotionEvent} axes are represented by {@link
 android.view.MotionEvent#AXIS_X}, {@link android.view.MotionEvent#AXIS_Y},
 {@link android.view.MotionEvent#AXIS_PRESSURE}, {@link
@@ -299,7 +299,7 @@
 <p>Finally, since the motion events from joysticks, gamepads, mice, and
 trackballs are not touch events, the platform adds a new callback method for
 passing them to a {@link android.view.View} as "generic" motion events.
-Specifically, it reports the non-touch motion events to 
+Specifically, it reports the non-touch motion events to
 {@link android.view.View}s through a call to {@link
 android.view.View#onGenericMotionEvent(android.view.MotionEvent)
 onGenericMotionEvent()}, rather than to {@link
@@ -318,7 +318,7 @@
 
 <p class="note">To look at a sample application that uses joystick motion
 events, see <a
-href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.html">GameControllerInput</a> 
+href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.html">GameControllerInput</a>
 and <a
 href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameView.html">GameView</a>.</p>
 
diff --git a/docs/html/about/versions/android-3.2.jd b/docs/html/about/versions/android-3.2.jd
index 887755c..c6df7f5 100644
--- a/docs/html/about/versions/android-3.2.jd
+++ b/docs/html/about/versions/android-3.2.jd
@@ -132,7 +132,7 @@
 
 <ul>
 <li>New resource qualifiers for targeting layouts and other resources to a
-minimum smallestWidth, width, or height, and</li> 
+minimum smallestWidth, width, or height, and</li>
 <li>New manifest attributes, for specifying the app's maximum
 screen compatibility range</li>
 </ul>
@@ -201,7 +201,7 @@
 screen's smallestWidth is constant, regardless of orientation. Examples:
 <code>sw320dp</code>, <code>sw720dp</code>, <code>sw720dp</code>.</li>
 
-<li><code>wNNNdp</code> and <code>hNNNdp</code> &mdash; Specifies the minimum 
+<li><code>wNNNdp</code> and <code>hNNNdp</code> &mdash; Specifies the minimum
 width or height on which the resource should be used, measured in "dp" units. As
 mentioned above, a screen's width and height are relative to the orientation of
 the screen and change whenever the orientation changes. Examples:
@@ -214,7 +214,7 @@
 multiple resource configurations are qualified for a given screen, the system
 selects the configuration that is the closest match. For precise control over
 which resources are loaded on a given screen, you can tag resources with one
-qualifier or combine several new or existing qualifiers. 
+qualifier or combine several new or existing qualifiers.
 
 <p>Based on the typical dimensions listed earlier, here are some examples of how
 you could use the new qualifiers:</p>
diff --git a/docs/html/about/versions/android-4.0.3.jd b/docs/html/about/versions/android-4.0.3.jd
index 3be684d..bcfa35c 100644
--- a/docs/html/about/versions/android-4.0.3.jd
+++ b/docs/html/about/versions/android-4.0.3.jd
@@ -102,16 +102,16 @@
 <li>Adds the class {@link android.provider.CalendarContract.Colors} to represent
 a color table in the <a href="{@docRoot}guide/topics/providers/calendar-provider.html">Calendar
 Provider</a>. The class provides fields for accessing
-colors available for a given account. Colors are referenced by 
+colors available for a given account. Colors are referenced by
 {@link android.provider.CalendarContract.ColorsColumns#COLOR_KEY COLOR_KEY}
 which must be unique for a given account name/type. These values can only be
 updated by the sync adapter.</li>
 <li>Adds {@link android.provider.CalendarContract.CalendarColumns#ALLOWED_AVAILABILITY ALLOWED_AVAILABILITY}
-and 
+and
 {@link android.provider.CalendarContract.CalendarColumns#ALLOWED_ATTENDEE_TYPES ALLOWED_ATTENDEE_TYPES}
 for exchange/sync support.</li>
 <li>Adds {@link android.provider.CalendarContract.AttendeesColumns#TYPE_RESOURCE}
-(such as conference rooms) for attendees and 
+(such as conference rooms) for attendees and
 {@link android.provider.CalendarContract.EventsColumns#AVAILABILITY_TENTATIVE},
 as well as {@link android.provider.CalendarContract.EventsColumns#EVENT_COLOR_KEY}
 for events.</li>
@@ -123,7 +123,7 @@
 own padding. Instead, the system now automatically adds padding for each widget,
 based the characteristics of the current screen. This leads to a more uniform,
 consistent presentation of widgets in a grid. To assist applications that host
-home screen widgets, the platform provides a new method 
+home screen widgets, the platform provides a new method
 {@link android.appwidget.AppWidgetHostView#getDefaultPaddingForWidget(android.content.Context, android.content.ComponentName, android.graphics.Rect)
 getDefaultPaddingForWidget()}. Applications can call this method to get the
 system-defined padding and account for it when computing the number of cells to
@@ -136,7 +136,7 @@
 android.view.textservice.SpellCheckerSession#cancel() cancel()} method cancels
 any pending and running spell-checker tasks in a session.</li>
 
-<li>For spell-checker services, a new suggestions flag, 
+<li>For spell-checker services, a new suggestions flag,
 {@link android.view.textservice.SuggestionsInfo#RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS},
 lets the services distinguish higher-confidence suggestions from
 lower-confidence ones. For example, a spell-checker could set the flag if an
@@ -206,8 +206,8 @@
 allow apps to get and set the maximum scroll offset for an
 {@link android.view.accessibility.AccessibilityRecord} object.</li>
 
-<li>When touch-exploration mode is enabled, a new secure setting 
-{@link android.provider.Settings.Secure#ACCESSIBILITY_SPEAK_PASSWORD} 
+<li>When touch-exploration mode is enabled, a new secure setting
+{@link android.provider.Settings.Secure#ACCESSIBILITY_SPEAK_PASSWORD}
 indicates whether the user requests the IME to speak text entered in password fields, even when
 a headset is not in use. By default, no password text is spoken unless a headset
 is in use.</li>
diff --git a/docs/html/about/versions/android-4.0.jd b/docs/html/about/versions/android-4.0.jd
index 4318582..48afcd4 100644
--- a/docs/html/about/versions/android-4.0.jd
+++ b/docs/html/about/versions/android-4.0.jd
@@ -99,7 +99,7 @@
 <h4>User Profile</h4>
 
 <p>Android now includes a personal profile that represents the device owner, as defined by the
-{@link android.provider.ContactsContract.Profile} table.  Social apps that maintain a user identity 
+{@link android.provider.ContactsContract.Profile} table.  Social apps that maintain a user identity
 can contribute to the user's profile data by creating a new {@link
 android.provider.ContactsContract.RawContacts} entry within the {@link
 android.provider.ContactsContract.Profile}. That is, raw contacts that represent the device user do
@@ -210,7 +210,7 @@
 them when their related events are deleted.</li>
 </ul>
 
-<p>To access a user’s calendar data with the Calendar Provider, your application must request 
+<p>To access a user’s calendar data with the Calendar Provider, your application must request
 the {@link android.Manifest.permission#READ_CALENDAR} permission (for read access) and
 {@link android.Manifest.permission#WRITE_CALENDAR} (for write access).</p>
 
@@ -850,7 +850,7 @@
 event).</li>
 
 <li>From either {@link android.view.accessibility.AccessibilityEvent} or an individual {@link
-android.view.accessibility.AccessibilityRecord}, you can call {@link 
+android.view.accessibility.AccessibilityRecord}, you can call {@link
 android.view.accessibility.AccessibilityRecord#getSource() getSource()} to retrieve a {@link
 android.view.accessibility.AccessibilityNodeInfo} object.
   <p>An {@link android.view.accessibility.AccessibilityNodeInfo} represents a single node
diff --git a/docs/html/about/versions/android-4.1.jd b/docs/html/about/versions/android-4.1.jd
index 4131c36..4d7cb85 100644
--- a/docs/html/about/versions/android-4.1.jd
+++ b/docs/html/about/versions/android-4.1.jd
@@ -103,8 +103,8 @@
 
 
 <div class="sidebox-wrapper">
-<div class="sidebox">  
-  
+<div class="sidebox">
+
 <h3 id="ApiLevel">Declare your app API Level</h3>
 
 <p>To better optimize your app for devices running Android {@sdkPlatformVersion},
@@ -117,7 +117,7 @@
 can use APIs in Android {@sdkPlatformVersion} while also supporting older versions by adding
 conditions to your code that check for the system API level before executing
 APIs not supported by your <a
-href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>. 
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>.
 To learn more about
 maintaining backward-compatibility, read <a
 href="{@docRoot}training/backward-compatible-ui/index.html">Creating Backward-Compatible
@@ -148,15 +148,15 @@
 
 <h3 id="Isolated">Isolated services</h3>
 
-<p>By specifying <a href="{@docRoot}guide/topics/manifest/service-element.html#isolated">{@code android:isolatedProcess="true"}</a> in the 
+<p>By specifying <a href="{@docRoot}guide/topics/manifest/service-element.html#isolated">{@code android:isolatedProcess="true"}</a> in the
 <a href="{@docRoot}guide/topics/manifest/service-element.html">{@code <service>}</a> tag, your {@link android.app.Service} will run under
 its own isolated user ID process that has no permissions of its own.</p>
 
 
 <h3 id="Memory">Memory management</h3>
 
-<p>New {@link android.content.ComponentCallbacks2} constants such as {@link 
-android.content.ComponentCallbacks2#TRIM_MEMORY_RUNNING_LOW} and {@link 
+<p>New {@link android.content.ComponentCallbacks2} constants such as {@link
+android.content.ComponentCallbacks2#TRIM_MEMORY_RUNNING_LOW} and {@link
 android.content.ComponentCallbacks2#TRIM_MEMORY_RUNNING_CRITICAL} provide foreground
 processes more information about
 memory state before the system calls {@link android.app.Activity#onLowMemory()}.</p>
@@ -178,7 +178,7 @@
 <h3 id="LiveWallpapers">Live Wallpapers</h3>
 
 <p>New intent protocol to directly launch the live wallpaper preview activity so you can help
-  users easily select your live wallpaper without forcing them to leave 
+  users easily select your live wallpaper without forcing them to leave
 your app and navigate through the Home wallpaper picker.</p>
 
 <p>To launch the live wallpaper picker, call {@link android.content.Context#startActivity
@@ -207,7 +207,7 @@
 
 <p>This is particularly powerful for scenarios in which the user enters one of your app's activities
 through a "deep dive" intent such as from a notification or an intent from
-different app (as described in the design guide for <a 
+different app (as described in the design guide for <a
 href="{@docRoot}design/patterns/navigation.html#between-apps">Navigating Between Apps</a>). When
 the user enters your activity this way, your app may not naturally have a back stack of
 activities that can be resumed as the user navigates up. However, when you supply the <a
@@ -216,12 +216,12 @@
  whether or not your app already contains a back stack of parent activities and, if not, constructs
 a synthetic back stack that contains all parent activities.</p>
 
-<p class="note"><strong>Note:</strong> When the user enters a deep activity in your app and 
-  it creates a new task for your app, the system actually inserts the stack of parent activities 
+<p class="note"><strong>Note:</strong> When the user enters a deep activity in your app and
+  it creates a new task for your app, the system actually inserts the stack of parent activities
   into the task. As such, pressing the Back button also navigates back through the stack of parent
   activities.</p>
 
-<p>When the system creates a synthetic back stack for your app, it builds a basic {@link 
+<p>When the system creates a synthetic back stack for your app, it builds a basic {@link
   android.content.Intent} to create a new instance of each parent activity. So there's no
   saved state for the parent activities the way you'd expect had the user naturally navigated
 through
@@ -251,9 +251,9 @@
 the length of the array with {@link android.app.TaskStackBuilder#getIntentCount()} and pass that
 value to {@link android.app.TaskStackBuilder#editIntentAt editIntentAt()}.</p>
 
-<p>If your app structure is more complex, there are several other APIs 
+<p>If your app structure is more complex, there are several other APIs
   available that allow you to handle the behavior of Up navigation and
-  fully customize the synthetic back stack. Some of the APIs that give you additional 
+  fully customize the synthetic back stack. Some of the APIs that give you additional
   control include:</p>
 <dl>
   <dt>{@link android.app.Activity#onNavigateUp}</dt>
@@ -342,7 +342,7 @@
 <!--
 <h3 id="Routing">Media routing</h3>
 
-<p>The new {@link android.media.MediaRouter} class allows you to route media channels and 
+<p>The new {@link android.media.MediaRouter} class allows you to route media channels and
   streams from the current device to external speakers and other devices. You
 can acquire an instance of {@link android.media.MediaRouter} by calling {@link
 android.content.Context#getSystemService getSystemService(}{@link
@@ -354,7 +354,7 @@
 
 <p>New method {@link android.media.AudioRecord#startRecording startRecording()} allows
 you to begin audio recording based on a cue defined by a {@link android.media.MediaSyncEvent}.
-The {@link android.media.MediaSyncEvent} specifies an audio session 
+The {@link android.media.MediaSyncEvent} specifies an audio session
 (such as one defined by {@link android.media.MediaPlayer}), which when complete, triggers
 the audio recorder to begin recording. For example, you can use this functionality to
 play an audio tone that indicates the beginning of a recording session and recording
@@ -423,7 +423,7 @@
 for changes to the auto focus movement. You can register your interface with {@link
 android.hardware.Camera#setAutoFocusMoveCallback setAutoFocusMoveCallback()}. Then when the camera
 is in a continuous autofocus mode ({@link
-android.hardware.Camera.Parameters#FOCUS_MODE_CONTINUOUS_VIDEO} or 
+android.hardware.Camera.Parameters#FOCUS_MODE_CONTINUOUS_VIDEO} or
 {@link android.hardware.Camera.Parameters#FOCUS_MODE_CONTINUOUS_PICTURE}), you'll receive a call
 to {@link android.hardware.Camera.AutoFocusMoveCallback#onAutoFocusMoving onAutoFocusMoving()},
 which tells you whether auto focus has started moving or has stopped moving.</p>
@@ -434,7 +434,7 @@
 standard sounds made by the camera or other media actions. You should use these APIs to play
 the appropriate sound when building a custom still or video camera.</p>
 
-<p>To play a sound, simply instantiate a {@link android.media.MediaActionSound} object, call 
+<p>To play a sound, simply instantiate a {@link android.media.MediaActionSound} object, call
 {@link android.media.MediaActionSound#load load()} to pre-load the desired sound, then at the
 appropriate time, call {@link android.media.MediaActionSound#play play()}.</p>
 
@@ -483,7 +483,7 @@
 
 <p>To register your service, you must first create an {@link android.net.nsd.NsdServiceInfo}
   object and define the various properties of your service with methods such as
-  {@link android.net.nsd.NsdServiceInfo#setServiceName setServiceName()}, 
+  {@link android.net.nsd.NsdServiceInfo#setServiceName setServiceName()},
   {@link android.net.nsd.NsdServiceInfo#setServiceType setServiceType()}, and
   {@link android.net.nsd.NsdServiceInfo#setPort setPort()}.
 </p>
@@ -498,7 +498,7 @@
 
 <p>When your {@link
   android.net.nsd.NsdManager.DiscoveryListener} receives callbacks about services
-found, you need to resolve the service by calling 
+found, you need to resolve the service by calling
 {@link android.net.nsd.NsdManager#resolveService resolveService()}, passing it an
 implementation of {@link android.net.nsd.NsdManager.ResolveListener} that receives
 an {@link android.net.nsd.NsdServiceInfo} object that contains information about the
@@ -515,13 +515,13 @@
 network).</p>
 
 <p>To broadcast your app as a service over Wi-Fi so that other devices can discover
-  your app and connect to it, call {@link 
+  your app and connect to it, call {@link
   android.net.wifi.p2p.WifiP2pManager#addLocalService addLocalService()} with a
   {@link android.net.wifi.p2p.nsd.WifiP2pServiceInfo} object that describes your app services.</p>
 
 <p>To initiate discover of nearby devices over Wi-Fi, you need to first decide whether you'll
   communicate using Bonjour or Upnp. To use Bonjour, first set up some callback listeners with
-  {@link android.net.wifi.p2p.WifiP2pManager#setDnsSdResponseListeners setDnsSdResponseListeners()}, which takes both a {@link android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener} and {@link android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener}. To use Upnp, call 
+  {@link android.net.wifi.p2p.WifiP2pManager#setDnsSdResponseListeners setDnsSdResponseListeners()}, which takes both a {@link android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener} and {@link android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener}. To use Upnp, call
   {@link android.net.wifi.p2p.WifiP2pManager#setUpnpServiceResponseListener setUpnpServiceResponseListener()}, which takes a {@link android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener}.</p>
 
 <p>Before you can start discovering services on local devices, you also need to call {@link android.net.wifi.p2p.WifiP2pManager#addServiceRequest addServiceRequest()}. When the {@link android.net.wifi.p2p.WifiP2pManager.ActionListener} you pass to this method receives a
@@ -644,7 +644,7 @@
 <h3 id="ActivityOptions">Activity launch animations</h3>
 
 <p>You can now launch an {@link android.app.Activity} using zoom animations or
-your own custom animations. To specify the animation you want, use the {@link 
+your own custom animations. To specify the animation you want, use the {@link
 android.app.ActivityOptions} APIs to build a {@link android.os.Bundle} that you can
 then pass to any of the
 methods that start an activity, such as {@link
@@ -659,8 +659,8 @@
   Android 4.1 uses this when opening an app.</dd>
   <dt>{@link android.app.ActivityOptions#makeThumbnailScaleUpAnimation
     makeThumbnailScaleUpAnimation()}</dt>
-    <dd>Creates an animation that scales up the activity window starting from a specified 
-      position and a provided thumbnail image. For example, the Recent Apps window in 
+    <dd>Creates an animation that scales up the activity window starting from a specified
+      position and a provided thumbnail image. For example, the Recent Apps window in
       Android 4.1 uses this when returning to an app.</dd>
   <dt>{@link android.app.ActivityOptions#makeCustomAnimation
     makeCustomAnimation()}</dt>
@@ -672,7 +672,7 @@
 
 <h3 id="TimeAnimator">Time animator</h3>
 
-<p>The new {@link android.animation.TimeAnimator} provides a simple callback 
+<p>The new {@link android.animation.TimeAnimator} provides a simple callback
   mechanism with the {@link android.animation.TimeAnimator.TimeListener} that notifies
   you upon every frame of the animation. There is no duration, interpolation, or object value-setting with this Animator. The listener's callback receives information for each frame including
   total elapsed time and the elapsed time since the previous animation frame.</p>
@@ -692,7 +692,7 @@
 
 <p>The new method {@link android.app.Notification.Builder#setStyle setStyle()} allows you to specify
   one of three new styles for your notification that each offer a larger content region. To
-specify the style for your large content region, pass {@link 
+specify the style for your large content region, pass {@link
 android.app.Notification.Builder#setStyle setStyle()} one of the following objects:</p>
 <dl>
   <dt>{@link android.app.Notification.BigPictureStyle}</dt>
@@ -720,7 +720,7 @@
   order of your notification in the list by setting
 the priority with {@link android.app.Notification.Builder#setPriority setPriority()}. You
 can pass this one of five different priority levels defined by {@code PRIORITY_*} constants
-in the {@link android.app.Notification} class. The default is {@link 
+in the {@link android.app.Notification} class. The default is {@link
 android.app.Notification#PRIORITY_DEFAULT}, and there's two levels higher and two levels lower.</p>
 
 <p>High priority notifications are things that users generally want to respond to quickly,
@@ -738,17 +738,17 @@
 
 <dl>
   <dt>{@link android.view.View#SYSTEM_UI_FLAG_FULLSCREEN}</dt>
-    <dd>Hides non-critical system UI (such as the status bar). 
+    <dd>Hides non-critical system UI (such as the status bar).
       If your activity uses the action bar in overlay mode (by
       enabling <a href="{@docRoot}reference/android/R.attr.html#windowActionBarOverlay">{@code
       android:windowActionBarOverlay}</a>), then this flag also hides the action bar and does
       so with a coordinated animation when both hiding and showing the two.</dd>
-  
+
   <dt>{@link android.view.View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN}</dt>
     <dd>Sets your activity layout to use the same screen area that's available when you've
     enabled {@link android.view.View#SYSTEM_UI_FLAG_FULLSCREEN} even if the system UI elements
     are still visible. Although parts of your layout will be overlayed by the
-    system UI, this is useful if your app often hides and shows the system UI with 
+    system UI, this is useful if your app often hides and shows the system UI with
   {@link android.view.View#SYSTEM_UI_FLAG_FULLSCREEN}, because it avoids your layout from
   adjusting to the new layout bounds each time the system UI hides or appears.</dd>
 
@@ -779,7 +779,7 @@
 
 <h3 id="RemoteViews">Remote views</h3>
 
-<p>{@link android.widget.GridLayout} and {@link android.view.ViewStub} 
+<p>{@link android.widget.GridLayout} and {@link android.view.ViewStub}
   are now remotable views so you can use them in layouts for your
   app widgets and notification custom layouts.</p>
 
@@ -787,7 +787,7 @@
 
 <h3 id="Fonts">Font families</h3>
 
-<p>Android 4.1 adds several more variants of the Roboto font style for a total of 10 variants, 
+<p>Android 4.1 adds several more variants of the Roboto font style for a total of 10 variants,
   and they're all usable by apps. Your apps now have access to the full set of both light and
 condensed variants.</p>
 
@@ -820,14 +820,14 @@
 {@code "bold"} and {@code "italic"}. You can apply both like so: {@code
 android:textStyle="bold|italic"}.</p>
 
-<p>You can also use {@link android.graphics.Typeface#create Typeface.create()}. 
+<p>You can also use {@link android.graphics.Typeface#create Typeface.create()}.
   For example, {@code Typeface.create("sans-serif-light", Typeface.NORMAL)}.</p>
 
 
 
 
 
-    
+
 <h2 id="Input">Input Framework</h2>
 
 
@@ -864,7 +864,7 @@
 
 <dl>
   <dt>{@link android.Manifest.permission#READ_EXTERNAL_STORAGE}</dt>
-  <dd>Provides protected read access to external storage.  In Android 4.1 by 
+  <dd>Provides protected read access to external storage.  In Android 4.1 by
     default all applications still have read
 access.  This will be changed in a future release to require that applications explicitly request
 read access using this permission.  If your application already requests write access, it will
@@ -898,9 +898,9 @@
 &lt;/manifest&gt;
 </pre>
 
-<p>This feature defines "television" to be a typical living room television experience: 
-  displayed on a big screen, where the user is sitting far away and the dominant form of 
-  input is be something like a d-pad, and generally not through touch or a 
+<p>This feature defines "television" to be a typical living room television experience:
+  displayed on a big screen, where the user is sitting far away and the dominant form of
+  input is be something like a d-pad, and generally not through touch or a
   mouse/pointer-device.</p>
 
 
diff --git a/docs/html/about/versions/android-4.2.jd b/docs/html/about/versions/android-4.2.jd
index c26d4a2..34fa1d4 100755
--- a/docs/html/about/versions/android-4.2.jd
+++ b/docs/html/about/versions/android-4.2.jd
@@ -6,7 +6,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
 <h2>In this document</h2>
 <ol>
   <li><a href="#Behaviors">Important Behavior Changes</a></li>
@@ -46,8 +46,8 @@
 
 
 <div class="sidebox-wrapper">
-<div class="sidebox">  
-  
+<div class="sidebox">
+
 <h3 id="ApiLevel">Declare your app API Level</h3>
 
 <p>To better optimize your app for devices running Android {@sdkPlatformVersion},
@@ -60,7 +60,7 @@
 can use APIs in Android {@sdkPlatformVersion} while also supporting older versions by adding
 conditions to your code that check for the system API level before executing
 APIs not supported by your <a
-href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>. 
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>.
 To learn more about
 maintaining backward-compatibility, read <a
 href="{@docRoot}training/backward-compatible-ui/index.html">Creating Backward-Compatible
@@ -94,7 +94,7 @@
 android:minSdkVersion}</a> to 17 or higher. Otherwise, the default value is still {@code “true"}
 even when running on Android 4.2 and higher.</p>
   </li>
-  
+
   <li>Compared to previous versions of Android, <b>user location</b> results may be less accurate
 if your app requests the {@link android.Manifest.permission#ACCESS_COARSE_LOCATION} permission but
 does not request the {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission.
@@ -102,7 +102,7 @@
 coarse location (and not fine location), the system will not provide a user location estimate
 that’s more accurate than a city block.</p>
   </li>
-  
+
   <li>Some <b>device settings</b> defined by {@link android.provider.Settings.System} are now
   read-only. If your app attempts to write changes to settings defined in {@link
   android.provider.Settings.System} that have moved to {@link android.provider.Settings.Global},
@@ -410,7 +410,7 @@
 
 <ol>
   <li>Convert left- and right-oriented layout properties to start- and end-oriented layout
-properties.   
+properties.
     <p>For example, use {@link android.R.attr#layout_marginStart android:layout_marginStart}
 in place of {@code android:layout_marginLeft} and {@link android.R.attr#layout_marginEnd
 android:layout_marginEnd} in place of  {@code android:layout_marginRight}.
@@ -526,7 +526,7 @@
 scripts by calling {@link android.renderscript.ScriptGroup.Builder#addConnection addConnection()}.
 When you are done adding the connections, call {@link android.renderscript.ScriptGroup.Builder#create create()}
 to create the script group. Before executing the script group, specify the input
-{@link android.renderscript.Allocation} and initial script to run with the 
+{@link android.renderscript.Allocation} and initial script to run with the
 {@link android.renderscript.ScriptGroup#setInput} method and provide the output
 {@link android.renderscript.Allocation} where the result will be written to and final script to
 run with {@link android.renderscript.ScriptGroup#setOutput setOutput()}. Finally, call
diff --git a/docs/html/about/versions/android-4.4.jd b/docs/html/about/versions/android-4.4.jd
index b898fe3..cbc8e6e 100644
--- a/docs/html/about/versions/android-4.4.jd
+++ b/docs/html/about/versions/android-4.4.jd
@@ -318,7 +318,7 @@
 
 <h3 id="Ratings">Ratings from remote controllers</h3>
 
-<p>Android 4.4 builds upon the existing capabilities for remote control clients (apps that receive media control events with the {@link android.media.RemoteControlClient}) by adding the ability for users to rate the current track from the remote controller.</p> 
+<p>Android 4.4 builds upon the existing capabilities for remote control clients (apps that receive media control events with the {@link android.media.RemoteControlClient}) by adding the ability for users to rate the current track from the remote controller.</p>
 
 <p>The new {@link android.media.Rating} class encapsulates information about a user rating. A rating is defined by its rating style (either {@link android.media.Rating#RATING_HEART}, {@link android.media.Rating#RATING_THUMB_UP_DOWN}, {@link android.media.Rating#RATING_3_STARS}, {@link android.media.Rating#RATING_4_STARS}, {@link android.media.Rating#RATING_5_STARS} or {@link android.media.Rating#RATING_PERCENTAGE}) and the rating value that's appropriate for that style.</p>
 
diff --git a/docs/html/about/versions/jelly-bean.jd b/docs/html/about/versions/jelly-bean.jd
index 25f88e3..82cac2b 100644
--- a/docs/html/about/versions/jelly-bean.jd
+++ b/docs/html/about/versions/jelly-bean.jd
@@ -21,13 +21,13 @@
     link = $("#title-tabs a[href$="+sectionId+"]");
     link.parent().addClass("selected");
     link.parent().siblings().removeClass("selected");
-    
+
     sectionDiv = $(".version-section"+link.attr("href"));
     if (sectionDiv.length) {
       $(".version-section").hide();
       sectionDiv.show();
     }
-    
+
     $('html, body').animate({
          scrollTop: $(hashy).offset().top
      }, 100);
@@ -672,7 +672,7 @@
 <div style="float:left;margin:16px 24px 12px 0px;">
 <a href="" target="_android">
 <img src="{@docRoot}images/jb-nexus10-1.png" alt="10-inch tablet running Android 4.2" width="380" height="281" /></a>
-</div> 
+</div>
 
 <h2 id="42-ui" style="margin-top:2em;">Refined, refreshed UI</h2>
 
@@ -902,7 +902,7 @@
 appropriate.</p>
 
 <p>For precise control over your app UI, Android 4.2 includes new APIs that let
-you manage layout direction, text direction, text alignment, gravity, and 
+you manage layout direction, text direction, text alignment, gravity, and
 locale direction in View components. You can even create custom versions of
 layout, drawables, and other resources for display when a right-to-left script
 is in use.</p>
@@ -1005,7 +1005,7 @@
 <p>Filterscript is ideal for hardware-accelerating simple image-processing and
 computation operations such as those that might be written for OpenGL ES
 fragment shaders. Because it places a relaxed set of constraints on hardware,
-your operations are optimized and accelerated on more types of device chipsets. 
+your operations are optimized and accelerated on more types of device chipsets.
 Any app targeting API level 17 or higher can make use of Filterscript.</p>
 
 <h3 id="42-rs-intrinsics">Script intrinsics</h3>
@@ -1028,7 +1028,7 @@
 <div style="float:right;padding-top:1em;width:400px;margin-left:2em;">
 <img src="{@docRoot}images/jb-rs-chart-versions.png" alt="Renderscipt optimizations chart" width="360" height="252"
 style="border:1px solid #ddd;border-radius: 6px;" />
-<p style="image-caption">Renderscript image-processing 
+<p style="image-caption">Renderscript image-processing
 benchmarks run on different Android platform versions (Android 4.0, 4.1, and 4.2)
 in CPU only on a Galaxy Nexus device.</p>
 <img src="{@docRoot}images/jb-rs-chart-gpu.png" style="border:1px solid #ddd;border-radius: 6px; alt="" width="360" height="252" />
@@ -1143,7 +1143,7 @@
 certificates.  This protects against possible compromise of Certificate
 Authorities.</li>
 <li><strong>Improved display of Android permissions</strong> &mdash; Permissions
-have been organized into groups that are more easily understood by users. 
+have been organized into groups that are more easily understood by users.
 During review of the permissions, the user can click on the permission to see
 more detailed information about the permission.</li>
 <li><strong>installd hardening</strong> &mdash; The installd daemon does not run
@@ -1196,7 +1196,7 @@
 Android 4.2 introduces support for controllers based on the NCI standard from
 the NFC-Forum. NCI provides a standard communication protocol between an NFC
 Controller (NFCC) and a device Host, and the new NFC stack developed in
-collaboration between Google and Broadcom supports it.  
+collaboration between Google and Broadcom supports it.
 
 <h3 id="42-dalvik">Dalvik runtime optimizations</h3>
 
@@ -1248,7 +1248,7 @@
 </div>
 <p>Welcome to Android 4.1 the first version of Jelly Bean!</p>
 
-<p>Android 4.1 is the fastest and smoothest version of Android yet. We’ve made 
+<p>Android 4.1 is the fastest and smoothest version of Android yet. We’ve made
 improvements throughout the platform and added great new features
 for users and developers. This document provides a glimpse of what's new for developers.
 
@@ -1552,7 +1552,7 @@
 
 <h3 id="gps">Google Play services</h3>
 
-<p>Google Play services helps developers to <strong>integrate Google services</strong> such as authentication and Google+ into their apps delivered through Google Play.</p> 
+<p>Google Play services helps developers to <strong>integrate Google services</strong> such as authentication and Google+ into their apps delivered through Google Play.</p>
 
 <p>Google Play services is automatically provisioned to end user devices by Google Play, so all you need is a <strong>thin client library</strong> in your apps.</p>
 
diff --git a/docs/html/about/versions/kitkat.jd b/docs/html/about/versions/kitkat.jd
index 2987bd4..b73e70d 100644
--- a/docs/html/about/versions/kitkat.jd
+++ b/docs/html/about/versions/kitkat.jd
@@ -13,13 +13,13 @@
     link = $("#title-tabs a[href$="+sectionId+"]");
     link.parent().addClass("selected");
     link.parent().siblings().removeClass("selected");
-    
+
     sectionDiv = $(".version-section"+link.attr("href"));
     if (sectionDiv.length) {
       $(".version-section").hide();
       sectionDiv.show();
     }
-    
+
     $('html, body').animate({
          scrollTop: $(hashy).offset().top
      }, 100);
diff --git a/docs/html/auto/index.jd b/docs/html/auto/index.jd
index 5b67641..8680df0 100644
--- a/docs/html/auto/index.jd
+++ b/docs/html/auto/index.jd
@@ -568,7 +568,7 @@
                       width="120" height="120" class="img-logo" />
               </a>
             </div>
-           
+
             <div class="col-5">
               <a href="http://www.ramtrucks.com/">
                   <img src="{@docRoot}auto/images/logos/auto/ram.png"
@@ -590,7 +590,7 @@
                       width="120" height="120" class="img-logo" />
               </a>
             </div>
-           
+
             <div class="col-5">
               <a href="http://www.seat.com/">
                   <img src="{@docRoot}auto/images/logos/auto/seat.png"
@@ -604,7 +604,7 @@
                       width="120" height="120" class="img-logo" />
               </a>
             </div>
-            
+
             <div class="col-5">
               <a href="http://www.smotor.com/">
                   <img src="{@docRoot}auto/images/logos/auto/ssangyong.png"
@@ -626,7 +626,7 @@
                       width="120" height="120" class="img-logo" />
               </a>
             </div>
-            
+
             <div class="col-5">
               <a href="http://www.tatamotors.com/">
                   <img src="{@docRoot}auto/images/logos/auto/tata.png"
@@ -648,8 +648,8 @@
                       width="120" height="120" class="img-logo" />
               </a>
             </div>
-			
-			
+
+
             <div class="col-5">
               <a href="http://www.volvocars.com/intl">
                   <img src="{@docRoot}auto/images/logos/auto/volvo.png"
diff --git a/docs/html/design/index.jd b/docs/html/design/index.jd
index b4e909f..1a0c125 100644
--- a/docs/html/design/index.jd
+++ b/docs/html/design/index.jd
@@ -18,7 +18,7 @@
         <h1 class="dac-hero-title">Up and running with material design</h1>
         <p class="dac-hero-description">
         Android uses a new design metaphor inspired by paper and ink that provides a reassuring
-        sense of tactility. Visit the <a href="https://www.google.com/design/spec/material-design/introduction.html">material design</a> site for more resources. 
+        sense of tactility. Visit the <a href="https://www.google.com/design/spec/material-design/introduction.html">material design</a> site for more resources.
         </p>
         <a class="dac-hero-cta" href="https://www.google.com/design/spec/material-design/introduction.html">
           <span class="dac-sprite dac-auto-chevron"></span>
diff --git a/docs/html/design/patterns/help.jd b/docs/html/design/patterns/help.jd
index 6ef155a..b5ee05e 100644
--- a/docs/html/design/patterns/help.jd
+++ b/docs/html/design/patterns/help.jd
@@ -76,7 +76,7 @@
   </div>
   <div class="col-5">
     <img src="{@docRoot}design/media/help_evenbetter.png">
-  </div>  
+  </div>
 </div>
 
 <div class="cols">
diff --git a/docs/html/distribute/analyze/build-better-apps.jd b/docs/html/distribute/analyze/build-better-apps.jd
index 823562a..d0db392 100644
--- a/docs/html/distribute/analyze/build-better-apps.jd
+++ b/docs/html/distribute/analyze/build-better-apps.jd
@@ -108,7 +108,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/analyzebuild"
   data-sortorder="-timestamp"
   data-cardsizes="6x3"
diff --git a/docs/html/distribute/analyze/google-services.jd b/docs/html/distribute/analyze/google-services.jd
index 0d82c8a..44eed8e 100644
--- a/docs/html/distribute/analyze/google-services.jd
+++ b/docs/html/distribute/analyze/google-services.jd
@@ -109,7 +109,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/analyzeact"
   data-sortorder="-timestamp"
   data-cardsizes="6x3"
diff --git a/docs/html/distribute/analyze/improve-roi.jd b/docs/html/distribute/analyze/improve-roi.jd
index 6c05962..95c4db5 100644
--- a/docs/html/distribute/analyze/improve-roi.jd
+++ b/docs/html/distribute/analyze/improve-roi.jd
@@ -155,7 +155,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/analyzeimprove"
   data-sortorder="-timestamp"
   data-cardsizes="6x3"
diff --git a/docs/html/distribute/analyze/measure.jd b/docs/html/distribute/analyze/measure.jd
index 5b29e95..4cb9bde 100644
--- a/docs/html/distribute/analyze/measure.jd
+++ b/docs/html/distribute/analyze/measure.jd
@@ -82,7 +82,7 @@
 <li>Analyze how far shoppers get in the shopping funnel and where they drop
 off</li>
 <li>Understand which products are viewed most, which are frequently abandoned
-in cart, and which ones convert well</li> 
+in cart, and which ones convert well</li>
 <li>Upload rich product metadata to slice and dice your data</li>
 <li>Create rich user segments to delve deeper into your users’ shopping
 behavior and the products they interact with</li>
diff --git a/docs/html/distribute/analyze/start.jd b/docs/html/distribute/analyze/start.jd
index 0221f72..0a90b4f 100644
--- a/docs/html/distribute/analyze/start.jd
+++ b/docs/html/distribute/analyze/start.jd
@@ -36,7 +36,7 @@
 <li><a href="https://accounts.google.com/SignUp?continue=https%3A%2F%2Fwww.google.com%2Fanalytics%2Fmobile%2F&hl=en">Create
 your Google Analytics account</a>.</li>
 <li>Write down your tracking ID. </li>
-<li>Initialize Google Analytics in your app to start measuring activity immediately.</li> 
+<li>Initialize Google Analytics in your app to start measuring activity immediately.</li>
 </ul>
 
 <p>
@@ -97,7 +97,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/analyzestart"
   data-sortorder="-timestamp"
   data-cardsizes="6x3"
diff --git a/docs/html/distribute/analyze/understand-user-value.jd b/docs/html/distribute/analyze/understand-user-value.jd
index 99fd11a..6bc192d 100644
--- a/docs/html/distribute/analyze/understand-user-value.jd
+++ b/docs/html/distribute/analyze/understand-user-value.jd
@@ -45,7 +45,7 @@
 </p>
 
 
-<h2 id="audiencereporting">Know your users with Audience Reporting and Demographic 
+<h2 id="audiencereporting">Know your users with Audience Reporting and Demographic
 and Interest reports</h2>
 
 <p>
@@ -230,7 +230,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/analyzeunderstand"
   data-sortorder="-timestamp"
   data-cardsizes="6x3"
diff --git a/docs/html/distribute/engage/ads.jd b/docs/html/distribute/engage/ads.jd
index 10dbea6..8cfbdf2 100644
--- a/docs/html/distribute/engage/ads.jd
+++ b/docs/html/distribute/engage/ads.jd
@@ -54,7 +54,7 @@
 
 <h2 id="related_resources">Related resources</h2>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/engage/reengage"
   data-sortorder="-timestamp"
   data-cardsizes="9x3"
diff --git a/docs/html/distribute/engage/analytics.jd b/docs/html/distribute/engage/analytics.jd
index 5f7cade..0343def 100644
--- a/docs/html/distribute/engage/analytics.jd
+++ b/docs/html/distribute/engage/analytics.jd
@@ -42,7 +42,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/engage/analytics"
   data-sortorder="-timestamp"
   data-cardsizes="9x3"
diff --git a/docs/html/distribute/engage/deep-linking.jd b/docs/html/distribute/engage/deep-linking.jd
index 713bfbb..510fa5c 100644
--- a/docs/html/distribute/engage/deep-linking.jd
+++ b/docs/html/distribute/engage/deep-linking.jd
@@ -8,7 +8,7 @@
   Users who have your app installed might overlook it as a way to get the answers
   they need. With App Indexing, deep links to your Android app appear in Google Search
   results so users can get to your native mobile experience quickly, landing exactly
-  on the right content within the app. 
+  on the right content within the app.
 </p>
 
 <p>
diff --git a/docs/html/distribute/engage/gcm.jd b/docs/html/distribute/engage/gcm.jd
index 55bd40a..9fa9d5f 100644
--- a/docs/html/distribute/engage/gcm.jd
+++ b/docs/html/distribute/engage/gcm.jd
@@ -43,7 +43,7 @@
 
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/engage/gcm"
   data-sortorder="-timestamp"
   data-cardsizes="9x3"
diff --git a/docs/html/distribute/engage/intents.jd b/docs/html/distribute/engage/intents.jd
index 07791e8..33ed125 100644
--- a/docs/html/distribute/engage/intents.jd
+++ b/docs/html/distribute/engage/intents.jd
@@ -1,5 +1,5 @@
 page.title=Increase Usage with Android Intents
-page.metaDescription=Use Android Intents to make your app available to users as they perform tasks in other apps. 
+page.metaDescription=Use Android Intents to make your app available to users as they perform tasks in other apps.
 page.tags="engagement, intents"
 @jd:body
 
diff --git a/docs/html/distribute/engage/notifications.jd b/docs/html/distribute/engage/notifications.jd
index 1aa0637..c38f649 100644
--- a/docs/html/distribute/engage/notifications.jd
+++ b/docs/html/distribute/engage/notifications.jd
@@ -51,7 +51,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/getusers/notifications"
   data-sortorder="-timestamp"
   data-cardsizes="9x3"
diff --git a/docs/html/distribute/engage/video.jd b/docs/html/distribute/engage/video.jd
index c5a4997..cf06ce0 100644
--- a/docs/html/distribute/engage/video.jd
+++ b/docs/html/distribute/engage/video.jd
@@ -1,5 +1,5 @@
 page.title=Delight Users with Videos
-page.metaDescription=Videos are one of the most effective ways to get users excited about your apps. 
+page.metaDescription=Videos are one of the most effective ways to get users excited about your apps.
 page.tags="engagement"
 page.image=/images/gp-engage-smule.jpg
 
diff --git a/docs/html/distribute/engage/widgets.jd b/docs/html/distribute/engage/widgets.jd
index 6adb55c..a6623ba 100644
--- a/docs/html/distribute/engage/widgets.jd
+++ b/docs/html/distribute/engage/widgets.jd
@@ -37,7 +37,7 @@
   </h2>
 </div>
 
-<div class="resource-widget resource-flow-layout col-13" 
+<div class="resource-widget resource-flow-layout col-13"
   data-query="collection:distribute/engage/widgets"
   data-sortorder="-timestamp"
   data-cardsizes="9x3"
diff --git a/docs/html/distribute/essentials/optimizing-your-app.jd b/docs/html/distribute/essentials/optimizing-your-app.jd
index 696ef53..09c52d4 100644
--- a/docs/html/distribute/essentials/optimizing-your-app.jd
+++ b/docs/html/distribute/essentials/optimizing-your-app.jd
@@ -4,7 +4,7 @@
 
 @jd:body
 
-<div id="qv-wrapper">           
+<div id="qv-wrapper">
   <div id="qv">
     <h2>Strategies</h2>
     <ol>
diff --git a/docs/html/distribute/essentials/quality/billions.jd b/docs/html/distribute/essentials/quality/billions.jd
index 7042143..2e14b37 100644
--- a/docs/html/distribute/essentials/quality/billions.jd
+++ b/docs/html/distribute/essentials/quality/billions.jd
@@ -1,5 +1,5 @@
 page.title=Building for Billions
-page.metaDescription=Best practices on how to optimize Android apps for low- and no-bandwidth and low-cost devices. 
+page.metaDescription=Best practices on how to optimize Android apps for low- and no-bandwidth and low-cost devices.
 page.image=/distribute/images/billions-guidelines.png
 
 @jd:body
@@ -18,7 +18,7 @@
   <li><a href="#compatibility">Backward compatibility</a></li>
   <li><a href="#memory">Efficient memory usage</a></li>
  </ol>
-  
+
 <h2><a href="#cost">Data Cost</a></h2>
  <ol>
   <li><a href="#appsize">Reduce app size</a></li>
@@ -42,14 +42,14 @@
 
 <!-- intro -->
 <p>Internet use—and smartphone penetration—is growing fastest in markets with
- low, intermittent, or expensive connectivity. Successful apps in these 
- markets need to perform across a variety of speeds and devices, as well as 
+ low, intermittent, or expensive connectivity. Successful apps in these
+ markets need to perform across a variety of speeds and devices, as well as
  conserve and share information about battery and data consumption.</p>
 
 <p>To help you address these important considerations, we’ve compiled the
- following checklist. These do not follow a particular order, and as 
- always it's a good idea to research particularities of any market or country 
- you're targeting. 
+ following checklist. These do not follow a particular order, and as
+ always it's a good idea to research particularities of any market or country
+ you're targeting.
 </p>
 
 <!-- connectivity -->
@@ -67,40 +67,40 @@
 <h4 id="images-format">Serve WebP images</h4>
  <ul>
   <li>Serve <a
-   href="https://developers.google.com/speed/webp/">WebP</a> files over the 
-   network. WebP reduces image load times, saves network bandwidth, and often 
-   results in smaller file sizes than its PNG and JPG counterparts, with at 
-   least the same image quality. Even at lossy settings, WebP can produce a 
-   nearly identical image. Android has had lossy <a 
-   href="{@docRoot}guide/appendix/media-formats.html">WebP support</a> since 
-   Android 4.0 (API level 14: Ice Cream Sandwich) and support for lossless / 
+   href="https://developers.google.com/speed/webp/">WebP</a> files over the
+   network. WebP reduces image load times, saves network bandwidth, and often
+   results in smaller file sizes than its PNG and JPG counterparts, with at
+   least the same image quality. Even at lossy settings, WebP can produce a
+   nearly identical image. Android has had lossy <a
+   href="{@docRoot}guide/appendix/media-formats.html">WebP support</a> since
+   Android 4.0 (API level 14: Ice Cream Sandwich) and support for lossless /
    transparent WebP since Android 4.2 (API level 17: Jelly Bean).</li>
  </ul>
 <h4 id="images-sizing">Dynamic image sizing</h4>
  <ul>
   <li>Have your apps request images at the targeted rendering size, and have
-   your server provide those images to fit; the target rendering size will 
-   vary based on device specifications. Doing this minimizes the network 
-   overhead and reduces the amount of memory needed to hold each image, 
+   your server provide those images to fit; the target rendering size will
+   vary based on device specifications. Doing this minimizes the network
+   overhead and reduces the amount of memory needed to hold each image,
    resulting in improved performance and user satisfaction.</li>
   <li>Your user experience degrades when users are waiting for images to
-   download. Using appropriate image sizes helps to address these issues. 
-   Consider making image size requests based on network type or network 
+   download. Using appropriate image sizes helps to address these issues.
+   Consider making image size requests based on network type or network
    quality; this size could be smaller than the target rendering size.</li>
   <li>Dynamic placeholders like <a
    href="{@docRoot}reference/android/support/v7/graphics/Palette.html">
-   pre-computed palette values</a> or low-resolution thumbnails can improve 
+   pre-computed palette values</a> or low-resolution thumbnails can improve
    the user experience while the image is being fetched.</li>
  </ul>
 <h4 id="images-libraries">Use image loading libraries</h4>
  <ul>
   <li>Your app should not have to fetch any image more than once. Image
-   loading libraries such as <a class="external-link" 
-   href="https://github.com/bumptech/glide">Glide</a> and  <a 
-   class="external-link" href="http://square.github.io/picasso/">Picasso</a> 
-   fetch the image, cache it, and provide hooks into your Views to show 
-   placeholder images until the actual images are ready. Because images are 
-   cached, these libraries return the local copy the next time they are 
+   loading libraries such as <a class="external-link"
+   href="https://github.com/bumptech/glide">Glide</a> and  <a
+   class="external-link" href="http://square.github.io/picasso/">Picasso</a>
+   fetch the image, cache it, and provide hooks into your Views to show
+   placeholder images until the actual images are ready. Because images are
+   cached, these libraries return the local copy the next time they are
    requested.</li>
   <li>Image-loading libraries manage their cache, holding onto the most recent
    images so that your app storage doesn’t grow indefinitely.</li>
@@ -110,59 +110,59 @@
 <h4 id="network-offline">Make your app usable offline</h4>
  <ul>
   <li>In places like subways, planes, elevators, and parking garages, it is
-   common for devices to lose network connectivity. Creating a useful offline 
-   state results in users being able to interact with the app at all times, by 
-   presenting cached information. Ensure that your app is usable offline or 
-   when network connectivity is poor by storing data locally, caching data, 
+   common for devices to lose network connectivity. Creating a useful offline
+   state results in users being able to interact with the app at all times, by
+   presenting cached information. Ensure that your app is usable offline or
+   when network connectivity is poor by storing data locally, caching data,
    and queuing outbound requests for when connectivity is restored.</li>
   <li>Where possible, apps should not notify users that connectivity has
-   been lost. It is only when the user performs an operation where connectivity 
+   been lost. It is only when the user performs an operation where connectivity
    is essential that the user needs to be notified.</li>
   <li>When a device lacks connectivity, your app should batch up network
-   requests&mdash;on behalf of the user&mdash;that can be executed when 
-   connectivity is restored. An example of this is an email client that allows 
-   users to compose, send, read, move, and delete existing mails even when the 
-   device is offline. These operations can be cached and executed when 
-   connectivity is restored. In doing so, the app is able to provide a similar 
+   requests&mdash;on behalf of the user&mdash;that can be executed when
+   connectivity is restored. An example of this is an email client that allows
+   users to compose, send, read, move, and delete existing mails even when the
+   device is offline. These operations can be cached and executed when
+   connectivity is restored. In doing so, the app is able to provide a similar
    user experience whether the device is online or offline.</li>
  </ul>
 <h4 id="network-arch">Use GcmNetworkManager and/or Content Providers</h4>
  <ul>
   <li>Ensure that your app stores all data on disk via a database or similar
-   structure so that it performs optimally regardless of network conditions 
-   (for example, via SQLite + ContentProvider). The <a 
+   structure so that it performs optimally regardless of network conditions
+   (for example, via SQLite + ContentProvider). The <a
    href="https://developers.google.com/cloud-messaging/network-manager">
-   GCM Network Manager</a> 
+   GCM Network Manager</a>
    (<a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-   <code>GcmNetworkManager</code></a>) can result in a robust mechanism to 
-   sync data with servers while <a 
-   href="{@docRoot}guide/topics/providers/content-providers.html">content 
-   providers</a> ({@link android.content.ContentProvider}) cache that data, 
+   <code>GcmNetworkManager</code></a>) can result in a robust mechanism to
+   sync data with servers while <a
+   href="{@docRoot}guide/topics/providers/content-providers.html">content
+   providers</a> ({@link android.content.ContentProvider}) cache that data,
    combining to provide an architecture that enables a useful offline state.</li>
   <li>Apps should cache content that is fetched from the network. Before making
-   subsequent requests, apps should display locally cached data. This ensures 
-   that the app is functional regardless of whether the device is offline or 
+   subsequent requests, apps should display locally cached data. This ensures
+   that the app is functional regardless of whether the device is offline or
    on a slow/unreliable network.</li>
  </ul>
 <h4 id="network-duplicate">Deduplicate network requests</h4>
  <ul>
   <li>An offline-first architecture initially tries to fetch data from local
-   storage and, failing that, requests the data from the network. After being 
-   retrieved from the network, the data is cached locally for future 
-   retrieval. This helps to ensure that network requests for the same piece of 
-   data only occur once—the rest of the requests are satisfied locally. To 
-   achieve this, use a local database for long-lived data (usually 
-   {@link android.database.sqlite} or 
+   storage and, failing that, requests the data from the network. After being
+   retrieved from the network, the data is cached locally for future
+   retrieval. This helps to ensure that network requests for the same piece of
+   data only occur once—the rest of the requests are satisfied locally. To
+   achieve this, use a local database for long-lived data (usually
+   {@link android.database.sqlite} or
    {@link android.content.SharedPreferences}).</li>
   <li>An offline-first architecture always looks for data locally first, then
-   makes the request over the network. The response is cached and then returned 
-   locally. Such an architecture simplifies an app’s flow between offline and 
-   online states as one side fetches from the network to the cache, while the 
+   makes the request over the network. The response is cached and then returned
+   locally. Such an architecture simplifies an app’s flow between offline and
+   online states as one side fetches from the network to the cache, while the
    other retrieves data from the cache to present to the user.</li>
   <li>For transitory data, use a bounded disk cache such as a <a class="external-link"
    href="https://github.com/JakeWharton/DiskLruCache"><code>DiskLruCache</code>
-   </a>. Data that doesn’t typically change should only be requested once over 
-   the network and cached for future use. Examples of such data are images and 
+   </a>. Data that doesn’t typically change should only be requested once over
+   the network and cached for future use. Examples of such data are images and
    non-temporal documents like news articles or social posts.</li>
  </ul>
 
@@ -170,29 +170,29 @@
 <h4 id="transfer-prioritize">Prioritize bandwidth</h4>
  <ul>
   <li>Writers of apps should not assume that any network that the device is
-   connected to is long-lasting or reliable. For this reason, apps should 
-   prioritize network requests to display the most useful information to the 
+   connected to is long-lasting or reliable. For this reason, apps should
+   prioritize network requests to display the most useful information to the
    user as soon as possible.</li>
   <li>Presenting users with visible and relevant information immediately is a
-   better user experience than making them wait for information that might not 
-   be necessary. This reduces the time that the user has to wait and 
+   better user experience than making them wait for information that might not
+   be necessary. This reduces the time that the user has to wait and
    increases the usefulness of the app on slow networks.</li>
   <li>To achieve this, sequence your network requests such that text is
-   fetched before rich media. Text requests tend to be smaller, compress 
-   better, and hence transfer faster, meaning that your app can display useful 
-   content quickly. For more information on managing network requests, visit 
-   the Android training on <a 
-   href="{@docRoot}training/basics/network-ops/managing.html">Managing Network 
+   fetched before rich media. Text requests tend to be smaller, compress
+   better, and hence transfer faster, meaning that your app can display useful
+   content quickly. For more information on managing network requests, visit
+   the Android training on <a
+   href="{@docRoot}training/basics/network-ops/managing.html">Managing Network
    Usage</a>.</li>
  </ul>
 <h4 id="network-bandwidth">Use less bandwidth on slower connections</h4>
  <ul>
   <li>The ability for your app to transfer data in a timely fashion is
-   dependent on the network connection. Detecting the quality of the network 
-   and adjusting the way your app uses it can help provide an excellent user 
+   dependent on the network connection. Detecting the quality of the network
+   and adjusting the way your app uses it can help provide an excellent user
    experience.</li>
   <li>You can use the following methods to detect the underlying network
-   quality. Using the data from these methods, your app should tailor its use 
+   quality. Using the data from these methods, your app should tailor its use
    of the network to continue to provide a timely response to user actions:
     <ul>
      <li>{@link android.net.ConnectivityManager}>
@@ -206,27 +206,27 @@
     </ul>
   </li>
   <li>On slower connections, consider downloading only lower-resolution media
-   or perhaps none at all. This ensures that your users are still able to use 
-   the app on slow connections. Where you don’t have an image or the image is 
-   still loading, you should always show a placeholder. You can create a 
-   dynamic placeholder by using the <a 
+   or perhaps none at all. This ensures that your users are still able to use
+   the app on slow connections. Where you don’t have an image or the image is
+   still loading, you should always show a placeholder. You can create a
+   dynamic placeholder by using the <a
    href="{@docRoot}tools/support-library/features.html#v7-palette">
-   Palette library</a> to generate placeholder colors that match the target 
+   Palette library</a> to generate placeholder colors that match the target
    image.</li>
   <li>Prioritize network requests such that text is fetched before rich media.
-   Text requests tend to be smaller, compress better, and hence transfer 
-   faster, meaning that your app can display useful content quickly. For more 
-   information on adjusting bandwidth based on network connection, see the 
-   Android training on <a 
-   href="{@docRoot}training/basics/network-ops/managing.html">Managing Network 
+   Text requests tend to be smaller, compress better, and hence transfer
+   faster, meaning that your app can display useful content quickly. For more
+   information on adjusting bandwidth based on network connection, see the
+   Android training on <a
+   href="{@docRoot}training/basics/network-ops/managing.html">Managing Network
    Usage</a>.</li>
  </ul>
 <h4 id="network-behavior">Detect network changes, then change app behavior</h4>
  <ul>
   <li>Network quality is not static; it changes based on location, network
-   traffic, and local population density. Apps should detect changes in 
-   network and adjust bandwidth accordingly. By doing so, your app can tailor 
-   the user experience to the network quality. Detect network state using 
+   traffic, and local population density. Apps should detect changes in
+   network and adjust bandwidth accordingly. By doing so, your app can tailor
+   the user experience to the network quality. Detect network state using
    these methods:
     <ul>
      <li>{@link android.net.ConnectivityManager}>
@@ -238,26 +238,26 @@
     </ul>
   </li>
   <li>As the network quality degrades, scale down the number and size of
-   requests. As the connection quality improves, you can scale up your 
+   requests. As the connection quality improves, you can scale up your
    requests to optimal levels.</li>
   <li>On higher quality, unmetered networks, consider <a
    href="{@docRoot}training/efficient-downloads/efficient-network-access.html#PrefetchData">
-   prefetching data</a> to make it available ahead of time. From a user 
-   experience standpoint, this might mean that news reader apps only fetch 
-   three articles at a time on 2G but fetch twenty articles at a time on 
-   Wi-Fi. For more information on adjusting app behavior based on network changes, 
-   visit the Android training on <a 
+   prefetching data</a> to make it available ahead of time. From a user
+   experience standpoint, this might mean that news reader apps only fetch
+   three articles at a time on 2G but fetch twenty articles at a time on
+   Wi-Fi. For more information on adjusting app behavior based on network changes,
+   visit the Android training on <a
    href="{@docRoot}training/monitoring-device-state/connectivity-monitoring.html">
    Monitoring the Connectivity Status</a>.</li>
   <li>The broadcast <a
    href="{@docRoot}reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION">
-   <code>CONNECTIVITY_CHANGE</code></a> is sent when a change in network 
-   connectivity occurs. When your app is in the foreground, you can call <a 
+   <code>CONNECTIVITY_CHANGE</code></a> is sent when a change in network
+   connectivity occurs. When your app is in the foreground, you can call <a
    href="{@docRoot}reference/android/content/Context.html#registerReceiver(android.content.BroadcastReceiver,%20android.content.IntentFilter)">
-   <code>registerReceiver</code></a> to receive this broadcast. After receiving 
-   the broadcast, you should reevaluate the current network state and adjust 
-   your UI and network usage appropriately. You should not declare this receiver 
-   in your manifest, as it will no longer function beginning with Android N. 
+   <code>registerReceiver</code></a> to receive this broadcast. After receiving
+   the broadcast, you should reevaluate the current network state and adjust
+   your UI and network usage appropriately. You should not declare this receiver
+   in your manifest, as it will no longer function beginning with Android N.
    For more details see <a href="{@docRoot}preview/behavior-changes.html">
    Android N behavior changes</a>.</li>
  </ul>
@@ -274,55 +274,55 @@
   <h2 id="capability">Device Capability</h2>
 </div>
 <p>Reaching new users means supporting an increasing variety of Android
- platform versions and device specifications. Optimize for common RAM and 
+ platform versions and device specifications. Optimize for common RAM and
  screen sizes and resolutions to improve the user experience. </p>
 
 <h3 id="screens">Support varying screen sizes</h3>
 <h4 id="screens-dp">Use density-independent pixels (dp)</h4>
  <ul>
   <li>Defining layout dimensions with pixels is a problem because different
-   screens have different pixel densities, so the same number of pixels may 
-   correspond to different physical sizes on different devices. The 
-   density-independent pixel (dp) corresponds to the physical size of a pixel 
+   screens have different pixel densities, so the same number of pixels may
+   correspond to different physical sizes on different devices. The
+   density-independent pixel (dp) corresponds to the physical size of a pixel
    at 160 dots per inch (mdpi density).</li>
   <li>Defining layouts with dp ensures that the physical size of your user
-   interface is consistent regardless of device. Visit the Android 
-   guide on <a 
+   interface is consistent regardless of device. Visit the Android
+   guide on <a
    href="https://developer.android.com/guide/practices/screens_support.html">
-   Supporting Multiple Screens</a> for best practices using 
+   Supporting Multiple Screens</a> for best practices using
    density-independent pixels.</li>
  </ul>
 <h4 id="screens-density">Test graphics on ldpi/mdpi screen densities</h4>
  <ul>
   <li>Ensure that your app layouts work well on low- and medium-density
-   (ldpi/mdpi) screens because these are <a 
+   (ldpi/mdpi) screens because these are <a
    href="https://developer.android.com/about/dashboards/index.html#Screens">
-   common densities</a>, especially in lower-cost devices. Testing on 
-   lower-density screens helps to validate that your layouts are legible on 
+   common densities</a>, especially in lower-cost devices. Testing on
+   lower-density screens helps to validate that your layouts are legible on
    lower-density screens.</li>
   <li>Lower-density screens can result in unclear text where the finer details
-   aren't visible. The Material Design guidelines describe <a 
+   aren't visible. The Material Design guidelines describe <a
    class="external-link" href="https://www.google.com/design/spec/layout/metrics-keylines.html">
-   metrics and keylines</a> to ensure that your layouts can scale across 
+   metrics and keylines</a> to ensure that your layouts can scale across
    screen densities.</li>
   <li>Devices with lower-density screens tend to have lower hardware
-   specifications. To ensure that your app performs well on these devices, 
-   consider reducing or eliminating heavy loads, such as animations and 
-   transitions. For more information on supporting different densities, see 
-   the Android training on <a 
+   specifications. To ensure that your app performs well on these devices,
+   consider reducing or eliminating heavy loads, such as animations and
+   transitions. For more information on supporting different densities, see
+   the Android training on <a
    href="https://developer.android.com/training/multiscreen/screendensities.html">
    Supporting Different Densities</a>.</li>
  </ul>
 <h4 id="screens-sizes">Test layouts on small/medium screen sizes</h4>
  <ul>
   <li>Validate that your layouts scale down by testing on smaller screens. As
-   screen sizes shrink, be very selective about visible UI elements, because 
+   screen sizes shrink, be very selective about visible UI elements, because
    there is limited space for them.</li>
   <li>Devices with smaller screens tend to have lower hardware specifications.
-   To ensure that your app performs well on these devices, try reducing or 
-   eliminating heavy loads, such as animations or transitions. For more 
-   information on supporting different screen sizes, see the Android 
-   training on <a 
+   To ensure that your app performs well on these devices, try reducing or
+   eliminating heavy loads, such as animations or transitions. For more
+   information on supporting different screen sizes, see the Android
+   training on <a
    href="https://developer.android.com/training/multiscreen/screendensities.html">
    Supporting Different Screen Sizes</a>.</li>
  </ul>
@@ -332,57 +332,57 @@
  appropriately</h4>
  <ul>
   <li>Apps should build and target a recent version of Android to ensure most
-   current behavior across a broad range of devices; this still provides 
-   backward compatibility to older versions. Here are the best practices for 
+   current behavior across a broad range of devices; this still provides
+   backward compatibility to older versions. Here are the best practices for
    targeting API levels appropriately:
     <ul>
      <li><a
       href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">
-      {@code targetSdkVersion}</a> should be the latest version of Android. 
-      Targeting the most recent version ensures that your app inherits newer 
-      runtime behaviors when running newer versions of Android. Be sure to 
-      test your app on newer Android versions when updating the 
+      {@code targetSdkVersion}</a> should be the latest version of Android.
+      Targeting the most recent version ensures that your app inherits newer
+      runtime behaviors when running newer versions of Android. Be sure to
+      test your app on newer Android versions when updating the
       targetSdkVersion as it can affect app behavior.</li>
      <li><a
       href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">
-      {@code minSdkVersion}</a> sets the minimum supported Android version. 
-      Use Android 4.0 (API level 14: Ice Cream Sandwich) or Android 4.1 (API 
-      level 16: Jelly Bean)—these versions give maximum coverage for modern 
-      devices. Setting {@code minSdkVersion} also results in the Android build 
-      tools reporting incorrect use of new APIs that might not be available in 
-      older versions of the platform. By doing so, developers are protected 
+      {@code minSdkVersion}</a> sets the minimum supported Android version.
+      Use Android 4.0 (API level 14: Ice Cream Sandwich) or Android 4.1 (API
+      level 16: Jelly Bean)—these versions give maximum coverage for modern
+      devices. Setting {@code minSdkVersion} also results in the Android build
+      tools reporting incorrect use of new APIs that might not be available in
+      older versions of the platform. By doing so, developers are protected
       from inadvertently breaking backward compatibility.</li>
     </ul>
   </li>
   <li>Consult the <a
    href="https://developer.android.com/about/dashboards/index.html#Platform">
-   Android dashboards</a>, the <a class="external-link" 
-   href="https://play.google.com/apps/publish/">Google Play Developer 
-   Console</a> for your app, and industry research in your target markets to 
+   Android dashboards</a>, the <a class="external-link"
+   href="https://play.google.com/apps/publish/">Google Play Developer
+   Console</a> for your app, and industry research in your target markets to
    gauge which versions of Android to target, based on your target users.</li>
  </ul>
 <h4 id="compatibility-libraries">Use the Android Support libraries</h4>
  <ul>
   <li>Ensure your app provides a consistent experience across OS versions by
    using the Google-provided support libraries such as AppCompat and the Design
-    Support Library. The Android Support Library package is a set of code 
-    libraries that provides backward-compatible versions of Android framework 
+    Support Library. The Android Support Library package is a set of code
+    libraries that provides backward-compatible versions of Android framework
     APIs as well as features that are only available through the library APIs.
     </li>
   <li>Some of the the highlights include:
   <ul>
    <li>v4 & v7 support library: Many framework APIs for older versions of
-    Android such as {@link android.support.v4.view.ViewPager}, 
-    {@link android.app.ActionBar}, 
-    {@link android.support.v7.widget.RecyclerView}, and 
+    Android such as {@link android.support.v4.view.ViewPager},
+    {@link android.app.ActionBar},
+    {@link android.support.v7.widget.RecyclerView}, and
     {@link android.support.v7.graphics.Palette}.</li>
    <li><a href="{@docRoot}tools/support-library/features.html#design">Design
-    Support</a> library: APIs to support adding Material Design components 
+    Support</a> library: APIs to support adding Material Design components
     and patterns to your apps.</li>
    <li><a href="{@docRoot}tools/support-library/features.html#multidex">
-    Multidex Support</a> library: provides support for large apps that have 
-    more than 65K methods. This can happen if your app is using many 
-    libraries.</li> 
+    Multidex Support</a> library: provides support for large apps that have
+    more than 65K methods. This can happen if your app is using many
+    libraries.</li>
   </ul>
   </li>
   <li>For more information on the available support libraries, see the <a
@@ -392,14 +392,14 @@
 <h4 id="compatibility-playservices">Use Google Play services</h4>
  <ul>
   <li>Google Play services brings the best of Google APIs independent of
-   Android platform version. Consider using features from Google Play services 
+   Android platform version. Consider using features from Google Play services
    to offer the most streamlined Google experience on Android devices.</li>
-  <li>Google Play services also include useful APIs such as <a 
+  <li>Google Play services also include useful APIs such as <a
    href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-   <code>GcmNetworkManager</code></a>, which provides much of Android 5.0’s 
+   <code>GcmNetworkManager</code></a>, which provides much of Android 5.0’s
    {@link android.app.job.JobScheduler} API for older versions of Android. </li>
   <li>Updates to Google Play services are distributed automatically by the
-   Google Play Store, and new versions of the client library are delivered 
+   Google Play Store, and new versions of the client library are delivered
    through the Android SDK Manager. </li>
  </ul>
 <h3 id="memory">Efficient memory usage</h3>
@@ -408,44 +408,44 @@
   <li>Adjusting your memory footprint dynamically helps to ensure compatibility
    across devices with different RAM configurations.</li>
   <li>Methods such as {@link android.app.ActivityManager#isLowRamDevice} and
-   {@link android.app.ActivityManager#getMemoryClass()} help determine memory 
-   constraints at runtime. Based on this information, you can scale down your 
-   memory usage. As an example, you can use lower resolution images on low memory 
+   {@link android.app.ActivityManager#getMemoryClass()} help determine memory
+   constraints at runtime. Based on this information, you can scale down your
+   memory usage. As an example, you can use lower resolution images on low memory
    devices.</li>
   <li>For more information on managing your app’s memory, see the Android
-   training on <a href="{@docRoot}training/articles/memory.html">Managing 
+   training on <a href="{@docRoot}training/articles/memory.html">Managing
    Your App's Memory</a>.</li>
  </ul>
 <h4 id="memory-longprocesses">Avoid long-running processes</h4>
  <ul>
   <li>Long-running processes stay resident in memory and can result in slowing
-   down the device. In most situations, your app should wake up for a given 
-   event, process data, and shut down. You should use <a 
-   href="https://developers.google.com/cloud-messaging">Google Cloud Messaging 
-   (GCM)</a> and/or <a 
+   down the device. In most situations, your app should wake up for a given
+   event, process data, and shut down. You should use <a
+   href="https://developers.google.com/cloud-messaging">Google Cloud Messaging
+   (GCM)</a> and/or <a
    href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-   <code>GcmNetworkManager</code></a> to avoid long running background 
+   <code>GcmNetworkManager</code></a> to avoid long running background
    services and reduce memory pressure on the user’s device.</li>
  </ul>
 <h4 id="memory-benchmark">Benchmark memory usage</h4>
  <ul>
   <li>Android Studio provides memory benchmarking and profiling tools, enabling
    you to measure memory usage at run time. Benchmarking your app’s memory
-    footprint enables you to monitor memory usage over multiple versions of 
-    the app. This can help catch unintentional memory footprint growth. These 
+    footprint enables you to monitor memory usage over multiple versions of
+    the app. This can help catch unintentional memory footprint growth. These
     tools can be used in the following ways:
   <ul>
    <li>Use the <a
-    href="{@docRoot}tools/performance/memory-monitor/index.html">Memory 
-    Monitor</a> tool to find out whether undesirable garbage collection (GC) 
-    event patterns might be causing performance problems.</li> 
+    href="{@docRoot}tools/performance/memory-monitor/index.html">Memory
+    Monitor</a> tool to find out whether undesirable garbage collection (GC)
+    event patterns might be causing performance problems.</li>
    <li>Run <a
     href="{@docRoot}tools/performance/heap-viewer/index.html">Heap Viewer</a>
-    to identify object types that get or stay allocated unexpectedly or 
+    to identify object types that get or stay allocated unexpectedly or
     unnecessarily.</li>
    <li>Use <a
    href="{@docRoot}tools/performance/allocation-tracker/index.html">
-   Allocation Tracker</a> to identify where in your code the problem might 
+   Allocation Tracker</a> to identify where in your code the problem might
    be.</li>
   </ul>
   </li>
@@ -466,35 +466,35 @@
   <h2 id="cost">Data Cost</h2>
 </div>
 <p>Data plans in some countries can cost upwards of 10% of monthly income.
- Conserve data and give control to optimize user experience. Reduce data 
+ Conserve data and give control to optimize user experience. Reduce data
  consumption and give users control over your app’s use of data.</p>
 
 <h3 id="appsize">Reduce app size</h3>
 <h4 id="appsize-graphics">Reduce APK graphical asset size</h4>
  <ul>
   <li>Graphical assets are often the largest contributor to the size of the
-   APK. Optimizing these can result in smaller downloads and thus faster 
+   APK. Optimizing these can result in smaller downloads and thus faster
    installation times for users.</li>
   <li>For graphical assets like icons, use Scalable Vector Graphics (SVG)
-   format. SVG images are relatively tiny in size and can be rendered at 
-   runtime to any resolution. The <a 
-   href="{@docRoot}tools/support-library/index.html">Android Support</a> 
-   library provides a backward-compatible implementation for vector resources as 
-   far back as Android 2.1 (API level 7). Get started with vectors with <a 
-   class="external-link" 
+   format. SVG images are relatively tiny in size and can be rendered at
+   runtime to any resolution. The <a
+   href="{@docRoot}tools/support-library/index.html">Android Support</a>
+   library provides a backward-compatible implementation for vector resources as
+   far back as Android 2.1 (API level 7). Get started with vectors with <a
+   class="external-link"
    href="https://medium.com/@chrisbanes/appcompat-v23-2-age-of-the-vectors-91cbafa87c88">
    this Medium post</a>. </li>
   <li>For non-vector images, like photos, use <a
-   href="https://developers.google.com/speed/webp/">WebP</a>. WebP reduces 
-   image load times, saves network bandwidth, and is proven to result in 
-   smaller file sizes than its PNG and JPG counterparts, with at least the 
-   same image quality. Even at lossy settings, WebP can produce a nearly 
-   identical image. Android has had lossy WebP support since Android 4.0 (API 
+   href="https://developers.google.com/speed/webp/">WebP</a>. WebP reduces
+   image load times, saves network bandwidth, and is proven to result in
+   smaller file sizes than its PNG and JPG counterparts, with at least the
+   same image quality. Even at lossy settings, WebP can produce a nearly
+   identical image. Android has had lossy WebP support since Android 4.0 (API
    level 14: Ice Cream Sandwich) and support for lossless / transparent WebP since Android 4.2 (API level 17: Jelly Bean).</li>
   <li>If you have many large images across multiple densities, consider
-   using <a href="{@docRoot}google/play/publishing/multiple-apks.html">Multiple 
-   APK support</a> to split your APK by density. This results in builds 
-   targeted for specific densities, meaning users with low-density devices 
+   using <a href="{@docRoot}google/play/publishing/multiple-apks.html">Multiple
+   APK support</a> to split your APK by density. This results in builds
+   targeted for specific densities, meaning users with low-density devices
    won’t have to incur the penalty of unused high-density assets.</li>
   <li>A detailed guide on reducing your APK size can be found in <a
    class="external-link" href="https://medium.com/@wkalicinski/smallerapk-part-4-multi-apk-through-abi-and-density-splits-477083989006">
@@ -503,84 +503,84 @@
 <h4 id="appsize-code">Reduce code size</h4>
  <ul>
   <li>Be careful about using external libraries because not all libraries are
-   meant to be used in mobile apps. Ensure that the libraries your app is 
+   meant to be used in mobile apps. Ensure that the libraries your app is
    using are optimized for mobile use.</li>
   <li>Every library in your Android project is adding potentially unused code
-   to your APK. There are also some libraries that aren’t designed with mobile 
-   development in mind. These libraries can end up contributing to significant 
+   to your APK. There are also some libraries that aren’t designed with mobile
+   development in mind. These libraries can end up contributing to significant
    APK bloat.</li>
   <li>Consider optimizing your compiled code using a tool such as <a
-   href="{@docRoot}tools/help/proguard.html">ProGuard</a>. ProGuard identifies 
-   code that isn’t being used and removes it from your APK. Also <a 
-   class="external-link" 
+   href="{@docRoot}tools/help/proguard.html">ProGuard</a>. ProGuard identifies
+   code that isn’t being used and removes it from your APK. Also <a
+   class="external-link"
    href="http://tools.android.com/tech-docs/new-build-system/resource-shrinking">
-   enable resource shrinking</a> at build time by setting 
-   <code>minifyEnabled=true</code>, <code>shrinkResources=true</code> in 
-   <code>build.gradle</code>—this automatically removes unused resources from 
+   enable resource shrinking</a> at build time by setting
+   <code>minifyEnabled=true</code>, <code>shrinkResources=true</code> in
+   <code>build.gradle</code>—this automatically removes unused resources from
    your APK.</li>
   <li>When using Google Play services, you should <a
    href="{@docRoot}google/play-services/setup.html#add_google_play_services_to_your_project">
    selectively include</a> only the necessary APIs into your APK.</li>
   <li>For more information on reducing code size in your APK, see the Android
-   training on how to <a 
-   href="{@docRoot}training/articles/memory.html#DependencyInjection">Avoid 
+   training on how to <a
+   href="{@docRoot}training/articles/memory.html#DependencyInjection">Avoid
    dependency injection frameworks</a>.</li>
  </ul>
 <h4 id="appsize-external">Allow app to be moved to external (SD) storage</h4>
  <ul>
   <li>Low-cost devices often come with little on-device storage. Users can
-   extend this with SD cards; however, apps need to explicitly declare that 
+   extend this with SD cards; however, apps need to explicitly declare that
    they support being installed to external storage before users can move them.
   </li>
   <li>Allow your app to be installed to external storage using the <a
    href="{@docRoot}guide/topics/manifest/manifest-element.html#install"><code>
-   android:installLocation</code></a> flag in your AndroidManifest. For more 
-   information on enabling your app to be moved to external storage, see the 
-   Android guide on <a 
-   href="{@docRoot}guide/topics/data/install-location.html">App Install 
+   android:installLocation</code></a> flag in your AndroidManifest. For more
+   information on enabling your app to be moved to external storage, see the
+   Android guide on <a
+   href="{@docRoot}guide/topics/data/install-location.html">App Install
    Location</a>.</li>
  </ul>
 
 <h4 id="appsize-postinstall">Reduce post-install app disk usage</h4>
  <ul>
   <li>Keeping your app’s disk usage low means that users are less likely to
-   uninstall your app when the device is low on free space. When using caches, 
-   it’s important to apply bounds around your caches—this prevents your app’s 
-   disk usage from growing indefinitely. Be sure you put your cached data in 
-   {@link android.content.Context#getCacheDir()}—the system can delete files 
-   placed here as needed, so they won’t show up as storage committed to the 
+   uninstall your app when the device is low on free space. When using caches,
+   it’s important to apply bounds around your caches—this prevents your app’s
+   disk usage from growing indefinitely. Be sure you put your cached data in
+   {@link android.content.Context#getCacheDir()}—the system can delete files
+   placed here as needed, so they won’t show up as storage committed to the
    app.</li>
  </ul>
 
 <h3 id="configurablenetwork">Offer configurable network usage</h3>
-<h4 id="configurablenetwork-onboarding">Provide onboarding experiences for 
+<h4 id="configurablenetwork-onboarding">Provide onboarding experiences for
 subjective user choices</h4>
  <ul>
   <li>Apps that allow users to reduce data usage are well received, even if
-   they demand heavy data requirements. If your app uses a considerable amount 
-   of bandwidth (for example, video streaming apps), you can provide an 
-   onboarding experience for users to configure network usage. For example, 
-   you could allow the user to force lower-bitrate video streams on cellular 
+   they demand heavy data requirements. If your app uses a considerable amount
+   of bandwidth (for example, video streaming apps), you can provide an
+   onboarding experience for users to configure network usage. For example,
+   you could allow the user to force lower-bitrate video streams on cellular
    networks. </li>
   <li>Additional settings for users to control data syncing, prefetching, and
-   network usage behavior (for example, prefetch all starred news categories on 
+   network usage behavior (for example, prefetch all starred news categories on
    Wi-Fi only), also help users tailor your app’s behavior to their needs.</li>
   <li>For more information on managing network usage, see the Android training
-   on <a href="{@docRoot}training/basics/network-ops/managing.html">Managing 
+   on <a href="{@docRoot}training/basics/network-ops/managing.html">Managing
    Network Usage</a>.</li>
  </ul>
-<h4 id="configurablenetwork-preferences">Provide a network preferences 
+<h4 id="configurablenetwork-preferences">Provide a network preferences
 screen</h4>
  <ul>
   <li>You can navigate to the app’s network settings from outside the app by
-   means of a network preferences screen. You can invoke this screen from 
+   means of a network preferences screen. You can invoke this screen from
    either the system settings screen or the system data usage screen.</li>
   <li>To provide a network preferences screen that users can access from within
-   your app as well as from the system settings, in your app include an 
-   activity that supports the 
+   your app as well as from the system settings, in your app include an
+   activity that supports the
    {@link android.content.Intent#ACTION_MANAGE_NETWORK_USAGE} action.</li>
   <li>For further information on adding a network preferences screen, see the
-   Android training on <a 
+   Android training on <a
    href="{@docRoot}training/basics/network-ops/managing.html#prefs">
    Implementing a Preferences Activity</a>.</li>
  </ul>
@@ -599,57 +599,57 @@
 <div class="headerLine">
   <h2 id="consumption">Battery Consumption</h2>
 </div>
-<p>Access to reliable power supplies varies, and outages can disrupt planned 
-charges. Defend your users' batteries against unnecessary drain by benchmarking 
-your battery use,  avoiding wakelocks, scheduling tasks, and monitoring sensor 
+<p>Access to reliable power supplies varies, and outages can disrupt planned
+charges. Defend your users' batteries against unnecessary drain by benchmarking
+your battery use,  avoiding wakelocks, scheduling tasks, and monitoring sensor
 requests.</p>
 <h3 id="consumption-reduce">Reduce battery consumption</h3>
  <ul>
   <li>Your app should do minimal activity when in the background and when the
    device is running on battery power.</li>
   <li><a href="{@docRoot}reference/android/os/PowerManager.WakeLock.html">Wake
-   locks</a> are mechanisms to keep devices on so that they can perform 
-   background activities. Avoid using wake locks because they prevent the 
+   locks</a> are mechanisms to keep devices on so that they can perform
+   background activities. Avoid using wake locks because they prevent the
    device from going into low-power states.</li>
   <li>To reduce the number of device wake-ups, batch network activity. For more
-   information on batching, see the Android training on <a 
+   information on batching, see the Android training on <a
    href="{@docRoot}training/efficient-downloads/efficient-network-access.html">
    Optimizing Downloads for Efficient Network Access</a>.</li>
-  <li><a 
+  <li><a
    href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-   <code>GcmNetworkManager</code></a> schedules tasks and lets Google Play 
-   services batch operations across the system. This greatly 
-   simplifies the implementation of common patterns, such as waiting for 
-   network connectivity, device charging state, retries, and backoff. Use 
-   <code>GcmNetworkManager</code> to perform non-essential background activity 
+   <code>GcmNetworkManager</code></a> schedules tasks and lets Google Play
+   services batch operations across the system. This greatly
+   simplifies the implementation of common patterns, such as waiting for
+   network connectivity, device charging state, retries, and backoff. Use
+   <code>GcmNetworkManager</code> to perform non-essential background activity
    when the device is charging and is connected to an unmetered network.</li>
   <li>Sensors, like GPS, can also have a significant drain on the battery. The
-   recommended way to request location is to use the FusedLocationProvider API. 
-   The <a 
-   href="https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi">FusedLocationProvider</a> API manages the 
-   underlying location technology and provides a simple API so that you can 
-   specify requirements&mdash;like high accuracy or low power&mdash;at a high 
-   level. It also optimizes the device's use of battery power by caching 
-   locations and batching requests across apps. For  more information on the 
-   ideal ways to request location, see the <a 
-   href="{@docRoot}training/location/retrieve-current.html">Getting the Last 
+   recommended way to request location is to use the FusedLocationProvider API.
+   The <a
+   href="https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi">FusedLocationProvider</a> API manages the
+   underlying location technology and provides a simple API so that you can
+   specify requirements&mdash;like high accuracy or low power&mdash;at a high
+   level. It also optimizes the device's use of battery power by caching
+   locations and batching requests across apps. For  more information on the
+   ideal ways to request location, see the <a
+   href="{@docRoot}training/location/retrieve-current.html">Getting the Last
    Known Location</a> training guide.
   </li>
  </ul>
 <h3 id="consumption-benchmark">Benchmark battery usage</h3>
  <ul>
   <li>Benchmarking your app’s usage in a controlled environment helps you
-   understand the battery-heavy tasks in your app. It is a good practice to 
-   benchmark your app’s battery usage to gauge efficiency and track changes 
+   understand the battery-heavy tasks in your app. It is a good practice to
+   benchmark your app’s battery usage to gauge efficiency and track changes
    over time.
 </li>
   <li><a
    href="{@docRoot}tools/performance/batterystats-battery-historian/index.html">
-   Batterystats</a> collects battery data about your apps, and <a 
+   Batterystats</a> collects battery data about your apps, and <a
    href="{@docRoot}tools/performance/batterystats-battery-historian/index.html">
-   Battery Historian</a> converts that data into an HTML visualization. For 
-   more information on reducing battery usage, see the Android training on <a 
-   href="{@docRoot}training/monitoring-device-state/index.html">Optimizing 
+   Battery Historian</a> converts that data into an HTML visualization. For
+   more information on reducing battery usage, see the Android training on <a
+   href="{@docRoot}training/monitoring-device-state/index.html">Optimizing
    Battery Life</a>.</li>
  </ul>
 
@@ -665,55 +665,55 @@
   <h2 id="contentsection">Content</h2>
 </div>
 <p>Make sure that your app works well on a variety of screens: offering good,
- crisp graphics and appropriate layouts on low resolution and physically small 
- screens. Ensure that your app is designed to be easily localized by 
- accommodating the variations between languages: allow for spacing, density, 
- order, emphasis, and wording variations. Also make sure that date, time, and 
- the like are internationalized and displayed according to the phone’s 
+ crisp graphics and appropriate layouts on low resolution and physically small
+ screens. Ensure that your app is designed to be easily localized by
+ accommodating the variations between languages: allow for spacing, density,
+ order, emphasis, and wording variations. Also make sure that date, time, and
+ the like are internationalized and displayed according to the phone’s
  settings.</p>
 
 <h3 id="content-responsive">Fast and responsive UI</h3>
 <h4 id="content-feedback">Touch feedback on all touchable items</h4>
  <ul>
   <li>Touch feedback adds a tactile feeling to the user interface. You should
-   ensure your app provides touch feedback on all touchable elements to reduce 
+   ensure your app provides touch feedback on all touchable elements to reduce
    the perceived app latency as much as possible.
 </li>
   <li><a
    href="https://www.google.com/design/spec/animation/responsive-interaction.html">
-   Responsive interaction</a> encourages deeper exploration of an app by 
-   creating timely, logical, and delightful screen reactions to user input. 
-   Responsive interaction elevates an app from an information-delivery service 
-   to an experience that communicates using multiple visual and tactile 
+   Responsive interaction</a> encourages deeper exploration of an app by
+   creating timely, logical, and delightful screen reactions to user input.
+   Responsive interaction elevates an app from an information-delivery service
+   to an experience that communicates using multiple visual and tactile
    responses.</li>
   <li>For more information, see the Android training on <a
-   href="{@docRoot}training/material/animations.html#Touch">Customizing Touch 
+   href="{@docRoot}training/material/animations.html#Touch">Customizing Touch
    Feedback</a>.</li>
  </ul>
 <h4 id="content-interactive">UI should always be interactive</h4>
  <ul>
   <li>Apps that are unresponsive when performing background activity feel slow
-   and reduce user satisfaction. Ensure your app always has a responsive UI 
-   regardless of any background activity. Achieve this by performing network 
-   operations or any heavy-duty operations in a background thread—keep the UI 
+   and reduce user satisfaction. Ensure your app always has a responsive UI
+   regardless of any background activity. Achieve this by performing network
+   operations or any heavy-duty operations in a background thread—keep the UI
    thread as idle as you can.</li>
   <li>Material Design apps use minimal visual changes when your app is loading
-   content by representing each operation with a single activity indicator. 
-   Avoid blocking dialogs with <a  
+   content by representing each operation with a single activity indicator.
+   Avoid blocking dialogs with <a
    href="https://www.google.com/design/spec/components/progress-activity.html">
    loading indicators</a>.</li>
   <li><a
-   href="http://www.google.com/design/spec/patterns/empty-states.html">Empty 
-   states</a> occur when the regular content of a view can’t be shown. It might 
-   be a list that has no items or a search that returns no results. Avoid 
-   completely empty states. The most basic empty state displays a 
-   non-interactive image and a text tagline. Where you don’t have an image, or 
-   the image is still loading, you should always show either a static 
-   placeholder, or create a dynamic placeholder by using the <a 
-   href="{@docRoot}tools/support-library/features.html#v7-palette">Palette 
+   href="http://www.google.com/design/spec/patterns/empty-states.html">Empty
+   states</a> occur when the regular content of a view can’t be shown. It might
+   be a list that has no items or a search that returns no results. Avoid
+   completely empty states. The most basic empty state displays a
+   non-interactive image and a text tagline. Where you don’t have an image, or
+   the image is still loading, you should always show either a static
+   placeholder, or create a dynamic placeholder by using the <a
+   href="{@docRoot}tools/support-library/features.html#v7-palette">Palette
    library</a> to generate placeholder colors that match the target image.</li>
   <li>For more information, see the Android training on <a
-   href="{@docRoot}training/articles/perf-anr.html">Keeping Your App 
+   href="{@docRoot}training/articles/perf-anr.html">Keeping Your App
    Responsive</a>.</li>
  </ul>
 <h4 id="content-60fps">Target 60 frames per second on low-cost devices</h4>
@@ -721,34 +721,34 @@
   <li>Ensure that your app always runs fast and smoothly, even on low-cost
    devices.</li>
   <li>Overdraw can significantly slow down your app—it occurs when the pixels
-   are being drawn more than once per pass. An example of this is when you have 
-   an image with a button placed on top of it. While some overdraw is 
-   unavoidable, it should be minimized to ensure a smooth frame rate. Perform 
-   <a href="{@docRoot}tools/performance/debug-gpu-overdraw/index.html">Debug 
+   are being drawn more than once per pass. An example of this is when you have
+   an image with a button placed on top of it. While some overdraw is
+   unavoidable, it should be minimized to ensure a smooth frame rate. Perform
+   <a href="{@docRoot}tools/performance/debug-gpu-overdraw/index.html">Debug
    GPU overdraw</a> on your app to ensure it is minimized.</li>
   <li>Android devices refresh the screen at 60 frames per second (fps), meaning
-   your app has to update the screen within roughly 16 milliseconds. <a 
-   href="{@docRoot}tools/performance/profile-gpu-rendering/index.html">Profile 
-   your app</a> using on-device tools to see if and when your app is not 
+   your app has to update the screen within roughly 16 milliseconds. <a
+   href="{@docRoot}tools/performance/profile-gpu-rendering/index.html">Profile
+   your app</a> using on-device tools to see if and when your app is not
    meeting this 16-ms average.</li>
   <li>Reduce or remove animations on low-cost devices to lessen the burden on
-   the device’s CPU and GPU.  For more information, see the Android training on 
-   <a href="{@docRoot}training/improving-layouts/index.html">Improving Layout 
+   the device’s CPU and GPU.  For more information, see the Android training on
+   <a href="{@docRoot}training/improving-layouts/index.html">Improving Layout
    Performance</a>. </li>
  </ul>
-<h4 id="content-firstload">If anticipated start speed is low, use launch screen 
+<h4 id="content-firstload">If anticipated start speed is low, use launch screen
 on first load</h4>
  <ul>
   <li>The launch screen is a user’s first experience of your application.
-   Launching your app while displaying a blank canvas increases its perceived 
-   loading time, so consider using a placeholder UI or a branded launch screen 
+   Launching your app while displaying a blank canvas increases its perceived
+   loading time, so consider using a placeholder UI or a branded launch screen
    to reduce the perceived loading time.</li>
   <li>A<a href="https://www.google.com/design/spec/patterns/launch-screens.html#launch-screens-types-of-launch-screens">
-   placeholder UI</a> is the most seamless launch transition, appropriate for 
+   placeholder UI</a> is the most seamless launch transition, appropriate for
    both app launches and in-app activity transitions.</li>
   <li><a
    href="https://www.google.com/design/spec/patterns/launch-screens.html#launch-screens-placeholder-ui">
-   Branded launch screens</a> provide momentary brand exposure, freeing the UI 
+   Branded launch screens</a> provide momentary brand exposure, freeing the UI
    to focus on content.</li>
   <li>For more information on implementing splash screens, see the <a
    href="https://www.google.com/design/spec/patterns/launch-screens.html">
@@ -758,24 +758,24 @@
  <ul>
   <li><a
    href="https://www.google.com/design/spec/material-design/introduction.html">
-   Material Design</a> is a visual language that synthesizes the classic 
-   principles of good design with the innovation and possibility of technology 
-   and science. Material Design aims to develop a single underlying system that 
-   allows for a unified experience across platforms and device sizes. Consider 
-   using key Material Design components so that users intuitively know how to 
+   Material Design</a> is a visual language that synthesizes the classic
+   principles of good design with the innovation and possibility of technology
+   and science. Material Design aims to develop a single underlying system that
+   allows for a unified experience across platforms and device sizes. Consider
+   using key Material Design components so that users intuitively know how to
    use your app.</li>
   <li>Ready-to-use Material Design components are available via the <a
-   href="{@docRoot}tools/support-library/features.html#design">Design Support 
-   library</a>. These components are supported in Android 2.1 (API level 7) and 
+   href="{@docRoot}tools/support-library/features.html#design">Design Support
+   library</a>. These components are supported in Android 2.1 (API level 7) and
    above.</li>
  </ul>
 <h3 id="localization">Localization</h3>
  <ul>
   <li>Your users could be from any part of the world and their first language
-   may not be yours. If you don’t present your app in a language that your 
-   users can read, it is a missed opportunity. You should therefore 
+   may not be yours. If you don’t present your app in a language that your
+   users can read, it is a missed opportunity. You should therefore
    localize your app for key regional languages.</li>
-  <li>To learn more, visit the Android training on <a 
+  <li>To learn more, visit the Android training on <a
  href="{@docRoot}training/basics/supporting-devices/languages.html">
  Supporting Different Languages</a>.</li>
  </ul>
diff --git a/docs/html/distribute/essentials/quality/core.jd b/docs/html/distribute/essentials/quality/core.jd
index 0ff44eb..637eaac 100644
--- a/docs/html/distribute/essentials/quality/core.jd
+++ b/docs/html/distribute/essentials/quality/core.jd
@@ -12,7 +12,7 @@
         <li><a href="#listing">Google Play</a></li>
 
   </ol>
-  
+
   <h2>Testing</h2>
   <ol>
     <li><a href="#test-environment">Setting Up a Test Environment</a></li>
@@ -24,7 +24,7 @@
     <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">Tablet App Quality</a></li>
         <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">Optimize Your App</a></li>
   </ol>
-  
+
 
 </div>
 </div>
@@ -85,7 +85,7 @@
     <th style="width:54px;">
       ID
     </th>
-    
+
 
     <th>
       Description
diff --git a/docs/html/distribute/essentials/quality/tablets.jd b/docs/html/distribute/essentials/quality/tablets.jd
index 2b2a5ae..3ff35f7 100644
--- a/docs/html/distribute/essentials/quality/tablets.jd
+++ b/docs/html/distribute/essentials/quality/tablets.jd
@@ -57,7 +57,7 @@
 <p>The first step in delivering a great tablet app experience is making sure
 that it meets the <em>core app quality criteria</em> for all of the devices
 and form factors that the app is targeting. For complete information, see the <a
-href="{@docRoot}distribute/essentials/quality/core.html">Core App Quality Guidelines</a>. 
+href="{@docRoot}distribute/essentials/quality/core.html">Core App Quality Guidelines</a>.
 </p>
 
 <p>
@@ -73,7 +73,7 @@
 </ul>
 
 <p>If your app is already uploaded to the Google Play Developer Console, you
-  can see how it is doing against these checks  
+  can see how it is doing against these checks
   by visiting the <a href="#google-play-optimization-tips">Optimization
   Tips page</a>.</p>
 
@@ -505,7 +505,7 @@
 
 <pre>&lt;uses-feature android:name="android.hardware.telephony" android:required="false" /&gt;</pre></li>
 
-<li>Similarly, check the manifest for <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> elements that 
+<li>Similarly, check the manifest for <a href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> elements that
 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">imply hardware
 feature requirements</a> that not be appropriate for tablets. If you find such
 permissions, make sure to explicitly declare a corresponding
diff --git a/docs/html/distribute/googleplay/cast.jd b/docs/html/distribute/googleplay/cast.jd
index 937ab58..3112f81 100644
--- a/docs/html/distribute/googleplay/cast.jd
+++ b/docs/html/distribute/googleplay/cast.jd
@@ -26,7 +26,7 @@
 
 <p>
   <a href="https://developers.google.com/cast/">Find out how to get your app Google
-  Cast-ready</a>. 
+  Cast-ready</a>.
 </p>
 
 <h2 id="tips">Tips</h2>
diff --git a/docs/html/distribute/googleplay/families/faq.jd b/docs/html/distribute/googleplay/families/faq.jd
index 363dc91..663850f 100644
--- a/docs/html/distribute/googleplay/families/faq.jd
+++ b/docs/html/distribute/googleplay/families/faq.jd
@@ -10,7 +10,7 @@
     font-weight:bold;
   }
   </style>
-  
+
 <div id="qv-wrapper">
 <ol id="qv">
 <h2>In this document</h2>
@@ -84,7 +84,7 @@
   <dd>
     No, you do not need to translate your privacy policy. However, if you
     distribute your apps in a few select countries, it is advised that you do
-    translate your privacy policy. 
+    translate your privacy policy.
   </dd>
 
   <dt>
@@ -173,7 +173,7 @@
     confirm that it is appropriate for families. Assuming your app complies with all program
     requirements, we expect that publishing time should not take any longer
     than normal; however, there may be a delay in publishing the app if it is
-    rejected during the Designed for Families review. 
+    rejected during the Designed for Families review.
   </dd>
 
   <dt>
@@ -301,7 +301,7 @@
 
   <dd>
     House ads are allowed, but they must comply with <a
-    href="https://support.google.com/googleplay/android-developer/answer/6184502#ads">ads policies</a>. 
+    href="https://support.google.com/googleplay/android-developer/answer/6184502#ads">ads policies</a>.
   </dd>
 
   <dt>
diff --git a/docs/html/distribute/googleplay/families/start.jd b/docs/html/distribute/googleplay/families/start.jd
index 0e773bd..f174dae 100644
--- a/docs/html/distribute/googleplay/families/start.jd
+++ b/docs/html/distribute/googleplay/families/start.jd
@@ -86,7 +86,7 @@
 
 <p class="note">
   <strong>Note</strong>: Published apps in the Designed for Families program
-  are also available to all users on Google Play. 
+  are also available to all users on Google Play.
 </p>
 
 <p>
diff --git a/docs/html/distribute/googleplay/tv.jd b/docs/html/distribute/googleplay/tv.jd
index a35edbc..981ba51 100644
--- a/docs/html/distribute/googleplay/tv.jd
+++ b/docs/html/distribute/googleplay/tv.jd
@@ -275,7 +275,7 @@
   the criteria, you’ll receive a <strong>notification email sent to your developer account
   address</strong>, with a summary of the areas that you need to address. When you’ve made
   the necessary adjustments, you can upload a new version of your app to the Developer
-  Console. 
+  Console.
 </p>
 
 <p>
@@ -296,7 +296,7 @@
 
   <li>
     <em>Approved</em> — Your app was reviewed and approved. The app will be
-    made available directly to Android TV users. 
+    made available directly to Android TV users.
   </li>
 
   <li>
diff --git a/docs/html/distribute/tools/promote/device-art.jd b/docs/html/distribute/tools/promote/device-art.jd
index 9b4dd14..7fef02f 100644
--- a/docs/html/distribute/tools/promote/device-art.jd
+++ b/docs/html/distribute/tools/promote/device-art.jd
@@ -221,7 +221,7 @@
       landOffset: [489,327],
       portRes: ['shadow', 'back', 'fore'],
       portOffset: [327,489],
-      portSize: [1440, 2560], 
+      portSize: [1440, 2560],
       archived: true
     },
     {
diff --git a/docs/html/distribute/tools/promote/linking.jd b/docs/html/distribute/tools/promote/linking.jd
index 025480b..13b1574 100644
--- a/docs/html/distribute/tools/promote/linking.jd
+++ b/docs/html/distribute/tools/promote/linking.jd
@@ -18,7 +18,7 @@
 
 <p>Google Play provides several link formats that let you bring users to your
 products in the way you want, from Android apps, web pages, ads, reviews,
-articles, social media posts, and more.</p> 
+articles, social media posts, and more.</p>
 
 <p>The link formats let you:</p>
 <ul>
diff --git a/docs/html/google/backup/signup.jd b/docs/html/google/backup/signup.jd
index 598003d..86518b6 100644
--- a/docs/html/google/backup/signup.jd
+++ b/docs/html/google/backup/signup.jd
@@ -105,7 +105,7 @@
 8.4 You agree that you shall not remove, obscure, or alter any proprietary rights notices (including copyright, trade mark notices) which may be affixed to or contained within the Service.
 
 <h3>9. License from Google</h3>
-9.1 Subject to terms and conditions of these Terms, Google gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the Service as provided to you by Google. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Service as provided by Google, in the manner permitted by the Terms. 
+9.1 Subject to terms and conditions of these Terms, Google gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the Service as provided to you by Google. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Service as provided by Google, in the manner permitted by the Terms.
 
 9.2 You may not (and you may not permit anyone else to) copy, modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to extract the source code from the Service or any part thereof, unless this is expressly permitted or required by law, or unless you have been specifically told that you may do so by Google, in writing.
 
@@ -208,7 +208,7 @@
 <input id="pname" type="text" name="pname" size="47" value="" onkeyup="onFormInput()"
 onfocus="boxFocusChanged(this,true)" onblur="boxFocusChanged(this,false)"/>
 </p>
-<p><a href="" class="dac-button dac-raised dac-primary disabled ndk" id="registerButton" 
+<p><a href="" class="dac-button dac-raised dac-primary disabled ndk" id="registerButton"
 onclick="onRegister(); return false;" >Register with Android Backup Service</a></p>
 </div>
 
@@ -234,7 +234,7 @@
       );
     }
   }
-  
+
   function boxFocusChanged(obj, focused) {
     if (focused) {
       if(obj.value == DEFAULT_TEXT){
@@ -248,14 +248,14 @@
       }
     }
   }
-  
-  
+
+
   function onFormInput() {
     /* verify that the TOS is agreed and a bit version is chosen */
     var packagename = $("#pname").val();
     if ($("input#agree").is(":checked")
         && packagename.length
-        && packagename != DEFAULT_TEXT) {      
+        && packagename != DEFAULT_TEXT) {
       /* reveal the button */
       $("a#registerButton").removeClass('disabled');
     } else {
diff --git a/docs/html/google/index.jd b/docs/html/google/index.jd
index 027ba23..9b7ff0b 100644
--- a/docs/html/google/index.jd
+++ b/docs/html/google/index.jd
@@ -53,7 +53,7 @@
 <section class="dac-section dac-invert dac-darken-bg" style="background-image: url(/images/distribute/google-play-bg.jpg)"><div class="wrap">
   <h1 class="dac-section-title">Google Play developer tools</h1>
   <div class="dac-section-subtitle">
-    Scale your publishing, manage your catalog, build revenue using Google Play developer tools. 
+    Scale your publishing, manage your catalog, build revenue using Google Play developer tools.
   </div>
   <div class="resource-widget resource-flow-layout col-16"
        data-query="collection:google/landing/googleplay"
diff --git a/docs/html/google/play/billing/api.jd b/docs/html/google/play/billing/api.jd
index 6816ff1..62f3367 100644
--- a/docs/html/google/play/billing/api.jd
+++ b/docs/html/google/play/billing/api.jd
@@ -34,7 +34,7 @@
  <h2>See also</h2>
   <ol>
     <li><a href="{@docRoot}training/in-app-billing/index.html">Selling In-app Products</a></li>
-  </ol> 
+  </ol>
 </div>
 </div>
 
diff --git a/docs/html/google/play/licensing/adding-licensing.jd b/docs/html/google/play/licensing/adding-licensing.jd
index 3bf4c1a..bfd4f91 100644
--- a/docs/html/google/play/licensing/adding-licensing.jd
+++ b/docs/html/google/play/licensing/adding-licensing.jd
@@ -7,7 +7,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
   <h2>In this document</h2>
   <ol>
   <li><a href="#manifest-permission">Adding the Licensing Permission</a></li>
@@ -42,7 +42,7 @@
   <li><a href="#app-publishing">Publishing a Licensed Application</a></li>
   <li><a href="#support">Where to Get Support</a></li>
 </ol>
-  
+
 </div>
 </div>
 
@@ -572,7 +572,7 @@
 </li>
 <li>In case of a recoverable local or server error, such as when the network is
 not available to send the request, {@code LicenseChecker} passes a {@code RETRY} response to
-your {@code Policy} object's <code>processServerResponse()</code> method. 
+your {@code Policy} object's <code>processServerResponse()</code> method.
   <p>Also, both the {@code allow()} and {@code dontAllow()} callback methods receive a
 <code>reason</code> argument. The {@code allow()} method's reason is usually {@code
 Policy.LICENSED} or {@code Policy.RETRY} and the {@code dontAllow()} reason is usually {@code
@@ -672,7 +672,7 @@
             return;
         }
         displayResult(getString(R.string.dont_allow));
-        
+
         if (reason == Policy.RETRY) {
             // If the reason received from the policy is RETRY, it was probably
             // due to a loss of connection with the service, so we should give the
@@ -854,9 +854,9 @@
 <h3 id="account-key">Embed your public key for licensing</h3>
 
 <p>For each application, the Google Play service automatically
-generates a  2048-bit RSA public/private key pair that is used for 
-licensing and in-app billing. The key pair is uniquely associated with the 
-application. Although associated with the application, the key pair is 
+generates a  2048-bit RSA public/private key pair that is used for
+licensing and in-app billing. The key pair is uniquely associated with the
+application. Although associated with the application, the key pair is
 <em>not</em> the same as the key that you use to sign your applications (or derived from it).</p>
 
 <p>The Google Play Developer Console exposes the public key for licensing to any
@@ -876,11 +876,11 @@
 href="http://play.google.com/apps/publish">Developer Console</a> and sign in.
 Make sure that you sign in to the account from which the application you are
 licensing is published (or will be published). </li>
-<li>In the application details page, locate the <strong>Services & APIs</strong> 
+<li>In the application details page, locate the <strong>Services & APIs</strong>
 link and click it. </li>
-<li>In the <strong>Services & APIs</strong> page, locate the 
-<strong>Licensing & In-App Billing</strong> section. Your public key for 
-licensing is given in the 
+<li>In the <strong>Services & APIs</strong> page, locate the
+<strong>Licensing & In-App Billing</strong> section. Your public key for
+licensing is given in the
 <strong>Your License Key For This Application</strong> field. </li>
 </ol>
 
diff --git a/docs/html/google/play/licensing/licensing-reference.jd b/docs/html/google/play/licensing/licensing-reference.jd
index d4ca79a..2b16299 100644
--- a/docs/html/google/play/licensing/licensing-reference.jd
+++ b/docs/html/google/play/licensing/licensing-reference.jd
@@ -7,7 +7,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
   <h2>In this document</h2>
   <ol>
     <li><a href="#lvl-summary">LVL Classes and Interfaces</a></li>
@@ -418,7 +418,7 @@
 maintained in the <code>processServerResponse()</code> method, not shown. </p>
 
 
-<pre>    
+<pre>
 public boolean allowAccess() {
     long ts = System.currentTimeMillis();
     if (mLastResponse == LicenseResponse.LICENSED) {
diff --git a/docs/html/google/play/licensing/overview.jd b/docs/html/google/play/licensing/overview.jd
index ecb384d..8d7977e 100755
--- a/docs/html/google/play/licensing/overview.jd
+++ b/docs/html/google/play/licensing/overview.jd
@@ -6,14 +6,14 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
   <h2>Quickview</h2>
   <ul>
     <li>Licensing allows you to verify your app was purchased from Google Play</li>
     <li>Your app maintains control of how it enforces its licensing status</li>
     <li>The service is free for all developers who publish on Google Play</li>
   </ul>
-  
+
   <h2>In this document</h2>
   <ol>
   <li><a href="#Secure">License Responses are Secure</a></li>
@@ -21,7 +21,7 @@
   <li><a href="#Reqs">Requirements and Limitations</a></li>
   <li><a href="#CopyProtection">Replacement for Copy Protection</a></li>
 </ol>
-  
+
 </div>
 </div>
 
@@ -107,10 +107,10 @@
 server and you.</p>
 
 <p>The licensing service generates a single licensing key pair for each
-application and exposes the public key in your application's 
-<strong>Services & APIs</strong> page in the Developer Console. You must copy 
-the public key from the Developer Console and embed it in your application 
-source code. The server retains the private key internally and uses it to sign 
+application and exposes the public key in your application's
+<strong>Services & APIs</strong> page in the Developer Console. You must copy
+the public key from the Developer Console and embed it in your application
+source code. The server retains the private key internally and uses it to sign
 license responses for the applications you publish with that account.</p>
 
 <p>When your application receives a signed response, it uses the embedded public
@@ -209,7 +209,7 @@
 secure.</li>
 <li>Adding licensing to an application does not affect the way the application
 functions when run on a device that does not offer Google Play.</li>
-<li>You can implement licensing controls for a free app, but only if you're using the service to 
+<li>You can implement licensing controls for a free app, but only if you're using the service to
 provide <a
 href="{@docRoot}google/play/expansion-files.html">APK expansion files</a>.</li>
 </ul>
diff --git a/docs/html/google/play/publishing/multiple-apks.jd b/docs/html/google/play/publishing/multiple-apks.jd
index fd4481d..a878fb3 100644
--- a/docs/html/google/play/publishing/multiple-apks.jd
+++ b/docs/html/google/play/publishing/multiple-apks.jd
@@ -250,11 +250,11 @@
   </li>
 
   <li><strong>Device feature sets</strong>
-    <p>This is based on your manifest file's <a 
+    <p>This is based on your manifest file's <a
 href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a>
 element(s).</p>
     <p>For example, you can provide one APK for devices that support multitouch and another
-APK for devices that do not support multitouch. See 
+APK for devices that do not support multitouch. See
 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#features-reference">Features
 Reference</a> for a list of features supported by the platform.</p>
   <br/>
diff --git a/docs/html/guide/appendix/app-intents.jd b/docs/html/guide/appendix/app-intents.jd
index 8898927..5fb004f 100644
--- a/docs/html/guide/appendix/app-intents.jd
+++ b/docs/html/guide/appendix/app-intents.jd
@@ -89,13 +89,13 @@
        <tr><td>pitch</td><td>Panorama center-of-view in degrees from
            -90 (look straight up) to 90 (look straight down.)</td></tr>
        <tr><td>zoom</td><td>Panorama zoom. 1.0 = normal zoom, 2.0 = zoomed in 2x, 3.0 = zoomed in 4x, and so on.<br />
-       A zoom of 1.0 is 90 degree horizontal FOV for a nominal                                             
-       landscape mode 4 x 3 aspect ratio display.                                                          
-       Android phones in portrait mode will adjust the zoom so that                                        
-       the vertical FOV is approximately the same as the landscape vertical                                
-       FOV. This means that the horizontal FOV of an Android phone in portrait                             
-       mode is much narrower than in landscape mode. This is done to minimize                              
-       the fisheye lens effect that would be present if a 90 degree horizontal                             
+       A zoom of 1.0 is 90 degree horizontal FOV for a nominal
+       landscape mode 4 x 3 aspect ratio display.
+       Android phones in portrait mode will adjust the zoom so that
+       the vertical FOV is approximately the same as the landscape vertical
+       FOV. This means that the horizontal FOV of an Android phone in portrait
+       mode is much narrower than in landscape mode. This is done to minimize
+       the fisheye lens effect that would be present if a 90 degree horizontal
        FOV was used in portrait mode.</td></tr>
        <tr><td>mapZoom</td><td>The map zoom of the map location associated with this panorama. This value is passed on to the
        Maps activity when the Street View "Go to Maps" menu item is chosen. It corresponds to the <em>z</em> parameter in
diff --git a/docs/html/guide/appendix/g-app-intents.jd b/docs/html/guide/appendix/g-app-intents.jd
index 9ec72db..21c927b 100644
--- a/docs/html/guide/appendix/g-app-intents.jd
+++ b/docs/html/guide/appendix/g-app-intents.jd
@@ -83,7 +83,7 @@
           </td>
       </tr>
       <tr>
-          <td>Google Streetview</td>          
+          <td>Google Streetview</td>
 <td>google.streetview:cbll=<em>lat</em>,<em>lng</em>&amp;cbp=1,<em>yaw</em>,,<em>pitch</em>,<em>zoom</em>&amp;mz=<em>mapZoom</em>
           </td>
           <td>VIEW</td>
diff --git a/docs/html/guide/appendix/glossary.jd b/docs/html/guide/appendix/glossary.jd
index a200a6c..75a533a 100755
--- a/docs/html/guide/appendix/glossary.jd
+++ b/docs/html/guide/appendix/glossary.jd
@@ -15,7 +15,7 @@
 </dd>
 
     <dt id="dex">.dex file </dt>
-    <dd>Compiled Android application code file. 
+    <dd>Compiled Android application code file.
        <p>Android programs are compiled into .dex (Dalvik Executable) files, which
         are in turn zipped into a single .apk file on the device. .dex files can
         be created by automatically translating compiled applications written in
@@ -26,7 +26,7 @@
         a string value assigned to an Intent. Action strings can be defined by Android
         or by a third-party developer. For example, android.intent.action.VIEW
         for a Web URL, or com.example.rumbler.SHAKE_PHONE for a custom application
-        to vibrate the phone. 
+        to vibrate the phone.
     <p>Related: <a href="#intent">Intent</a>.</p>
     </dd>
 
@@ -41,8 +41,8 @@
     <dt id="adb">adb</dt>
     <dd>Android Debug Bridge, a command-line debugging application included with the
         SDK. It provides tools to browse the device, copy tools on the device, and
-        forward ports for debugging. If you are developing in Android Studio, 
-        adb is integrated into your development environment. See 
+        forward ports for debugging. If you are developing in Android Studio,
+        adb is integrated into your development environment. See
 		<a href="{@docRoot}tools/help/adb.html">Android Debug Bridge</a>
 		for more information. </dd>
 
@@ -90,7 +90,7 @@
     <dt id="ddms">DDMS</dt>
     <dd>Dalvik Debug Monitor Service, a GUI debugging application included
     with the SDK. It provides screen capture, log dump, and process
-    examination capabilities. If you are developing in Android Studio, 
+    examination capabilities. If you are developing in Android Studio,
     DDMS is integrated into your development environment. See <a
     href="{@docRoot}tools/debugging/ddms.html">Using DDMS</a> to learn more about the program.</dd>
 
@@ -100,7 +100,7 @@
     is not intended to persist in the history stack, contain complex layout,
     or perform complex actions. Android provides a default simple dialog for
     you with optional buttons, though you can define your own dialog layout.
-    The base class for dialogs is {@link android.app.Dialog Dialog}. 
+    The base class for dialogs is {@link android.app.Dialog Dialog}.
     <p>Related: <a href="#activity">Activity</a>.</p></dd>
 
     <dt id="drawable">Drawable</dt>
@@ -113,7 +113,7 @@
     &mdash; xml or bitmap files that describe the image. Drawable resources
     are compiled into subclasses of {@link android.graphics.drawable}. For
     more information about drawables and other resources, see <a
-    href="{@docRoot}guide/topics/resources/resources-i18n.html">Resources</a>. 
+    href="{@docRoot}guide/topics/resources/resources-i18n.html">Resources</a>.
     <p>Related: <a href="#resources">Resources</a>, <a href="#canvas">Canvas
     </a></p></dd>
 
@@ -133,7 +133,7 @@
     based on the criteria supplied in the Intent and the Intent Filters
     defined by other applications. For more information, see <a
     href="{@docRoot}guide/components/intents-filters.html">Intents and
-    Intent Filters</a>. 
+    Intent Filters</a>.
     <p>Related: <a href="#intentfilter">Intent Filter</a>, <a
     href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
 
@@ -147,7 +147,7 @@
     application/activity that best matches the Intent and criteria. For more
     information, see <a
     href="{@docRoot}guide/components/intents-filters.html">Intents and
-    Intent Filters</a>. 
+    Intent Filters</a>.
     <p>Related: <a href="#intent">Intent</a>, <a
     href="#broadcastreceiver">Broadcast Receiver</a>.</p></dd>
 
@@ -155,12 +155,12 @@
     <dd>An application class that listens for Intents that are broadcast,
     rather than being sent to a single target application/activity. The system
     delivers a broadcast Intent to all interested broadcast receivers, which
-    handle the Intent sequentially. 
-    <p>Related: <a href="#intent">Intent</a>, <a href="#intentfilter">Intent 
+    handle the Intent sequentially.
+    <p>Related: <a href="#intent">Intent</a>, <a href="#intentfilter">Intent
     Filter</a>.</p> </dd>
-	
+
     <dt id="layoutresource">Layout Resource</dt>
-    <dd>An XML file that describes the layout of an Activity screen. 
+    <dd>An XML file that describes the layout of an Activity screen.
     <p>Related: <a href="#resources">Resources</a></p></dd>
 
     <dt id="manifest">Manifest File</dt>
@@ -175,15 +175,15 @@
     <dd>A resizeable bitmap resource that can be used for backgrounds or other
     images on the device. See <a
     href="{@docRoot}guide/topics/resources/available-resources.html#ninepatch">
-    Nine-Patch Stretchable Image</a> for more information. 
+    Nine-Patch Stretchable Image</a> for more information.
     <p>Related: <a href="#resources">Resources</a>.</p></dd>
 
     <dt id="opengles">OpenGL ES</dt>
     <dd> Android provides OpenGL ES libraries that you can use for fast,
     complex 3D images. It is harder to use than a Canvas object, but
-    better for 3D objects. The {@link android.opengl} and 
-    {@link javax.microedition.khronos.opengles} packages expose 
-    OpenGL ES functionality. 
+    better for 3D objects. The {@link android.opengl} and
+    {@link javax.microedition.khronos.opengles} packages expose
+    OpenGL ES functionality.
     <p>Related: <a href="#canvas">Canvas</a>, <a href="#surface">Surface</a></p></dd>
 
     <dt id="resources">Resources</dt>
@@ -205,15 +205,15 @@
     <dt id="service">Service</dt>
     <dd>An object of class {@link android.app.Service} that runs in the
     background (without any UI presence) to perform various persistent
-    actions, such as playing music or monitoring network activity. 
+    actions, such as playing music or monitoring network activity.
     <p>Related: <a href="#activity">Activity</a></p></dd>
 
     <dt id="surface">Surface</dt>
     <dd>An object of type {@link android.view.Surface} representing a block of
     memory that gets composited to the screen. A Surface holds a Canvas object
     for drawing, and provides various helper methods to draw layers and resize
-    the surface. You should not use this class directly; use 
-    {@link android.view.SurfaceView} instead. 
+    the surface. You should not use this class directly; use
+    {@link android.view.SurfaceView} instead.
     <p>Related: <a href="#canvas">Canvas</a></p></dd>
 
     <dt id="surfaceview">SurfaceView</dt>
@@ -249,7 +249,7 @@
     windows, and so on). It receives calls from its parent object (see
     viewgroup, below)to draw itself, and informs its parent object about where
     and how big it would like to be (which may or may not be respected by the
-    parent). For more information, see {@link android.view.View}. 
+    parent). For more information, see {@link android.view.View}.
     <p>Related: <a href="#viewgroup">Viewgroup</a>, <a href="#widget">Widget
     </a></p></dd>
 
@@ -259,18 +259,18 @@
     they can be, as well as for calling each to draw itself when appropriate.
     Some viewgroups are invisible and are for layout only, while others have
     an intrinsic UI (for instance, a scrolling list box). Viewgroups are all
-    in the {@link android.widget widget} package, but extend 
-    {@link android.view.ViewGroup ViewGroup}. 
+    in the {@link android.widget widget} package, but extend
+    {@link android.view.ViewGroup ViewGroup}.
     <p>Related: <a href="#view">View</a></p></dd>
 
     <dt id="widget">Widget</dt>
     <dd>One of a set of fully implemented View subclasses that render form
     elements and other UI components, such as a text box or popup menu.
     Because a widget is fully implemented, it handles measuring and drawing
-    itself and responding to screen events. Widgets are all in the 
+    itself and responding to screen events. Widgets are all in the
     {@link android.widget} package. </dd>
 
- <!-- 
+ <!--
     <dt id="panel">Panel</dt>
     <dd> A panel is a concept not backed by a specific class. It is a View of
     some sort that is tied in closely to a parent window, but can handle
diff --git a/docs/html/guide/components/activities.jd b/docs/html/guide/components/activities.jd
index 070154d..e757288 100644
--- a/docs/html/guide/components/activities.jd
+++ b/docs/html/guide/components/activities.jd
@@ -622,7 +622,7 @@
 
 <p>The system calls {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()}
 before making the activity vulnerable to destruction. The system passes this method
-a {@link android.os.Bundle} in which you can save 
+a {@link android.os.Bundle} in which you can save
 state information about the activity as name-value pairs, using methods such as {@link
 android.os.Bundle#putString putString()} and {@link
 android.os.Bundle#putInt putInt()}. Then, if the system kills your application
diff --git a/docs/html/guide/components/fragments.jd b/docs/html/guide/components/fragments.jd
index f9c2a26..951d042 100644
--- a/docs/html/guide/components/fragments.jd
+++ b/docs/html/guide/components/fragments.jd
@@ -36,7 +36,7 @@
     <li>{@link android.app.FragmentManager}</li>
     <li>{@link android.app.FragmentTransaction}</li>
   </ol>
-  
+
   <h2>See also</h2>
   <ol>
     <li><a href="{@docRoot}training/basics/fragments/index.html">Building a Dynamic UI with Fragments</a></li>
@@ -306,7 +306,7 @@
   <ul>
     <li>Supply the {@code android:id} attribute with a unique ID.</li>
     <li>Supply the {@code android:tag} attribute with a unique string.</li>
-    <li>If you provide neither of the previous two, the system uses the ID of the container 
+    <li>If you provide neither of the previous two, the system uses the ID of the container
 view.</li>
   </ul>
 </div>
@@ -365,7 +365,7 @@
 
 <p>For an example activity that uses a fragment as a background worker, without a UI, see the {@code
 FragmentRetainInstance.java} sample, which is included in the SDK samples (available through the
-Android SDK Manager) and located on your system as 
+Android SDK Manager) and located on your system as
 <code>&lt;sdk_root&gt;/APIDemos/app/src/main/java/com/example/android/apis/app/FragmentRetainInstance.java</code>.</p>
 
 
@@ -381,7 +381,7 @@
   <li>Get fragments that exist in the activity, with {@link
 android.app.FragmentManager#findFragmentById findFragmentById()} (for fragments that provide a UI in
 the activity layout) or {@link android.app.FragmentManager#findFragmentByTag
-findFragmentByTag()} (for fragments that do or don't provide a UI).</li> 
+findFragmentByTag()} (for fragments that do or don't provide a UI).</li>
   <li>Pop fragments off the back stack, with {@link
 android.app.FragmentManager#popBackStack()} (simulating a <em>Back</em> command by the user).</li>
   <li>Register a listener for changes to the back stack, with {@link
@@ -568,7 +568,7 @@
 
 <p>If the activity has not implemented the interface, then the fragment throws a
 {@link java.lang.ClassCastException}.
-On success, the {@code mListener} member holds a reference to activity's implementation of 
+On success, the {@code mListener} member holds a reference to activity's implementation of
 {@code OnArticleSelectedListener}, so that fragment A can share events with the activity by calling
 methods defined by the {@code OnArticleSelectedListener} interface. For example, if fragment A is an
 extension of {@link android.app.ListFragment}, each time
@@ -798,7 +798,7 @@
 
 <p>The second fragment, {@code DetailsFragment} shows the play summary for the item selected from
 the list from {@code TitlesFragment}:</p>
- 
+
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java details}
 
 <p>Recall from the {@code TitlesFragment} class, that, if the user clicks a list item and the
@@ -811,7 +811,7 @@
 
 {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.java
 details_activity}
- 
+
 <p>Notice that this activity finishes itself if the configuration is landscape, so that the main
 activity can take over and display the {@code DetailsFragment} alongside the {@code TitlesFragment}.
 This can happen if the user begins the {@code DetailsActivity} while in portrait orientation, but
diff --git a/docs/html/guide/components/index.jd b/docs/html/guide/components/index.jd
index 811d015..d596b3b 100644
--- a/docs/html/guide/components/index.jd
+++ b/docs/html/guide/components/index.jd
@@ -1,7 +1,7 @@
 page.title=App Components
 page.landing=true
-page.landing.intro=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. 
-page.metaDescription=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. 
+page.landing.intro=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents.
+page.metaDescription=Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents.
 page.landing.image=images/develop/app_components.png
 page.image=images/develop/app_components.png
 
@@ -11,7 +11,7 @@
 
   <div class="col-6">
     <h3>Blog Articles</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2012/05/using-dialogfragments.html">
       <h4>Using DialogFragments</h4>
       <p>In this post, I’ll show how to use DialogFragments with the v4 support library (for backward compatibility on pre-Honeycomb devices) to show a simple edit dialog and return a result to the calling Activity using an interface.</p>
@@ -21,7 +21,7 @@
       <h4>Fragments For All</h4>
       <p>Today we’ve released a static library that exposes the same Fragments API (as well as the new LoaderManager and a few other classes) so that applications compatible with Android 1.6 or later can use fragments to create tablet-compatible user interfaces. </p>
     </a>
-    
+
     <a
 href="http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html">
       <h4>Multithreading for Performance</h4>
@@ -33,7 +33,7 @@
 
   <div class="col-6">
     <h3>Training</h3>
-    
+
     <a href="http://developer.android.com/training/basics/activity-lifecycle/index.html">
       <h4>Managing the Activity Lifecycle</h4>
       <p>This class explains important lifecycle callback methods that each Activity
diff --git a/docs/html/guide/components/loaders.jd b/docs/html/guide/components/loaders.jd
index ddd513b..7c4baa8 100644
--- a/docs/html/guide/components/loaders.jd
+++ b/docs/html/guide/components/loaders.jd
@@ -21,14 +21,14 @@
         </ol>
     </li>
   </ol>
-    
+
   <h2>Key classes</h2>
     <ol>
       <li>{@link android.app.LoaderManager}</li>
       <li>{@link android.content.Loader}</li>
 
-    </ol>   
-    
+    </ol>
+
     <h2>Related samples</h2>
    <ol>
      <li> <a
@@ -53,7 +53,7 @@
 recreated after a configuration change. Thus, they don't need to re-query their
 data.</li>
   </ul>
- 
+
 <h2 id="summary">Loader API Summary</h2>
 
 <p>There are multiple classes and interfaces that may be involved in using
@@ -131,10 +131,10 @@
 load data from some other source.</li>
   <li>An implementation for {@link android.app.LoaderManager.LoaderCallbacks}.
 This is where you create new loaders and manage your references to existing
-loaders.</li> 
+loaders.</li>
 <li>A way of displaying the loader's data, such as a {@link
 android.widget.SimpleCursorAdapter}.</li>
-  <li>A data source, such as a {@link android.content.ContentProvider}, when using a 
+  <li>A data source, such as a {@link android.content.ContentProvider}, when using a
 {@link android.content.CursorLoader}.</li>
 </ul>
 <h3 id="starting">Starting a Loader</h3>
@@ -142,7 +142,7 @@
 <p>The {@link android.app.LoaderManager} manages one or more {@link
 android.content.Loader} instances within an {@link android.app.Activity} or
 {@link android.app.Fragment}. There is only one {@link
-android.app.LoaderManager} per activity or fragment.</p> 
+android.app.LoaderManager} per activity or fragment.</p>
 
 <p>You typically
 initialize a {@link android.content.Loader} within the activity's {@link
@@ -159,13 +159,13 @@
 <ul>
   <li>A unique ID that identifies the loader. In this example, the ID is 0.</li>
 <li>Optional arguments to supply to the loader at
-construction (<code>null</code> in this example).</li> 
+construction (<code>null</code> in this example).</li>
 
 <li>A {@link android.app.LoaderManager.LoaderCallbacks} implementation, which
 the {@link android.app.LoaderManager} calls to report loader events. In this
 example, the local class implements the {@link
 android.app.LoaderManager.LoaderCallbacks} interface, so it passes a reference
-to itself, {@code this}.</li> 
+to itself, {@code this}.</li>
 </ul>
 <p>The {@link android.app.LoaderManager#initLoader initLoader()} call ensures that a loader
 is initialized and active. It has two possible outcomes:</p>
@@ -196,7 +196,7 @@
 starts and stops loading when necessary, and maintains the state of the loader
 and its associated content. As this implies, you rarely interact with loaders
 directly (though for an example of using loader methods to fine-tune a loader's
-behavior, see the <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> sample). 
+behavior, see the <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html"> LoaderThrottle</a> sample).
 You most commonly use the {@link
 android.app.LoaderManager.LoaderCallbacks} methods to intervene in the loading
 process when particular events occur. For more discussion of this topic, see <a
@@ -249,7 +249,7 @@
 &#8212; Called when a previously created loader has finished its load.
 </li></ul>
 <ul>
-  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}  
+  <li>{@link android.app.LoaderManager.LoaderCallbacks#onLoaderReset onLoaderReset()}
     &#8212; Called when a previously created loader is being reset,  thus  making its
 data unavailable.
 </li>
@@ -344,11 +344,11 @@
 
 <h4 id="onLoaderReset">onLoaderReset</h4>
 
-<p>This method is called when a previously created loader is being reset,  thus 
+<p>This method is called when a previously created loader is being reset,  thus
 making its data unavailable. This callback lets you find  out when the data is
 about to be released so you can remove your  reference to it.  </p>
-<p>This implementation calls 
-{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}  
+<p>This implementation calls
+{@link android.widget.SimpleCursorAdapter#swapCursor swapCursor()}
 with a value of <code>null</code>:</p>
 
 <pre>
@@ -370,7 +370,7 @@
 android.app.Fragment} that displays a {@link android.widget.ListView} containing
 the results of a query against the contacts content provider. It uses a {@link
 android.content.CursorLoader} to manage the query on the provider.</p>
- 
+
 <p>For an application to access a user's contacts, as shown in this example, its
 manifest must include the permission
 {@link android.Manifest.permission#READ_CONTACTS READ_CONTACTS}.</p>
diff --git a/docs/html/guide/components/processes-and-threads.jd b/docs/html/guide/components/processes-and-threads.jd
index 7bb3c65..2507998 100644
--- a/docs/html/guide/components/processes-and-threads.jd
+++ b/docs/html/guide/components/processes-and-threads.jd
@@ -121,7 +121,7 @@
 
       <ul>
         <li>It hosts an {@link android.app.Activity} that is not in the foreground, but is still
-visible to the user (its {@link android.app.Activity#onPause onPause()} method has been called). 
+visible to the user (its {@link android.app.Activity#onPause onPause()} method has been called).
 This might occur, for example, if the foreground activity started a dialog, which allows the
 previous activity to be seen behind it.</li>
 
diff --git a/docs/html/guide/practices/index.jd b/docs/html/guide/practices/index.jd
index b61272b..f34a6ba 100644
--- a/docs/html/guide/practices/index.jd
+++ b/docs/html/guide/practices/index.jd
@@ -1,7 +1,7 @@
 page.title=Best Practices
 excludeFromSuggestions=true
 page.landing=true
-page.landing.intro=Design and build apps the right way. Learn how to create apps that look great and perform well on as many devices as possible, from phones to tablets and more.  
+page.landing.intro=Design and build apps the right way. Learn how to create apps that look great and perform well on as many devices as possible, from phones to tablets and more.
 page.landing.image=
 
 @jd:body
@@ -10,20 +10,20 @@
 
   <div class="col-12">
     <h3>Blog Articles</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2010/10/improving-app-quality.html">
       <h4>Improving App Quality</h4>
       <p>One way of improving your app’s visibility in the ecosystem is by deploying well-targeted
 mobile advertising campaigns and cross-app promotions. However, there’s another time-tested method
 of fueling the impression-install-ranking cycle: improve the product!</p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html">
       <h4>Say Goodbye to the Menu Button</h4>
       <p>As Ice Cream Sandwich rolls out to more devices, it's important that you begin to migrate
 your designs to the action bar in order to promote a consistent Android user experience.</p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html">
       <h4>New Tools For Managing Screen Sizes</h4>
       <p>Android 3.2 includes new tools for supporting devices with a wide range of screen sizes.
@@ -31,14 +31,14 @@
 tablet. This release also offers several new APIs to simplify developers’ work in adjusting to
 different screen sizes.</p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2011/03/identifying-app-installations.html">
       <h4>Identifying App Installations</h4>
       <p>It is very common, and perfectly reasonable, for a developer to want to track individual
 installations of their apps. It sounds plausible just to call TelephonyManager.getDeviceId() and use
 that value to identify the installation. There are problems with this</p>
     </a>
-    
+
     <a
 href="http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html">
       <h4>Making Android Games that Play Nice</h4>
@@ -46,7 +46,7 @@
 often multi-core, multi-purpose system like Android is trickier. Even the best developers frequently
 make mistakes in the way they interact with the Android system and with other applications</p>
     </a>
-    
+
   </div>
 
 
diff --git a/docs/html/guide/practices/optimizing-for-3.0.jd b/docs/html/guide/practices/optimizing-for-3.0.jd
index 8d07eb9..db45e19 100644
--- a/docs/html/guide/practices/optimizing-for-3.0.jd
+++ b/docs/html/guide/practices/optimizing-for-3.0.jd
@@ -4,7 +4,7 @@
 
 
 <div id="deprecatedSticker">
-  <a href="#" 
+  <a href="#"
      onclick="$('#naMessage').show();$('#deprecatedSticker').hide();return false">
     <strong>This doc is deprecated</strong></a>
 </div>
@@ -181,7 +181,7 @@
       <li>Perform your usual tests to be sure everything works and looks as expected.</li>
     </ol>
   </li>
-  
+
   <li><b>Apply the new "holographic" theme to your application</b>
     <ol>
       <li>Open your manifest file and update the <a
@@ -191,7 +191,7 @@
 android:targetSdkVersion}</a> to {@code "11"}. For example:
 <pre>
 &lt;manifest ... >
-    &lt;uses-sdk android:minSdkVersion="4" 
+    &lt;uses-sdk android:minSdkVersion="4"
               android:targetSdkVersion="11" /&gt;
     &lt;application ... >
         ...
@@ -446,7 +446,7 @@
 GridView.</li>
   <li><a
 href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html">
-Content Loaders</a>: An example using new Loader APIs to asynchronously load data.</li>      
+Content Loaders</a>: An example using new Loader APIs to asynchronously load data.</li>
   <li><a
 href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">
 Property Animation</a>: Several samples using the new animation APIs to animate object
@@ -624,7 +624,7 @@
 application can function in landscape. Even if you want to avoid rotating the screen while your
 application is running, you should not assume that portrait is the device's default orientation. You
 should either ensure that your layout is usable in both portrait and landscape orientations or
-provide an <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources" 
+provide an <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources"
 >alternative layout resource</a> for landscape orientation.</p>
 
 <p>If you believe your application or game provides its best experience when the screen is tall,
diff --git a/docs/html/guide/practices/screen-compat-mode.jd b/docs/html/guide/practices/screen-compat-mode.jd
index 34580ba..18a089e 100644
--- a/docs/html/guide/practices/screen-compat-mode.jd
+++ b/docs/html/guide/practices/screen-compat-mode.jd
@@ -75,7 +75,7 @@
 href="{@docRoot}guide/topics/manifest/supports-screens-element.html#resizeable">{@code
 android:resizeable}</a> to {@code "true"}.</p>
   </dd>
-  
+
   <dt>Version 2 (Android 3.2 and greater)</dt>
   <dd>The system draws the application's layout the same as
 it would on a normal size handset (approximately emulating a 320dp x 480dp screen), then scales it
@@ -151,9 +151,9 @@
 system will always resize your layout to fit the screen. This works regardless of what values
 you've set in the <a
 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code <uses-sdk>}</a>
-attributes.</p> 
+attributes.</p>
   </li>
-  
+
   <li><strong>Easy but has other effects:</strong>
     <p>In your manifest's <a
 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code <uses-sdk>}</a>
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 2223dbf..ea9f988 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -139,7 +139,7 @@
   <p>The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is
 the baseline density assumed by the system for a "medium" density screen. At runtime, the system
 transparently handles any scaling of the dp units, as necessary, based on the actual density of the
-screen in use. The conversion of dp units to screen pixels is simple: 
+screen in use. The conversion of dp units to screen pixels is simple:
 <nobr><code>px = dp * (dpi / 160)</code></nobr>.
 For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units
 when defining your application's UI, to ensure proper display of your UI on screens with different
@@ -214,7 +214,7 @@
 </ul>
 
 <p class="note"><strong>Note:</strong> These minimum screen sizes were not as well defined prior to
-Android 3.0, so you may encounter some devices that are mis-classified between normal and large. 
+Android 3.0, so you may encounter some devices that are mis-classified between normal and large.
 These are also based on the physical resolution of the screen, so may vary across devices&mdash;for
 example a 1024x720 tablet with a system bar actually has a bit less space available to the
 application due to it being used by the system bar.</p>
@@ -904,7 +904,7 @@
 manifest element:</p>
 
 <dl>
-  
+
   <dt><a
 href="{@docRoot}guide/topics/manifest/supports-screens-element.html#requiresSmallest">
 {@code android:requiresSmallestWidthDp}</a></dt>
diff --git a/docs/html/guide/practices/tablets-and-handsets.jd b/docs/html/guide/practices/tablets-and-handsets.jd
index 85327b6..a1bafd3 100644
--- a/docs/html/guide/practices/tablets-and-handsets.jd
+++ b/docs/html/guide/practices/tablets-and-handsets.jd
@@ -89,7 +89,7 @@
 </li>
 
 
-  <li><strong>Use the action bar</strong>, but follow best practices and ensure your design 
+  <li><strong>Use the action bar</strong>, but follow best practices and ensure your design
 is flexible enough for the system to adjust the action bar layout based on the screen size.
 
 <p>The {@link android.app.ActionBar} is a UI component for activities that replaces the traditional
diff --git a/docs/html/guide/practices/ui_guidelines/activity_task_design.jd b/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
index f6669e4..b66fdd4 100644
--- a/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/activity_task_design.jd
@@ -8,7 +8,7 @@
 
 
 <div id="deprecatedSticker">
-  <a href="#" 
+  <a href="#"
      onclick="$('#naMessage').show();$('#deprecatedSticker').hide();return false">
     <strong>This doc is deprecated</strong></a>
 </div>
@@ -105,7 +105,7 @@
 <p>
   It illustrates activities and tasks with examples, and describes some
   of their underlying principles and mechanisms, such as navigation,
-  multitasking, activity re-use, intents, and the activity stack. 
+  multitasking, activity re-use, intents, and the activity stack.
   The document also highlights design decisions that are available to you
   and what control they give you over the UI of your application.
 </p>
@@ -146,7 +146,7 @@
 
 <p>
   An Android <em>application</em> typically consists of one or more
-  related, loosely bound activities <!--(and possibly 
+  related, loosely bound activities <!--(and possibly
   <a href=#services_broadcast_receivers title="other components">other
   components</a>)--> for the user to interact with, typically bundled up
   in a single file (with an .apk suffix). Android ships with a rich set
@@ -186,10 +186,10 @@
   seamless, activity after activity, <a href="#tasks">task</a> after
   task.
 </p>
-  
+
 <p>
   An activity handles a particular type of content (data) and accepts a
-  set of related user actions. Each activity has a 
+  set of related user actions. Each activity has a
   <a href="{@docRoot}guide/components/activities.html#Lifecycle">lifecycle</a> that is
 independent of the other
   activities in its application or task &mdash; each activity is
@@ -283,7 +283,7 @@
   to the activity stack, so that pressing <em>Back</em> displays the previous
   activity on the stack. However, the user cannot use the <em>Back</em> button to go
   back further than the last visit to Home. The adding of an activity to
-  the current stack happens whether or not that activity begins a new 
+  the current stack happens whether or not that activity begins a new
   <a href=#tasks title=task>task</a> (as long as that task was started
   without going Home), so going back can let the user go back to
   activities in previous tasks. The user can get to tasks earlier than
@@ -297,7 +297,7 @@
   designing the navigation, if you have screen A and you want the user
   to be able go to a subsequent screen B and then use the <em>Back</em> button to go
   back to screen A, then the screen A needs to be implemented as an
-  activity. The one exception to this rule is if your application 
+  activity. The one exception to this rule is if your application
   <a href="#taking_over_back_key">takes control of the <em>Back</em> button</a> and manages the
 navigation
 itself.
@@ -340,7 +340,7 @@
         Send a text message with an attachment
       </li>
       <li>
-        View a YouTube video and share it by email with someone else 
+        View a YouTube video and share it by email with someone else
       </li>
     </ul>
 
@@ -666,7 +666,7 @@
   mailto:info@example.com link, they are actually initiating an Intent
   object, or just an <em>intent</em>,  which then gets resolved to a
   particular component (we consider only activity components here).
-  So, the result of a user touching a mailto: link is an Intent object 
+  So, the result of a user touching a mailto: link is an Intent object
   that the system tries to match to an activity. If that Intent object was
   written explicitly naming an activity (an <em>explicit intent</em>),
   then the system immediately launches that activity in response to the user
@@ -925,7 +925,7 @@
   For instance, you could disable the user control that initiates
   the Intent object, or display a message to the user that lets them go
   to a location, such as Google Play, to download its application.
-  In this way, your code can start the activity (using either startActivity() 
+  In this way, your code can start the activity (using either startActivity()
   or startActivityForResult()) only if the intent has tested to resolve
   to an activity that is actually present.
 </p>
@@ -947,7 +947,7 @@
         launcher</em> (typically implemented as a sliding drawer on the
         Home screen), or from a shortcut icon on the Home screen, or
         from the task switcher.  (The mechanism for this is for the
-        activity to have an 
+        activity to have an
         <a href={@docRoot}guide/components/intents-filters.html>intent filter</a> with action
 MAIN and
         category LAUNCHER.)
@@ -1103,7 +1103,7 @@
   activity to be run.
 </p>
 
-    
+
 <h3 id="notifications_get_back_tip">Notifications and App Widgets should provide consistent back behavior</h3>
 <p>
   Notifications and app widgets are two common ways that a user can launch
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design.jd b/docs/html/guide/practices/ui_guidelines/icon_design.jd
index 0726660..6b546c9 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design.jd
@@ -58,7 +58,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
@@ -72,13 +72,13 @@
 
 <p>This document provides information to help you create icons for various parts
 of your application’s user interface that match the general styles used by the
-Android 2.x framework. Following these guidelines will help you to create a 
+Android 2.x framework. Following these guidelines will help you to create a
 polished and unified experience for the user.</p>
 
 <p>The following documents discuss detailed guidelines for the common types of
 icons used throughout Android applications:</p>
 
-<dl> 
+<dl>
   <dt><strong><a href="icon_design_launcher.html">Launcher Icons</a></strong></dt>
   <dd>A Launcher icon is a graphic that represents your application on the
   device's Home screen and in the Launcher window.</dd>
@@ -103,7 +103,7 @@
   graphically represent list items. An example is the Settings application.</dd>
 </dl>
 
-<p>To get started creating your icons more quickly, you can download 
+<p>To get started creating your icons more quickly, you can download
 the Android Icon Templates Pack.</p>
 
 
@@ -142,7 +142,7 @@
 <p>Android is designed to run on a variety of devices that offer a range of
 screen sizes and resolutions. When you design the icons for your application,
 it's important keep in mind that your application may be installed on any of
-those devices. As described in the <a 
+those devices. As described in the <a
 href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
 Screens</a> document, the Android platform makes it straightforward for you to
 provide icons in such a way that they will be displayed properly on any device,
@@ -158,7 +158,7 @@
 href="{@docRoot}guide/practices/screens_support.html#qualifiers">Resource
 directory qualifiers for screen size and density</a>. </p>
 
-<p>For tips on how to create and manage icon sets for multiple densities, see 
+<p>For tips on how to create and manage icon sets for multiple densities, see
 <a href="#design-tips">Tips for Designers</a>.</p>
 
 
@@ -290,7 +290,7 @@
 cleaner to tweak the icons when you scale the artboard down to the target
 sizes for final asset creation.</p>
 
-  
+
 
 <h3>When scaling, redraw bitmap layers as needed</h3>
 
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_action_bar.jd b/docs/html/guide/practices/ui_guidelines/icon_design_action_bar.jd
index 831de45..37657f4 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_action_bar.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_action_bar.jd
@@ -31,7 +31,7 @@
 </div>
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_dialog.jd b/docs/html/guide/practices/ui_guidelines/icon_design_dialog.jd
index c958ed9..a7ee73f 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_dialog.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_dialog.jd
@@ -29,7 +29,7 @@
 </div>
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_launcher.jd b/docs/html/guide/practices/ui_guidelines/icon_design_launcher.jd
index f47e186..3bb1a62 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_launcher.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_launcher.jd
@@ -28,7 +28,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_launcher_archive.jd b/docs/html/guide/practices/ui_guidelines/icon_design_launcher_archive.jd
index 2df3a22..483e076 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_launcher_archive.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_launcher_archive.jd
@@ -95,7 +95,7 @@
 share with others on the device. Figure 1, at right, provides examples.  </p>
 
 <div class="figure">
-  <img src="{@docRoot}images/icon_design/IconGraphic_Icons_i.png" 
+  <img src="{@docRoot}images/icon_design/IconGraphic_Icons_i.png"
     width="340">
   <p class="img-caption">
     <strong>Figure 1.</strong> Example launcher icons for Android 2.0 and
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_list.jd b/docs/html/guide/practices/ui_guidelines/icon_design_list.jd
index 29e1a93..fa350bc 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_list.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_list.jd
@@ -30,7 +30,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_menu.jd b/docs/html/guide/practices/ui_guidelines/icon_design_menu.jd
index a5b3597..25b23d0 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_menu.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_menu.jd
@@ -34,7 +34,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
@@ -267,7 +267,7 @@
 appropriate. For example, in Figure 3 the logical place for rounded corners is
 the roof and not the rest of the building.</span></li>
 
-<li>All dimensions specified on this page are based on a 48x48 pixel artboard 
+<li>All dimensions specified on this page are based on a 48x48 pixel artboard
 size with a 6 pixel safeframe.</li>
 
 <li>The menu icon effect (the outer glow) described in <a
@@ -277,7 +277,7 @@
 
 <li><strong>Final art must be exported as a transparent PNG file.</strong></li>
 
-<li>Templates for creating menu icons in Adobe Photoshop are available in the 
+<li>Templates for creating menu icons in Adobe Photoshop are available in the
 Icon Templates Pack.</li>
 </ul>
 
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_status_bar.jd b/docs/html/guide/practices/ui_guidelines/icon_design_status_bar.jd
index 4993adb..27df450 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_status_bar.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_status_bar.jd
@@ -42,7 +42,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_tab.jd b/docs/html/guide/practices/ui_guidelines/icon_design_tab.jd
index cbe6706..308e6d0 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_tab.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_tab.jd
@@ -34,7 +34,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
 for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
@@ -291,10 +291,10 @@
 the Android platform.</p>
 
 <p class="warning"><strong>Warning:</strong>
-Because these resources can change between platform versions, you 
+Because these resources can change between platform versions, you
 should not reference the system's copy of the resources. If you want to
 use any icons or other internal drawable resources, you should store a
-local copy of those icons or drawables in your application resources, 
+local copy of those icons or drawables in your application resources,
 then reference the local copy from your application code. In that way, you can
 maintain control over the appearance of your icons, even if the system's
 copy changes. Note that the grid below is not intended to be complete.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/index.jd b/docs/html/guide/practices/ui_guidelines/index.jd
index 91a0725..713109c 100644
--- a/docs/html/guide/practices/ui_guidelines/index.jd
+++ b/docs/html/guide/practices/ui_guidelines/index.jd
@@ -7,7 +7,7 @@
 <div class="note design" style="background:none;overflow:auto;padding:10px 5px">
   <a href="{@docRoot}design/index.html"><img src="{@docRoot}images/home/android-design.png" alt=""
 style="float:left;margin:0 1em 0 0;"/></a>
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>The Android UX team has put together a set of guidelines for the interaction and
 visual design of Android applications. The new collection provides an overview of
 Android styles, design patterns, building blocks for exceptional Android designs, and more.</p>
diff --git a/docs/html/guide/practices/ui_guidelines/menu_design.jd b/docs/html/guide/practices/ui_guidelines/menu_design.jd
index bf87bdd..9497525 100644
--- a/docs/html/guide/practices/ui_guidelines/menu_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/menu_design.jd
@@ -8,7 +8,7 @@
 
 
 <div id="deprecatedSticker">
-  <a href="#" 
+  <a href="#"
      onclick="$('#naMessage').show();$('#deprecatedSticker').hide();return false">
     <strong>This doc is deprecated</strong></a>
 </div>
@@ -16,7 +16,7 @@
 
 <div id="naMessage" style="display:block">
 <div><p><strong>This document has been deprecated.</strong></p>
- <p>For design guidelines about adding user actions and other options, read the design guidelines 
+ <p>For design guidelines about adding user actions and other options, read the design guidelines
 for <a href="{@docRoot}design/patterns/actionbar.html">Action Bar</a> or the developer guide about
 <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a>.</p>
 
@@ -25,7 +25,7 @@
 onclick="$('#naMessage').hide();$('#deprecatedSticker').show()" />
 </div>
 </div>
-	
+
 
 
 
@@ -37,7 +37,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-			
+
 <h2>Quickview</h2>
 
 <ul>
@@ -85,15 +85,15 @@
 </ol>
 
 </div>
-</div>       
+</div>
 
 <p>
   A menu holds a set of commands (user actions) that are normally hidden, and
   are accessible by a button, key, or gesture.  Menu commands provide a means
-  for performing operations and for navigating to other parts of your 
+  for performing operations and for navigating to other parts of your
   application or other applications.  Menus are useful for freeing screen space,
   as an alternative to placing functionality and navigation, in buttons or other
-  user controls in the content area of your application. 
+  user controls in the content area of your application.
 </p>
 
 <p>
@@ -102,7 +102,7 @@
   the functionality and navigation for your application.  Briefly:
   <ul>
     <li>The <em>Options menu</em> contains primary functionality that applies
-        globally to the current activity or starts a related activity. 
+        globally to the current activity or starts a related activity.
         It is typically invoked by a user pressing a hard button, often labeled <em>Menu</em>.</li>
     <li>The <em>Context menu</em> contains secondary functionality for the currently
         selected item.  It is typically invoked by a user's touch &amp; hold
@@ -113,11 +113,11 @@
 
 <p>
   All but the simplest applications have menus.  The system automatically
-  lays the menus out and provides standard ways for users to access them.  
+  lays the menus out and provides standard ways for users to access them.
   In this sense, they are familiar and dependable ways for users to access
   functionality across all applications.  All menus are panels that "float"
   on top of the activity screen and are smaller than full screen, so that the
-  application is still visible around its edges.  This is a visual reminder 
+  application is still visible around its edges.  This is a visual reminder
   that a menu is an intermediary operation that disappears once it's used.
 </p>
 
@@ -127,8 +127,8 @@
 
 <h2 id="tour_of_the_menus">Tour of the Menus</h2>
 
-<p class="note"><strong>Note:</strong> Your menus and screens might not look 
-like those shown in this document; they may vary from one version of Android 
+<p class="note"><strong>Note:</strong> Your menus and screens might not look
+like those shown in this document; they may vary from one version of Android
 or device to another.
 </p>
 
@@ -137,13 +137,13 @@
 <p>
   The Options menu contains commands that apply globally across the current
   activity, or can start another activity. They do not apply to a selected
-  item in the content (a <a href="#context_menu">Context menu</a> does that).  
+  item in the content (a <a href="#context_menu">Context menu</a> does that).
 </p>
 
 <p>
-  On most devices, a user presses the <em>Menu</em> button to access the Options menu, 
-  as shown in the screenshot below.  To close the menu, the user presses 
-  <em>Menu</em> again, or presses the <em>Back</em> button. 
+  On most devices, a user presses the <em>Menu</em> button to access the Options menu,
+  as shown in the screenshot below.  To close the menu, the user presses
+  <em>Menu</em> again, or presses the <em>Back</em> button.
   In fact, to cancel out of any menu, press the <em>Back</em> button.  (Pressing the <em>Menu</em>
   button or touching outside the menu also works.)  Note that how to invoke this
   menu may be different on different devices.
@@ -153,15 +153,15 @@
   Each
   <a href="{@docRoot}guide/practices/ui_guidelines/activity_task_design.html#activities">activity</a>
   activity has its own set of operations and therefore its own Options menu.
-  An application with multiple activities would have a different Options menu 
-  for each activity. 
+  An application with multiple activities would have a different Options menu
+  for each activity.
 </p>
 
 <p>
   For example, in the message list view of an email program, the Options menu
-  might let you search the messages, compose a new message, refresh the list, 
-  or change the email settings.  The compose view of an email program would 
-  have a different Options menu, such as adding a CC field, attaching a file, 
+  might let you search the messages, compose a new message, refresh the list,
+  or change the email settings.  The compose view of an email program would
+  have a different Options menu, such as adding a CC field, attaching a file,
   or discarding the message.
 </p>
 
@@ -179,7 +179,7 @@
   <li>
     <b>Options expanded menu</b> - If the activity has more menu items than will
     fit on the icon menu, then the last icon is labeled "More" &mdash; selecting it
-    displays a list that can contain any number of menu items and will scroll 
+    displays a list that can contain any number of menu items and will scroll
     as necessary.
   </li>
 </ul>
@@ -202,18 +202,18 @@
 
 <p>
   A user can touch &amp; hold on content on the screen to
-  access a Context menu (if one exists), as shown in the screenshot below. 
+  access a Context menu (if one exists), as shown in the screenshot below.
   A Context menu is a list of menu items (commands) that can operate
   on the selected content.  The command can either be part of the current
-  activity, or the system can pass the selected content along to 
-  an operation in another activity (by way of an 
+  activity, or the system can pass the selected content along to
+  an operation in another activity (by way of an
   <a href="{@docRoot}guide/practices/ui_guidelines/activity_task_design.html#intents">intent</a>).
 </p>
 
 <p>
   For example, in an email message list, a user can touch &amp; hold on
   an email message to open a Context menu containing commands to read,
-  archive, or delete the message. 
+  archive, or delete the message.
 </p>
 
 <p id="location">
@@ -231,7 +231,7 @@
   In the above example, if the user performs touch &amp; hold on the contact
   "Obi Wan Kenobi", a Context menu opens.  The commands provided in
   this Context menu are the complete set of actions that can be performed
-  on this contact. 
+  on this contact.
 </p>
 
 <p>
@@ -246,7 +246,7 @@
 <p>
   Also note, as shown in the following screenshot, the Context menu and the
   next screen both hold the same complete set of commands that can be performed
-  on this contact.  The Context menu displays the commands in a list, 
+  on this contact.  The Context menu displays the commands in a list,
   while the "View contact" activity splits them into various items in the
   Options menu, icon buttons and list items.
 </p>
@@ -268,10 +268,10 @@
 <h4>Text Commands in Context Menu</h4>
 
 <p>
-  Text links and text fields in the content both have system-provided operations 
+  Text links and text fields in the content both have system-provided operations
   that are common across all applications: operations such as "Select all", "Select text",
-  "Copy all", and "Add to dictionary".  If the text field is editable, it also 
-  has  other operations, such as "Cut all" and "Input Method", and if text 
+  "Copy all", and "Add to dictionary".  If the text field is editable, it also
+  has  other operations, such as "Cut all" and "Input Method", and if text
   is also on the clipboard, it has "Paste".  The system automatically inserts
   the appropriate menu items into the Context menu of text links and text
   fields, as shown in the following screenshot.
@@ -342,7 +342,7 @@
   An example of a selection-specific Context menu is when a user performs a
   touch &amp; hold on a person's name in a list view of a contacts application.
   The Context menu would typically contain commands "View contact", "Call contact",
-  and "Edit contact".  
+  and "Edit contact".
 </p>
 
 <h3 id="most_frequently_used">Place the most frequently used operations first</h3>
@@ -365,7 +365,7 @@
 
 <h3 id="dont_put_commands">Don't put commands <em>only</em> in a Context menu</h3>
 <p>
-  If a user can fully access your application without using Context menus, 
+  If a user can fully access your application without using Context menus,
   then it's designed properly!  In general, if part of your application is inaccessible
   without using Context menus, then you need to duplicate those commands elsewhere.
 </p>
@@ -373,8 +373,8 @@
 <p>
   Before opening a Context menu, it has no visual representation that identifies
   its presence (whereas the Options menu has the <em>Menu</em> button), and so is not
-  particularly discoverable. 
-  Therefore, in general, a Context menu should <em>duplicate</em> commands 
+  particularly discoverable.
+  Therefore, in general, a Context menu should <em>duplicate</em> commands
   found in the corresponding activity screen.  For example, while it's useful to
   let the user call a phone number from a Context menu invoked by touch
   &amp; hold on a name in a list of contacts, that operation should <em>also</em>
@@ -388,7 +388,7 @@
   As described under <a href="#context_menu_shortcut">shortcut</a>,
   touching on an item in the content should activate the same command as touching
   the first item in the Context menu.  Both cases should be the most intuitive
-  operation for that item.  
+  operation for that item.
 </p>
 
 <h3 id="selecting_content_item">Selecting an item in the content should perform the most intuitive operation</h3>
@@ -427,13 +427,13 @@
 <h3 id="context_menu_should_identify">A Context menu should identify the selected item</h3>
 
 <p>
-  When a user does touch &amp; hold on an item, the Context menu should 
-  contain the name of the selected item.  Therefore, 
+  When a user does touch &amp; hold on an item, the Context menu should
+  contain the name of the selected item.  Therefore,
   when creating a Context menu, be sure to include a title and the name of the
-  selected item so that it's clear to the user what the context is.  
+  selected item so that it's clear to the user what the context is.
   For example, if a user selects a contact "Joan of Arc", put that name in the
   title of the Context menu (using
-  {@link android.view.ContextMenu#setHeaderTitle(java.lang.CharSequence) setHeaderTitle}). 
+  {@link android.view.ContextMenu#setHeaderTitle(java.lang.CharSequence) setHeaderTitle}).
   Likewise, a command to edit the contact should be called "Edit contact",
   not just "Edit".
 </p>
@@ -442,7 +442,7 @@
 <h3 id="most_important_commands">Put only the most important commands fixed on the screen</h3>
 
 <p>
-  By putting commands in menus, you free up the screen to hold more content. 
+  By putting commands in menus, you free up the screen to hold more content.
   On the other hand, fixing commands in the content area of an activity
   makes them more prominent and easy to use.
 </p>
@@ -456,7 +456,7 @@
       To give a command the highest prominence, ensuring the command is obvious and won't be overlooked.<br>
       Example: A "Buy" button in a store application.
     </li>
-    <li> 
+    <li>
       When quick access to the command is important and going to the menu would be
       tedious or slow.<br>
       Example: Next/Previous buttons or Zoom In/Out buttons in an image viewing application.
@@ -494,7 +494,7 @@
   When a dialog is displayed, pressing the <em>Menu</em> button should do nothing.  This also holds
 true
   for activities that look like dialogs.  A dialog box is recognizable by being
-  smaller than full-screen, having zero to three buttons, is non-scrollable, and 
+  smaller than full-screen, having zero to three buttons, is non-scrollable, and
   possibly a list of selectable items that can include checkboxes or radio buttons.
   <!--For examples of dialogs, see Text Guidelines.-->
 </p>
@@ -520,12 +520,12 @@
 
 <p>
   Sometimes a menu item's action cannot be performed &mdash; for example,
-  the "Forward" button in a browser cannot work until after the "Back" 
+  the "Forward" button in a browser cannot work until after the "Back"
   button has been pressed. We recommend:
 </p>
 
 <ul>
-  <li> 	
+  <li>
     <b>In Options menu</b> - disable the menu item, which dims the text and icon,
     turning it gray.  This applies to menu items in both the icon menu and the
     "More" menu.  It would be disorienting for the icon menu to change from 6
diff --git a/docs/html/guide/practices/ui_guidelines/widget_design.jd b/docs/html/guide/practices/ui_guidelines/widget_design.jd
index cf2cd64..95c594d 100644
--- a/docs/html/guide/practices/ui_guidelines/widget_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/widget_design.jd
@@ -46,7 +46,7 @@
 
 
 <div class="note design">
-<p><strong>New Guides for App Designers!</strong></p> 
+<p><strong>New Guides for App Designers!</strong></p>
 <p>Check out the new documents for designers at <strong><a
 href="{@docRoot}design/index.html">Android Design</a></strong>.</p>
 </div>
diff --git a/docs/html/guide/topics/admin/device-admin.jd b/docs/html/guide/topics/admin/device-admin.jd
index e2fef04..2a8583a 100644
--- a/docs/html/guide/topics/admin/device-admin.jd
+++ b/docs/html/guide/topics/admin/device-admin.jd
@@ -135,60 +135,60 @@
 combination of letters and numbers. They may include symbolic characters.
     </td>
   </tr>
-  
+
   <tr>
     <td>Complex password required</td>
     <td>Requires that passwords must contain at least a letter, a numerical digit, and a special symbol. Introduced in Android 3.0.
     </td>
   </tr>
-  
-<tr> 
+
+<tr>
   <td>Minimum letters required in password</td> <td>The minimum number of
-letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
+letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
-  
-  
-  <tr> 
-  <td>Minimum lowercase letters required in password</td> 
-  <td>The minimum number of lowercase 
-letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
+
+
+  <tr>
+  <td>Minimum lowercase letters required in password</td>
+  <td>The minimum number of lowercase
+letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
-  
-  <tr> 
-  <td>Minimum non-letter characters required in password</td> 
+
+  <tr>
+  <td>Minimum non-letter characters required in password</td>
   <td>The minimum number of
-non-letter characters required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
-</tr>
-  
-<tr> 
-  <td>Minimum numerical digits required in password</td> 
-  <td>The minimum number of numerical digits required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
+non-letter characters required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
 
-<tr> 
-  <td>Minimum symbols required in password</td> 
-  <td>The minimum number of symbols required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
+<tr>
+  <td>Minimum numerical digits required in password</td>
+  <td>The minimum number of numerical digits required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
 
-<tr> 
-  <td>Minimum uppercase letters required in password</td> 
-  <td>The minimum number of uppercase letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td> 
+<tr>
+  <td>Minimum symbols required in password</td>
+  <td>The minimum number of symbols required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
 
-<tr> 
-  <td>Password expiration timeout</td> 
-  <td>When the password will expire, expressed as a delta in milliseconds from when a device admin sets the expiration timeout. Introduced in Android 3.0.</td> 
+<tr>
+  <td>Minimum uppercase letters required in password</td>
+  <td>The minimum number of uppercase letters required in the password for all admins or a particular one. Introduced in Android 3.0.</td>
 </tr>
 
-<tr> 
-  <td>Password history restriction</td> 
+<tr>
+  <td>Password expiration timeout</td>
+  <td>When the password will expire, expressed as a delta in milliseconds from when a device admin sets the expiration timeout. Introduced in Android 3.0.</td>
+</tr>
+
+<tr>
+  <td>Password history restriction</td>
   <td>This policy prevents users from reusing the last <em>n</em> unique passwords.
  This policy is typically used in conjunction with
 {@link android.app.admin.DevicePolicyManager#setPasswordExpirationTimeout(android.content.ComponentName,long) setPasswordExpirationTimeout()}, which forces
 users to update their passwords after a specified amount of time has elapsed.
-Introduced in Android 3.0.</td> 
+Introduced in Android 3.0.</td>
 </tr>
-  
+
   <tr>
     <td>Maximum failed password attempts </td>
     <td>Specifies how many times a user can enter the wrong password before the
@@ -203,18 +203,18 @@
 need to enter their PIN or passwords again before they can use their devices and
 access data.  The value can be between 1 and 60 minutes.</td> </tr>
 
-<tr> 
-<td>Require storage encryption</td> 
-<td>Specifies that the storage area should be encrypted, if the device supports it. 
+<tr>
+<td>Require storage encryption</td>
+<td>Specifies that the storage area should be encrypted, if the device supports it.
 Introduced in Android 3.0.</td> </tr>
 
 <tr>
   <td>Disable camera</td>
-  
+
   <td>Specifies that the camera should be disabled. Note that this doesn't have
 to be a permanent disabling. The camera can be enabled/disabled dynamically
 based on context, time, and so on. Introduced in Android 4.0.</td>
-  
+
 </tr>
 
 
@@ -234,7 +234,7 @@
 
 <p>The examples used in this document are based on the Device Administration API
 sample, which is included in the SDK samples (available through the
-Android SDK Manager) and located on your system as 
+Android SDK Manager) and located on your system as
 <code>&lt;sdk_root&gt;/ApiDemos/app/src/main/java/com/example/android/apis/app/DeviceAdminSample.java</code>.</p>
 
 <p>The sample application offers a demo of device admin features. It presents users
@@ -250,8 +250,8 @@
   <li>Set how many failed password attempts can occur before the device is wiped
 (that is, restored to factory settings).</li>
 <li>Set how long from now the password will expire.</li>
-<li>Set the password history length (<em>length</em> refers to number of old passwords stored in the history). 
-This prevents users from reusing 
+<li>Set the password history length (<em>length</em> refers to number of old passwords stored in the history).
+This prevents users from reusing
 one of the last <em>n</em> passwords they previously used.</li>
 <li>Specify that the storage area should be encrypted, if the device supports it.</li>
   <li>Set the maximum amount of inactive time that can elapse before the device
@@ -259,7 +259,7 @@
   <li>Make the device lock immediately.</li>
   <li>Wipe the device's data (that is, restore factory settings).</li>
   <li>Disable the camera.</li>
-  
+
 </ul>
 
 
@@ -454,8 +454,8 @@
 <img src="{@docRoot}images/admin/device-admin-activate-prompt.png"/>
 <p class="img-caption"><strong>Figure 2.</strong> Sample Application: Activating the Application</p>
 
-<p>Below  is the code that gets executed when the user clicks the <strong>Enable Admin</strong> checkbox. This has the effect of triggering the 
-{@link android.preference.Preference.OnPreferenceChangeListener#onPreferenceChange(android.preference.Preference, java.lang.Object) onPreferenceChange()} 
+<p>Below  is the code that gets executed when the user clicks the <strong>Enable Admin</strong> checkbox. This has the effect of triggering the
+{@link android.preference.Preference.OnPreferenceChangeListener#onPreferenceChange(android.preference.Preference, java.lang.Object) onPreferenceChange()}
 callback. This callback is invoked when the value of this  {@link android.preference.Preference} has been changed by the user and is about to be set and/or persisted. If the user is enabling the application, the display
 changes to prompt the user to activate the device admin application, as shown in figure
 2. Otherwise, the device admin application is disabled. </p>
@@ -556,7 +556,7 @@
 <dt>{@link
 android.app.admin.DevicePolicyManager#PASSWORD_QUALITY_COMPLEX}</dt><dd>The user
 must have entered a password containing at least a letter, a numerical digit and
-a special symbol.</dd> 
+a special symbol.</dd>
 <dt>{@link
 android.app.admin.DevicePolicyManager#PASSWORD_QUALITY_SOMETHING}</dt><dd>The
 policy requires some kind
@@ -581,7 +581,7 @@
 contents:</p>
 <ul>
 
-<li>{@link android.app.admin.DevicePolicyManager#setPasswordMinimumLetters(android.content.ComponentName,int) setPasswordMinimumLetters()}</li> 
+<li>{@link android.app.admin.DevicePolicyManager#setPasswordMinimumLetters(android.content.ComponentName,int) setPasswordMinimumLetters()}</li>
 
 <li>{@link android.app.admin.DevicePolicyManager#setPasswordMinimumLowerCase(android.content.ComponentName,int) setPasswordMinimumLowerCase()}</li>
 
@@ -622,8 +622,8 @@
 mDPM.setMaximumFailedPasswordsForWipe(mDeviceAdminSample, maxFailedPw);</pre>
 
 <h5 id="expiration">Set password expiration timeout</h5>
-<p>Beginning with Android 3.0, you can use the 
-{@link android.app.admin.DevicePolicyManager#setPasswordExpirationTimeout(android.content.ComponentName,long) setPasswordExpirationTimeout()} 
+<p>Beginning with Android 3.0, you can use the
+{@link android.app.admin.DevicePolicyManager#setPasswordExpirationTimeout(android.content.ComponentName,long) setPasswordExpirationTimeout()}
 method to set when a password will expire, expressed as a delta in milliseconds from when a device admin sets the expiration timeout. For example:</p>
 
 <pre>DevicePolicyManager mDPM;
@@ -632,18 +632,18 @@
 ...
 mDPM.setPasswordExpirationTimeout(mDeviceAdminSample, pwExpiration);
 </pre>
-    
+
 <h5 id="history">Restrict password based on history</h5>
 
-<p>Beginning with Android 3.0, you can use the 
-{@link android.app.admin.DevicePolicyManager#setPasswordHistoryLength(android.content.ComponentName,int) setPasswordHistoryLength()} 
+<p>Beginning with Android 3.0, you can use the
+{@link android.app.admin.DevicePolicyManager#setPasswordHistoryLength(android.content.ComponentName,int) setPasswordHistoryLength()}
 method to limit users'
 ability to reuse old passwords. This method takes a <em>length</em>
 parameter, which specifies how many old
 passwords are stored. When this policy is active, users cannot enter a new
 password that matches the last <em>n</em> passwords. This prevents
 users from using the same password over and over. This policy is typically used
-in conjunction with 
+in conjunction with
 {@link android.app.admin.DevicePolicyManager#setPasswordExpirationTimeout(android.content.ComponentName,long) setPasswordExpirationTimeout()},
 which forces users
 to update their passwords after a specified amount of time has elapsed. </p>
@@ -705,7 +705,7 @@
 
 <h4 id="storage">Storage encryption</h4>
 <p>Beginning with Android 3.0, you can use the
-{@link android.app.admin.DevicePolicyManager#setStorageEncryption(android.content.ComponentName,boolean) setStorageEncryption()} 
+{@link android.app.admin.DevicePolicyManager#setStorageEncryption(android.content.ComponentName,boolean) setStorageEncryption()}
 method to set a policy requiring encryption of the storage area, where supported.</p>
 
 <p>For example:</p>
diff --git a/docs/html/guide/topics/appwidgets/host.jd b/docs/html/guide/topics/appwidgets/host.jd
index 169e388..7b00019 100644
--- a/docs/html/guide/topics/appwidgets/host.jd
+++ b/docs/html/guide/topics/appwidgets/host.jd
@@ -4,7 +4,7 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    
+
     <h2>In this document</h2>
         <ol>
           <li><a href="#host-binding">Binding App Widgets</a>
@@ -32,58 +32,58 @@
 access to content. If you're building a Home replacement or a similar app,
 you can also allow the user to embed app widgets by implementing an
 {@link android.appwidget.AppWidgetHost}.
-This is not something that most apps will ever need to do, but if you are 
-creating your own host, it's important to understand the contractual obligations 
+This is not something that most apps will ever need to do, but if you are
+creating your own host, it's important to understand the contractual obligations
 a host implicitly agrees to.</p>
 
-<p>This document focuses on the responsibilities involved in implementing a custom 
-{@link android.appwidget.AppWidgetHost}. For an example of how to implement an 
+<p>This document focuses on the responsibilities involved in implementing a custom
+{@link android.appwidget.AppWidgetHost}. For an example of how to implement an
 {@link android.appwidget.AppWidgetHost}, see the source code for the
-Android Home screen 
+Android Home screen
 <a href="https://android.googlesource.com/platform/packages/apps/Launcher2/+/master/src/com/android/launcher2/Launcher.java">
-Launcher</a>. 
+Launcher</a>.
 
 
-<p>Here is an overview of key classes and concepts involved in implementing a custom 
+<p>Here is an overview of key classes and concepts involved in implementing a custom
 {@link android.appwidget.AppWidgetHost}:</p>
 <ul>
-    <li><strong>App Widget Host</strong>&mdash;  
-    The {@link android.appwidget.AppWidgetHost} provides the interaction 
-with the AppWidget service for apps, like the home screen, that want to embed 
-app widgets in their UI. An {@link android.appwidget.AppWidgetHost} must have 
-an ID that is unique within the host's own package. This ID remains persistent 
+    <li><strong>App Widget Host</strong>&mdash;
+    The {@link android.appwidget.AppWidgetHost} provides the interaction
+with the AppWidget service for apps, like the home screen, that want to embed
+app widgets in their UI. An {@link android.appwidget.AppWidgetHost} must have
+an ID that is unique within the host's own package. This ID remains persistent
 across all uses of the host. The ID is typically a hard-coded value that you assign
 in your application.</li>
-  
+
     <li><strong>App Widget ID</strong>&mdash;
-    Each app widget instance is assigned a unique ID at the time of binding 
-(see {@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed bindAppWidgetIdIfAllowed()}, 
-discussed in more detail in <a href="#binding">Binding app widgets</a>). 
-The unique ID is obtained by the host using {@link android.appwidget.AppWidgetHost#allocateAppWidgetId() allocateAppWidgetId()}. This ID is persistent across the lifetime of the widget, 
-that is, until it is deleted from the host. Any host-specific state (such as the 
-size and location of the widget) should be persisted by the hosting package and 
+    Each app widget instance is assigned a unique ID at the time of binding
+(see {@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed bindAppWidgetIdIfAllowed()},
+discussed in more detail in <a href="#binding">Binding app widgets</a>).
+The unique ID is obtained by the host using {@link android.appwidget.AppWidgetHost#allocateAppWidgetId() allocateAppWidgetId()}. This ID is persistent across the lifetime of the widget,
+that is, until it is deleted from the host. Any host-specific state (such as the
+size and location of the widget) should be persisted by the hosting package and
 associated with the app widget ID.
 </li>
-  
-    <li><strong>App Widget Host View</strong>&mdash;  
-    {@link android.appwidget.AppWidgetHostView} can be thought of as a frame 
-that the widget is wrapped in whenever it needs to be displayed. An app widget 
-is assigned to an {@link android.appwidget.AppWidgetHostView} every time the 
+
+    <li><strong>App Widget Host View</strong>&mdash;
+    {@link android.appwidget.AppWidgetHostView} can be thought of as a frame
+that the widget is wrapped in whenever it needs to be displayed. An app widget
+is assigned to an {@link android.appwidget.AppWidgetHostView} every time the
 widget is inflated by the host. </li>
     <li><strong>Options Bundle</strong>&mdash;
-The {@link android.appwidget.AppWidgetHost} uses the options bundle to communicate 
-information to the {@link android.appwidget.AppWidgetProvider} about how the 
-widget is being displayed (for example, size range, and whether the widget is on 
-a lockscreen or the home screen). This information allows the 
-{@link android.appwidget.AppWidgetProvider} to tailor the widget's contents 
+The {@link android.appwidget.AppWidgetHost} uses the options bundle to communicate
+information to the {@link android.appwidget.AppWidgetProvider} about how the
+widget is being displayed (for example, size range, and whether the widget is on
+a lockscreen or the home screen). This information allows the
+{@link android.appwidget.AppWidgetProvider} to tailor the widget's contents
 and appearance based on how and where it is  displayed.
-You use 
+You use
 {@link android.appwidget.AppWidgetHostView#updateAppWidgetOptions(android.os.Bundle) updateAppWidgetOptions()}
-and 
+and
 {@link android.appwidget.AppWidgetHostView#updateAppWidgetSize updateAppWidgetSize()}
 
-to modify an app widget's 
-bundle. Both of these methods trigger a callback to the 
+to modify an app widget's
+bundle. Both of these methods trigger a callback to the
 {@link android.appwidget.AppWidgetProvider}.</p></li>
 </ul>
 
@@ -98,15 +98,15 @@
 
 <h3 id="binding-pre">Binding app widgets on Android 4.0 and lower</h3>
 
-<p>On devices running Android version 4.0 and lower, users add app widgets 
-via a system activity that allows users to select a widget. This implicitly 
-does a permission check&mdash;that is, by adding the app widget, the user is 
-implicitly granting permission to your app to add app widgets to the host. 
-Here is an example that illustrates 
-this approach, taken from the original 
-<a href="https://android.googlesource.com/platform/packages/apps/Launcher/+/master/src/com/android/launcher/Launcher.java">Launcher</a>. In this snippet, an event handler invokes 
-{@link android.app.Activity#startActivityForResult(android.content.Intent,int) startActivityForResult()} 
-with the request code {@code REQUEST_PICK_APPWIDGET} in response to a 
+<p>On devices running Android version 4.0 and lower, users add app widgets
+via a system activity that allows users to select a widget. This implicitly
+does a permission check&mdash;that is, by adding the app widget, the user is
+implicitly granting permission to your app to add app widgets to the host.
+Here is an example that illustrates
+this approach, taken from the original
+<a href="https://android.googlesource.com/platform/packages/apps/Launcher/+/master/src/com/android/launcher/Launcher.java">Launcher</a>. In this snippet, an event handler invokes
+{@link android.app.Activity#startActivityForResult(android.content.Intent,int) startActivityForResult()}
+with the request code {@code REQUEST_PICK_APPWIDGET} in response to a
 user action:</p>
 
 <pre>
@@ -118,9 +118,9 @@
     ...
         case AddAdapter.ITEM_APPWIDGET: {
             ...
-            int appWidgetId = 
+            int appWidgetId =
                     Launcher.this.mAppWidgetHost.allocateAppWidgetId();
-            Intent pickIntent = 
+            Intent pickIntent =
                     new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
             pickIntent.putExtra
                     (AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
@@ -135,7 +135,7 @@
 app widget to your activity. In the following example, the activity responds
 by calling {@code addAppWidget()} to add the app widget:</p>
 
-<pre>public final class Launcher extends Activity 
+<pre>public final class Launcher extends Activity
         implements View.OnClickListener, OnLongClickListener {
     ...
     &#64;Override
@@ -152,7 +152,7 @@
                     completeAddAppWidget(data, mAddItemCellInfo, !mDesktopLocked);
                     break;
                 }
-        } 
+        }
         ...
     }
 }</pre>
@@ -164,7 +164,7 @@
     int appWidgetId = data.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
 
     String customWidget = data.getStringExtra(EXTRA_CUSTOM_WIDGET);
-    AppWidgetProviderInfo appWidget = 
+    AppWidgetProviderInfo appWidget =
             mAppWidgetManager.getAppWidgetInfo(appWidgetId);
 
     if (appWidget.configure != null) {
@@ -183,7 +183,7 @@
 App Widget Configuration Activity</a>.</p>
 
 <p>Once the app widget is ready, the next step is to do the
-actual work of adding it to the workspace. The 
+actual work of adding it to the workspace. The
 <a href="https://android.googlesource.com/platform/packages/apps/Launcher/+/master/src/com/android/launcher/Launcher.java">original Launcher</a> uses a method called {@code completeAddAppWidget()}
 to do this.</p>
 
@@ -201,12 +201,12 @@
 <p>But this is just the first step. At runtime the user must
 explicitly grant permission to your app to allow it to add app widgets
 to the host. To test whether your app has permission to add the widget,
-you use the 
-{@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed bindAppWidgetIdIfAllowed()} 
-method. 
+you use the
+{@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed bindAppWidgetIdIfAllowed()}
+method.
 If {@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed bindAppWidgetIdIfAllowed()}
 returns {@code false}, your app must display a dialog prompting the
-user to grant permission 
+user to grant permission
 ("allow" or "always allow," to cover all future app widget additions).
 This snippet gives an example of how to display the dialog:</p>
 
@@ -218,9 +218,9 @@
 startActivityForResult(intent, REQUEST_BIND_APPWIDGET);
 </pre>
 
-<p>The host also has to check whether the user added 
+<p>The host also has to check whether the user added
 an app widget that needs configuration. For more discussion of this topic,
-see 
+see
 <a href="{@docRoot}guide/topics/appwidgets/index.html#Configuring">Creating
 an App Widget Configuration Activity</a>.</p>
 
@@ -229,23 +229,23 @@
 <div class="sidebox-wrapper">
 <div class="sidebox">
   <h2>What Version are You Targeting?</h2>
-  <p>The approach you use in implementing your host should depend on what Android version  
-you're targeting. Many of the features described in this section were introduced 
+  <p>The approach you use in implementing your host should depend on what Android version
+you're targeting. Many of the features described in this section were introduced
 in 3.0 or later. For example:</p>
 <ul>
 <li>Android 3.0 (API Level 11) introduces auto-advance behavior for widgets.</li>
 <li>Android 3.1 (API Level 12) introduces the ability to resize widgets.</li>
 <li>Android 4.0 (API Level 15) introduces a change in padding policy that
-puts the responsibility on the 
+puts the responsibility on the
 host to manage padding.</li>
 <li>Android 4.1 (API Level 16) adds an API that allows the widget provider
 to get more detailed information about the environment in which its
 widget instances are being hosted.</li>
-<li>Android 4.2 (API Level 17) introduces the options bundle and the 
-{@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed(int,android.content.ComponentName,android.os.Bundle) bindAppWidgetIdIfAllowed()} 
+<li>Android 4.2 (API Level 17) introduces the options bundle and the
+{@link android.appwidget.AppWidgetManager#bindAppWidgetIdIfAllowed(int,android.content.ComponentName,android.os.Bundle) bindAppWidgetIdIfAllowed()}
 method. It also introduces lockscreen widgets.</li>
 </ul>
-<p>If you are targeting earlier devices, refer to the original 
+<p>If you are targeting earlier devices, refer to the original
 <a href="https://android.googlesource.com/platform/packages/apps/Launcher/+/master/src/com/android/launcher/Launcher.java">Launcher</a> as an example.
 </div>
 </div>
@@ -273,7 +273,7 @@
 they can be properly displayed.</li>
 
 <li>Every app widget specifies a minimum width and height in dps, as defined in the {@link android.appwidget.AppWidgetProviderInfo} metadata
-(using {@link android.appwidget.AppWidgetProviderInfo#minWidth android:minWidth} and 
+(using {@link android.appwidget.AppWidgetProviderInfo#minWidth android:minWidth} and
 {@link android.appwidget.AppWidgetProviderInfo#minHeight android:minHeight}).
 Make sure that the widget is laid out with at least this many dps.
 For example, many hosts align icons and widgets in a grid. In this scenario,
@@ -379,7 +379,7 @@
 for your app&mdash;for example, if your host is a home screen, ensure
 that the
 {@link android.appwidget.AppWidgetProviderInfo#widgetCategory android:widgetCategory}
-attribute in the 
+attribute in the
 {@link android.appwidget.AppWidgetProviderInfo} metadata includes
 the flag {@link android.appwidget.AppWidgetProviderInfo#WIDGET_CATEGORY_HOME_SCREEN}.
 Similarly, for the lockscreen, ensure that field includes the flag  {@link android.appwidget.AppWidgetProviderInfo#WIDGET_CATEGORY_KEYGUARD}. For more
diff --git a/docs/html/guide/topics/appwidgets/index.jd b/docs/html/guide/topics/appwidgets/index.jd
index c9575e0..7d555ed 100644
--- a/docs/html/guide/topics/appwidgets/index.jd
+++ b/docs/html/guide/topics/appwidgets/index.jd
@@ -4,7 +4,7 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    
+
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
@@ -21,7 +21,7 @@
 Activity</a>
         <ol>
           <li><a href="#UpdatingFromTheConfiguration">Updating the App Widget
-from 
+from
             the Configuration Activity</a></li>
         </ol>
       </li>
@@ -33,7 +33,7 @@
 collections
 </a></li>
           <li><a href="#fresh">Keeping Collection Data Fresh</a></li>
-        </ol>   
+        </ol>
       </li>
     </ol>
 
@@ -50,10 +50,10 @@
 <p>App Widgets are miniature application views that can be embedded in other
 applications
 (such as the Home screen) and receive periodic updates. These views are
-referred 
+referred
 to as Widgets in the user interface,
 and you can publish one with an App Widget provider. An application component
-that is 
+that is
 able to hold other App Widgets is called an App Widget host. The screenshot
 below shows
 the Music App Widget.</p>
@@ -85,14 +85,14 @@
   <dd>Defines the basic methods that allow you to programmatically interface
 with the App Widget,
     based on broadcast events. Through it, you will receive broadcasts when the
-App Widget is updated, 
+App Widget is updated,
     enabled, disabled and deleted.</dd>
   <dt>View layout</dt>
   <dd>Defines the initial layout for the App Widget, defined in XML.</dd>
 </dl>
 
 <p>Additionally, you can implement an App Widget configuration Activity. This is
-an optional 
+an optional
 {@link android.app.Activity} that launches when the user adds your App Widget
 and allows him or her
 to modify App Widget settings at create-time.</p>
@@ -117,7 +117,7 @@
 </pre>
 
 <p>The <code>&lt;receiver&gt;</code> element requires the
-<code>android:name</code> 
+<code>android:name</code>
 attribute, which specifies the {@link android.appwidget.AppWidgetProvider} used
 by the App Widget.</p>
 
@@ -133,7 +133,7 @@
 necessary.</p>
 
 <p>The <code>&lt;meta-data&gt;</code> element specifies the
-{@link android.appwidget.AppWidgetProviderInfo} resource and requires the 
+{@link android.appwidget.AppWidgetProviderInfo} resource and requires the
 following attributes:</p>
 <ul>
   <li><code>android:name</code> - Specifies the metadata name. Use
@@ -141,21 +141,21 @@
     to identify the data as the {@link android.appwidget.AppWidgetProviderInfo}
 descriptor.</li>
   <li><code>android:resource</code> - Specifies the {@link
-android.appwidget.AppWidgetProviderInfo} 
+android.appwidget.AppWidgetProviderInfo}
     resource location.</li>
 </ul>
 
 
 <h2 id="MetaData">Adding the AppWidgetProviderInfo Metadata</h2>
 
-<p>The {@link android.appwidget.AppWidgetProviderInfo} defines the essential 
+<p>The {@link android.appwidget.AppWidgetProviderInfo} defines the essential
 qualities of an App Widget, such as its minimum layout dimensions, its initial
 layout resource,
 how often to update the App Widget, and (optionally) a configuration Activity to
 launch at create-time.
 Define the AppWidgetProviderInfo object in an XML resource using a single
 <code>&lt;appwidget-provider></code> element and save it in the project's
-<code>res/xml/</code> 
+<code>res/xml/</code>
 folder.</p>
 
 <p>For example:</p>
@@ -167,7 +167,7 @@
     android:updatePeriodMillis="86400000"
     android:previewImage="@drawable/preview"
     android:initialLayout="@layout/example_appwidget"
-    android:configure="com.example.android.ExampleAppWidgetConfigure" 
+    android:configure="com.example.android.ExampleAppWidgetConfigure"
     android:resizeMode="horizontal|vertical"
     android:widgetCategory="home_screen">
 &lt;/appwidget-provider>
@@ -206,33 +206,33 @@
 
   <li>The <code>updatePeriodMillis</code> attribute defines how often the App
 Widget framework should request an update from the {@link
-android.appwidget.AppWidgetProvider} by calling the 
-{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context,android.appwidget.AppWidgetManager,int[]) onUpdate()} 
+android.appwidget.AppWidgetProvider} by calling the
+{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context,android.appwidget.AppWidgetManager,int[]) onUpdate()}
 callback method. The actual update
 is not guaranteed to occur exactly on time with this value and we suggest
 updating as infrequently as possible&mdash;perhaps no more than once an hour to
 conserve the battery. You might also allow the user to adjust the frequency in a
 configuration&mdash;some people might want a stock ticker to update every 15
-minutes, or maybe only four times a day. 
+minutes, or maybe only four times a day.
     	<p class="note"><strong>Note:</strong> If the device is asleep when it
-is time for an update 
+is time for an update
     	(as defined by <code>updatePeriodMillis</code>), then the device will
-wake up in order 
+wake up in order
     	to perform the update. If you don't update more than once per hour, this
-probably won't 
+probably won't
     	cause significant problems for the battery life. If, however, you need
-to update more 
+to update more
     	frequently and/or you do not need to update while the device is asleep,
-then you can instead 
+then you can instead
     	perform updates based on an alarm that will not wake the device. To do
-so, set an alarm with 
+so, set an alarm with
     	an Intent that your AppWidgetProvider receives, using the	{@link
-android.app.AlarmManager}. 
+android.app.AlarmManager}.
     	Set the alarm type to either {@link
-android.app.AlarmManager#ELAPSED_REALTIME} or 
+android.app.AlarmManager#ELAPSED_REALTIME} or
     	{@link android.app.AlarmManager#RTC}, which will only
     	deliver the alarm when the device is awake. Then set
-<code>updatePeriodMillis</code> to 
+<code>updatePeriodMillis</code> to
     	zero (<code>"0"</code>).</p>
   </li>
   <li>The <code>initialLayout</code> attribute points to the layout resource
@@ -244,7 +244,7 @@
 Widget properties. This is optional
     (read <a href="#Configuring">Creating an App Widget Configuration
 Activity</a> below).</li>
-    
+
    <li>The <code>previewImage</code> attribute specifies a preview of what the
 app widget will look like after it's configured, which the user sees when
 selecting the app widget. If not supplied, the user instead sees your
@@ -255,7 +255,7 @@
 Image</a>. Introduced in Android 3.0.</li>
 
    <li>The <code>autoAdvanceViewId</code> attribute specifies the view ID of the
-app widget subview that should be auto-advanced by the widget's host. Introduced in Android 3.0.</li> 
+app widget subview that should be auto-advanced by the widget's host. Introduced in Android 3.0.</li>
 
 <li>The <code>resizeMode</code> attribute specifies the rules by which a widget
 can be resized. You use this attribute to make homescreen widgets
@@ -264,7 +264,7 @@
 handles to change the size on the layout grid. Values for the
 <code>resizeMode</code> attribute include "horizontal", "vertical", and "none".
 To declare a widget as resizeable horizontally and vertically, supply the value
-"horizontal|vertical". Introduced in Android 3.1.</li> 
+"horizontal|vertical". Introduced in Android 3.1.</li>
 
 <li>The <code>minResizeHeight</code> attribute specifies the minimum height (in dps) to which
 the widget can be resized. This field has no effect if it is greater than {@code minHeight} or if
@@ -296,7 +296,7 @@
 below, but before you begin designing your App Widget, please read and
 understand the
 <a href="{@docRoot}guide/practices/ui_guidelines/widget_design.html">App Widget
-Design 
+Design
 Guidelines</a>.</p>
 
 <p>Creating the App Widget layout is simple if you're
@@ -306,7 +306,7 @@
 android.widget.RemoteViews},
 which do not support every kind of layout or view widget.</p>
 
-<p>A RemoteViews object (and, consequently, an App Widget) can support the 
+<p>A RemoteViews object (and, consequently, an App Widget) can support the
 following layout classes:</p>
 
 <ul class="nolist">
@@ -334,7 +334,7 @@
 
 <p>Descendants of these classes are not supported.</p>
 
-<p>RemoteViews also supports {@link android.view.ViewStub}, which is an invisible, zero-sized View you can use 
+<p>RemoteViews also supports {@link android.view.ViewStub}, which is an invisible, zero-sized View you can use
 to lazily inflate layout resources at runtime.</p>
 
 
@@ -386,7 +386,7 @@
 <div class="sidebox-wrapper">
 <div class="sidebox">
     <p>You must declare your AppWidgetProvider class implementation as a
-broadcast receiver 
+broadcast receiver
     using the <code>&lt;receiver></code> element in the AndroidManifest (see
     <a href="#Manifest">Declaring an App Widget in the Manifest</a> above).</p>
   </div>
@@ -403,11 +403,11 @@
 
 <dl>
   <dt>
-  {@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context,android.appwidget.AppWidgetManager,int[]) onUpdate()} 
+  {@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context,android.appwidget.AppWidgetManager,int[]) onUpdate()}
 </dt>
     <dd>This is called to update the App Widget at intervals defined by the
 <code>updatePeriodMillis</code>
-    attribute in the AppWidgetProviderInfo (see <a href="#MetaData">Adding the 
+    attribute in the AppWidgetProviderInfo (see <a href="#MetaData">Adding the
     AppWidgetProviderInfo Metadata</a> above). This method is also called
     when the user adds the App Widget, so it should perform the essential setup,
     such as define event handlers for Views and start a temporary
@@ -415,25 +415,25 @@
 configuration
     Activity, <strong>this method is not called</strong> when the user adds the
 App Widget,
-    but is called for the subsequent updates. It is the responsibility of the 
+    but is called for the subsequent updates. It is the responsibility of the
     configuration Activity to perform the first update when configuration is
 done.
     (See <a href="#Configuring">Creating an App Widget Configuration
-Activity</a> below.)</dd> 
+Activity</a> below.)</dd>
 
 <dt>
-  {@link android.appwidget.AppWidgetProvider#onAppWidgetOptionsChanged onAppWidgetOptionsChanged()} 
+  {@link android.appwidget.AppWidgetProvider#onAppWidgetOptionsChanged onAppWidgetOptionsChanged()}
 </dt>
 <dd>
 This is called when the widget is first placed and any time the widget is resized. You can use this callback to show or hide content based on the widget's size ranges. You get the size ranges by calling {@link android.appwidget.AppWidgetManager#getAppWidgetOptions getAppWidgetOptions()}, which returns a  {@link android.os.Bundle} that includes the following:<br /><br />
 <ul>
-  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MIN_WIDTH}&mdash;Contains 
+  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MIN_WIDTH}&mdash;Contains
 the lower bound on the current width, in dp units, of a widget instance.</li>
-  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MIN_HEIGHT}&mdash;Contains 
+  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MIN_HEIGHT}&mdash;Contains
 the lower bound on the current height, in dp units, of a widget instance.</li>
   <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MAX_WIDTH}&mdash;Contains
  the upper bound on the current width, in dp units, of a widget instance.</li>
-  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MAX_HEIGHT}&mdash;Contains 
+  <li>{@link android.appwidget.AppWidgetManager#OPTION_APPWIDGET_MAX_HEIGHT}&mdash;Contains
 the upper bound on the current width, in dp units, of a widget instance.</li>
 </ul>
 
@@ -444,34 +444,34 @@
 host.</dd>
   <dt>{@link android.appwidget.AppWidgetProvider#onEnabled(Context)}</dt>
     <dd>This is called when an instance the App Widget is created for the first
-time. For example, if the user 
+time. For example, if the user
     adds two instances of your App Widget, this is only called the first time.
     If you need to open a new database or perform other setup that only needs to
-occur once 
-    for all App Widget instances, then this is a good place to do it.</dd> 
+occur once
+    for all App Widget instances, then this is a good place to do it.</dd>
   <dt>{@link android.appwidget.AppWidgetProvider#onDisabled(Context)}</dt>
     <dd>This is called when the last instance of your App Widget is deleted from
-the App Widget host. 
-    This is where you should clean up any work done in 
-    {@link android.appwidget.AppWidgetProvider#onEnabled(Context)}, 
-    such as delete a temporary database.</dd> 
+the App Widget host.
+    This is where you should clean up any work done in
+    {@link android.appwidget.AppWidgetProvider#onEnabled(Context)},
+    such as delete a temporary database.</dd>
   <dt>{@link android.appwidget.AppWidgetProvider#onReceive(Context,Intent)}</dt>
     <dd>This is called for every broadcast and before each of the above callback
 methods.
     You normally don't need to implement this method because the default
-AppWidgetProvider 
-    implementation filters all App Widget broadcasts and calls the above 
-    methods as appropriate.</dd> 
+AppWidgetProvider
+    implementation filters all App Widget broadcasts and calls the above
+    methods as appropriate.</dd>
 </dl>
 
-<p>The most important AppWidgetProvider callback is 
-{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()} 
+<p>The most important AppWidgetProvider callback is
+{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()}
 because it is called when
 each App Widget is added to a host (unless you use a configuration Activity). If
 your App Widget accepts any user interaction events, then you need to register
 the event handlers in this callback. If your App Widget doesn't create temporary
-files or databases, or perform other work that requires clean-up, then 
-{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()} 
+files or databases, or perform other work that requires clean-up, then
+{@link android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()}
 may be the only callback
 method you need to define. For example, if you want an App Widget with a button
 that launches an Activity when clicked, you could use the following
@@ -503,9 +503,9 @@
 }
 </pre>
 
-<p>This AppWidgetProvider defines only the 
+<p>This AppWidgetProvider defines only the
 {@link
-android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()} 
+android.appwidget.AppWidgetProvider#onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]) onUpdate()}
 method for the purpose of
 defining a {@link android.app.PendingIntent} that launches an {@link
 android.app.Activity} and attaching it to the App Widget's button with {@link
@@ -528,8 +528,8 @@
 android.content.BroadcastReceiver} for information about the broadcast
 lifecycle). If your App Widget setup process can take several seconds (perhaps
 while performing web requests) and you require that your process continues,
-consider starting a {@link android.app.Service} in the 
-{@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()} 
+consider starting a {@link android.app.Service} in the
+{@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()}
 method. From within the Service, you can perform your own updates
 to the App Widget without worrying about the AppWidgetProvider closing down due
 to an <a href="{@docRoot}guide/practices/responsiveness.html">Application
@@ -537,7 +537,7 @@
 href="http://code.google.com/p/wiktionary-android/source/browse/trunk/Wiktionary/src/com/example/android/wiktionary/WordWidget.java">Wiktionary sample's AppWidgetProvider</a> for an example of an App Widget running a {@link
 android.app.Service}.</p>
 
-<p>Also see the <a 
+<p>Also see the <a
 href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetProvider.html">ExampleAppWidgetProvider.java</a>
 sample class.</p>
 
@@ -546,9 +546,9 @@
 
 <p>{@link android.appwidget.AppWidgetProvider} is just a convenience class.  If
 you would like
-to receive the App Widget broadcasts directly, you can implement your own 
-{@link android.content.BroadcastReceiver} or override the 
-{@link android.appwidget.AppWidgetProvider#onReceive(Context,Intent)} callback. 
+to receive the App Widget broadcasts directly, you can implement your own
+{@link android.content.BroadcastReceiver} or override the
+{@link android.appwidget.AppWidgetProvider#onReceive(Context,Intent)} callback.
 The Intents you need to care about are as follows:</p>
 <ul>
   <li>{@link android.appwidget.AppWidgetManager#ACTION_APPWIDGET_UPDATE}</li>
@@ -565,11 +565,11 @@
 <p>If you would like the user to configure settings when he or she adds a new
 App Widget,
 you can create an App Widget configuration Activity. This {@link
-android.app.Activity} 
+android.app.Activity}
 will be automatically launched by the App Widget host and allows the user to
 configure
 available settings for the App Widget at create-time, such as the App Widget
-color, size, 
+color, size,
 update period or other functionality settings.</p>
 
 <p>The configuration Activity should be declared as a normal Activity in the
@@ -588,8 +588,8 @@
 </pre>
 
 <p>Also, the Activity must be declared in the AppWidgetProviderInfo XML file,
-with the 
-<code>android:configure</code> attribute (see <a href="#MetaData">Adding 
+with the
+<code>android:configure</code> attribute (see <a href="#MetaData">Adding
 the AppWidgetProviderInfo Metadata</a> above). For example, the configuration
 Activity
 can be declared like this:</p>
@@ -597,13 +597,13 @@
 <pre>
 &lt;appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
     ...
-    android:configure="com.example.android.ExampleAppWidgetConfigure" 
+    android:configure="com.example.android.ExampleAppWidgetConfigure"
     ... >
 &lt;/appwidget-provider>
 </pre>
 
 <p>Notice that the Activity is declared with a fully-qualified namespace,
-because 
+because
 it will be referenced from outside your package scope.</p>
 
 <p>That's all you need to get started with a configuration Activity. Now all you
@@ -612,21 +612,21 @@
 implement the Activity:</p>
 <ul>
   <li>The App Widget host calls the configuration Activity and the configuration
-Activity should always 
+Activity should always
     return a result. The result should include the App Widget ID
     passed by the Intent that launched the Activity (saved in the Intent extras
 as
     {@link android.appwidget.AppWidgetManager#EXTRA_APPWIDGET_ID}).</li>
-  <li>The 
-  {@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()} 
+  <li>The
+  {@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()}
     method <strong>will not be called</strong> when the App Widget
 is created
     (the system will not send the ACTION_APPWIDGET_UPDATE broadcast when a
 configuration Activity
     is launched). It is the responsibility of the configuration Activity to
-request an update from the 
-    AppWidgetManager when the App Widget is first created. However, 
-{@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()} 
+request an update from the
+    AppWidgetManager when the App Widget is first created. However,
+{@link android.appwidget.AppWidgetProvider#onUpdate(Context,AppWidgetManager,int[]) onUpdate()}
     will be called for subsequent updates&mdash;it is only skipped
 the first time.</li>
 </ul>
@@ -641,8 +641,8 @@
 
 <p>When an App Widget uses a configuration Activity, it is the responsibility of
 the Activity
-to update the App Widget when configuration is complete. 
-You can do so by requesting an update directly from the 
+to update the App Widget when configuration is complete.
+You can do so by requesting an update directly from the
 {@link android.appwidget.AppWidgetManager}.</p>
 
 <p>Here's a summary of the procedure to properly update the App Widget and close
@@ -655,7 +655,7 @@
 Bundle extras = intent.getExtras();
 if (extras != null) {
     mAppWidgetId = extras.getInt(
-            AppWidgetManager.EXTRA_APPWIDGET_ID, 
+            AppWidgetManager.EXTRA_APPWIDGET_ID,
             AppWidgetManager.INVALID_APPWIDGET_ID);
 }
 </pre>
@@ -696,7 +696,7 @@
 cancelled and the
 App Widget will not be added.</p>
 
-<p>See the <a 
+<p>See the <a
 href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.html">ExampleAppWidgetConfigure.java</a>
 sample class in ApiDemos for an example.</p>
 
@@ -708,7 +708,7 @@
 android.appwidget.AppWidgetProviderInfo#previewImage} field, which specifies a
 preview of what the app widget looks like. This preview is shown to the user from the
 widget picker. If this field is not supplied, the app widget's icon is used for
-the preview.</p> 
+the preview.</p>
 
 <p>This is how you specify this setting in XML:</p>
 
@@ -742,12 +742,12 @@
 <dt>{@link android.widget.GridView}</dt>
 <dd>A view that shows items in
 two-dimensional scrolling grid. For an example, see the Bookmarks app
-widget.</dd> 
+widget.</dd>
 <dt>{@link android.widget.StackView}</dt>
 <dd>A
 stacked card view (kind of like a rolodex), where the user can flick the  front
 card up/down to see the previous/next card, respectively.  Examples include
-the YouTube and Books app widgets. </dd> 
+the YouTube and Books app widgets. </dd>
 <dt>{@link android.widget.AdapterViewFlipper}</dt>
 <dd>An adapter-backed simple
 {@link
@@ -764,7 +764,7 @@
 context of an app widget, the {@link android.widget.Adapter} is replaced by a
 {@link android.widget.RemoteViewsService.RemoteViewsFactory RemoteViewsFactory},
 which is simply a thin wrapper around  the {@link android.widget.Adapter}
-interface. 
+interface.
  When
 requested for a specific item in the collection, the {@link
 android.widget.RemoteViewsService.RemoteViewsFactory RemoteViewsFactory} creates
@@ -782,7 +782,7 @@
 android.widget.ListView}, {@link android.widget.GridView}, and so on) and the
 underlying data for that view. From the  <a
 href="{@docRoot}resources/samples/StackWidget/index.html">StackView Widget
-sample</a>, here is an example of the boilerplate code you use to implement 
+sample</a>, here is an example of the boilerplate code you use to implement
 this service and interface:
 </p>
 
@@ -813,13 +813,13 @@
 
 <p>This sample consists of a stack of 10 views, which  display the values
 <code>&quot;0!&quot;</code> through <code>&quot;9!&quot;</code> The sample
-app widget has these primary behaviors:</p> 
+app widget has these primary behaviors:</p>
 
 <ul>
 
   <li>The user can vertically fling the top view in the
 app widget to display the next or previous view. This is a built-in StackView
-behavior.</li> 
+behavior.</li>
 
   <li>Without any user interaction, the app widget automatically advances
 through
@@ -828,17 +828,17 @@
 <code>res/xml/stackwidgetinfo.xml</code> file. This setting applies to the view
 ID,
 which in this case is the view ID of the stack view.</li>
-  
+
   <li>If the user touches the top view, the app widget displays the {@link
 android.widget.Toast} message &quot;Touched view <em>n</em>,&quot; where
 <em>n</em> is the index (position) of the touched view. For more discussion of
-how this is implemented, see  
+how this is implemented, see
 <a href="#behavior">Adding behavior to individual items</a>.</li>
 
 </ul>
 <h3 id="implementing_collections">Implementing app widgets with collections</h3>
 
-<p>To implement an app widget with collections, you follow the same basic steps 
+<p>To implement an app widget with collections, you follow the same basic steps
 you would use to implement any app widget. The following sections  describe the
 additional steps you need to perform to implement an app widget with
 collections.</p>
@@ -940,7 +940,7 @@
 int[] appWidgetIds) {
     // update each of the app widgets with the remote adapter
     for (int i = 0; i &lt; appWidgetIds.length; ++i) {
-        
+
         // Set up the intent that starts the StackViewService, which will
         // provide the views for this collection.
         Intent intent = new Intent(context, StackWidgetService.class);
@@ -949,13 +949,13 @@
         intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
         // Instantiate the RemoteViews object for the app widget layout.
         RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
-        // Set up the RemoteViews object to use a RemoteViews adapter. 
+        // Set up the RemoteViews object to use a RemoteViews adapter.
         // This adapter connects
         // to a RemoteViewsService  through the specified intent.
         // This is how you populate the data.
         rv.setRemoteAdapter(appWidgetIds[i], R.id.stack_view, intent);
-        
-        // The empty view is displayed when the collection has no items. 
+
+        // The empty view is displayed when the collection has no items.
         // It should be in the same layout used to instantiate the RemoteViews
         // object above.
         rv.setEmptyView(R.id.stack_view, R.id.empty_view);
@@ -963,12 +963,12 @@
         //
         // Do additional processing specific to this app widget...
         //
-        
-        appWidgetManager.updateAppWidget(appWidgetIds[i], rv);   
+
+        appWidgetManager.updateAppWidget(appWidgetIds[i], rv);
     }
     super.onUpdate(context, appWidgetManager, appWidgetIds);
 }</pre>
-            
+
 <h4>RemoteViewsService class</h4>
 
 <div class="sidebox-wrapper">
@@ -984,7 +984,7 @@
 
 <p>As described above, your {@link android.widget.RemoteViewsService} subclass
 provides the {@link android.widget.RemoteViewsService.RemoteViewsFactory
-RemoteViewsFactory} used to  populate the remote collection view.</p> 
+RemoteViewsFactory} used to  populate the remote collection view.</p>
 
 <p>Specifically, you need to
 perform these steps:</p>
@@ -993,7 +993,7 @@
   <li>Subclass {@link android.widget.RemoteViewsService}. {@link
 android.widget.RemoteViewsService} is the service through which
 a remote adapter can request {@link android.widget.RemoteViews}.  </li>
-  
+
   <li>In your {@link android.widget.RemoteViewsService} subclass, include a
 class that implements the {@link
 android.widget.RemoteViewsService.RemoteViewsFactory RemoteViewsFactory}
@@ -1027,12 +1027,12 @@
 <p>The two most important methods you need to implement for your
 
 {@link android.widget.RemoteViewsService.RemoteViewsFactory RemoteViewsFactory}
-subclass are 
+subclass are
 {@link android.widget.RemoteViewsService.RemoteViewsFactory#onCreate()
 onCreate()} and
 {@link android.widget.RemoteViewsService.RemoteViewsFactory#getViewAt(int)
 getViewAt()}
-.</p> 
+.</p>
 
 <p>The system calls {@link
 android.widget.RemoteViewsService.RemoteViewsFactory#onCreate() onCreate()} when
@@ -1047,7 +1047,7 @@
 
 <p>Here is an excerpt from the <a
 href="{@docRoot}resources/samples/StackWidget/index.html">StackView Widget</a>
-sample's 
+sample's
 {@link android.widget.RemoteViewsService.RemoteViewsFactory
 RemoteViewsFactory} implementation that shows portions of the {@link
 android.widget.RemoteViewsService.RemoteViewsFactory#onCreate() onCreate()}
@@ -1081,7 +1081,7 @@
 RemoteViewsFactory} method {@link
 android.widget.RemoteViewsService.RemoteViewsFactory#getViewAt(int) getViewAt()}
 returns a {@link android.widget.RemoteViews} object corresponding to the data at
-the specified <code>position</code> in the data set. Here is an excerpt from 
+the specified <code>position</code> in the data set. Here is an excerpt from
 the <a
 href="http://developer.android.com/resources/samples/StackWidget/index.html">
 StackView Widget</a> sample's {@link
@@ -1089,8 +1089,8 @@
 implementation:</p>
 
 <pre>public RemoteViews getViewAt(int position) {
-   
-    // Construct a remote views item based on the app widget item XML file, 
+
+    // Construct a remote views item based on the app widget item XML file,
     // and set the text based on the position.
     RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_item);
     rv.setTextViewText(R.id.widget_item, mWidgetItems.get(position).text);
@@ -1104,7 +1104,7 @@
 
 <p>The above sections show you how to bind your data to your app widget
 collection. But what if you want to add dynamic behavior to the individual items
-in your collection view?</p> 
+in your collection view?</p>
 
 <p> As described in <a href="#AppWidgetProvider">Using the AppWidgetProvider
 Class</a>, you  normally use {@link
@@ -1122,7 +1122,7 @@
 setOnClickFillInIntent()}. This entails setting up up a pending intent template
 for your collection view, and then setting a fill-in intent on each item in the
 collection via your {@link android.widget.RemoteViewsService.RemoteViewsFactory
-RemoteViewsFactory}.</p> 
+RemoteViewsFactory}.</p>
 <p>This section uses the <a
 href="{@docRoot}resources/samples/StackWidget/index.html">StackView Widget
 sample</a> to describe how to add behavior to individual items. In the <a
@@ -1138,7 +1138,7 @@
 a custom action called <code>TOAST_ACTION</code>.</li>
   <li>When the user touches a view, the intent is fired and it broadcasts
 <code>TOAST_ACTION</code>.</li>
-  
+
   <li>This broadcast is intercepted by the <code>StackWidgetProvider</code>'s
 {@link android.appwidget.AppWidgetProvider#onReceive(android.content.Context,
 android.content.Intent) onReceive()} method, and the app widget displays the
@@ -1154,7 +1154,7 @@
 sample</a> uses a broadcast, but typically an app widget would simply launch an
 activity in a scenario like this one.</p>
 
-<h5>Setting up the pending intent template</h5> 
+<h5>Setting up the pending intent template</h5>
 
 <p>The <code>StackWidgetProvider</code> ({@link
 android.appwidget.AppWidgetProvider} subclass) sets up a pending intent.
@@ -1162,7 +1162,7 @@
 Instead, the collection as a whole sets up a pending intent template, and the
 individual items set a fill-in intent to create unique behavior on an
 item-by-item
-basis.</p> 
+basis.</p>
 
 <p>This class  also receives the broadcast that is sent when the user touches a
 view. It processes this event in its {@link
@@ -1179,7 +1179,7 @@
     ...
 
     // Called when the BroadcastReceiver receives an Intent broadcast.
-    // Checks to see whether the intent's action is TOAST_ACTION. If it is, the app widget 
+    // Checks to see whether the intent's action is TOAST_ACTION. If it is, the app widget
     // displays a Toast message for the current item.
     &#64;Override
     public void onReceive(Context context, Intent intent) {
@@ -1192,12 +1192,12 @@
         }
         super.onReceive(context, intent);
     }
-    
+
     &#64;Override
     public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
         // update each of the app widgets with the remote adapter
         for (int i = 0; i &lt; appWidgetIds.length; ++i) {
-    
+
             // Sets up the intent that points to the StackViewService that will
             // provide the views for this collection.
             Intent intent = new Intent(context, StackWidgetService.class);
@@ -1207,7 +1207,7 @@
             intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
             RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
             rv.setRemoteAdapter(appWidgetIds[i], R.id.stack_view, intent);
-    
+
             // The empty view is displayed when the collection has no items. It should be a sibling
             // of the collection view.
             rv.setEmptyView(R.id.stack_view, R.id.empty_view);
@@ -1227,13 +1227,13 @@
             PendingIntent toastPendingIntent = PendingIntent.getBroadcast(context, 0, toastIntent,
                 PendingIntent.FLAG_UPDATE_CURRENT);
             rv.setPendingIntentTemplate(R.id.stack_view, toastPendingIntent);
-            
+
             appWidgetManager.updateAppWidget(appWidgetIds[i], rv);
         }
     super.onUpdate(context, appWidgetManager, appWidgetIds);
     }
 }</pre>
-            
+
 <h5><strong>Setting the fill-in Intent</strong></h5>
 
 <p>Your {@link android.widget.RemoteViewsService.RemoteViewsFactory
@@ -1274,17 +1274,17 @@
            ...
         }
         ...
-    
-        // Given the position (index) of a WidgetItem in the array, use the item's text value in 
+
+        // Given the position (index) of a WidgetItem in the array, use the item's text value in
         // combination with the app widget item XML file to construct a RemoteViews object.
         public RemoteViews getViewAt(int position) {
             // position will always range from 0 to getCount() - 1.
-    
+
             // Construct a RemoteViews item based on the app widget item XML file, and set the
             // text based on the position.
             RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_item);
             rv.setTextViewText(R.id.widget_item, mWidgetItems.get(position).text);
-    
+
             // Next, set a fill-intent, which will be used to fill in the pending intent template
             // that is set on the collection view in StackWidgetProvider.
             Bundle extras = new Bundle();
@@ -1294,9 +1294,9 @@
             // Make it possible to distinguish the individual on-click
             // action of a given item
             rv.setOnClickFillInIntent(R.id.widget_item, fillInIntent);
-        
+
             ...
-        
+
             // Return the RemoteViews object.
             return rv;
         }
diff --git a/docs/html/guide/topics/connectivity/bluetooth-le.jd b/docs/html/guide/topics/connectivity/bluetooth-le.jd
index 3d60686..ba742ee 100644
--- a/docs/html/guide/topics/connectivity/bluetooth-le.jd
+++ b/docs/html/guide/topics/connectivity/bluetooth-le.jd
@@ -171,7 +171,7 @@
 </pre>
 
 <p>However, if you want to make your app available to devices that don't support BLE,
-you should still include this element in your app's manifest, but set {@code required="false"}. 
+you should still include this element in your app's manifest, but set {@code required="false"}.
 Then at run-time you can determine BLE availability by using
 {@link android.content.pm.PackageManager#hasSystemFeature PackageManager.hasSystemFeature()}:
 
diff --git a/docs/html/guide/topics/connectivity/bluetooth.jd b/docs/html/guide/topics/connectivity/bluetooth.jd
index 96008c5..07fcd09 100644
--- a/docs/html/guide/topics/connectivity/bluetooth.jd
+++ b/docs/html/guide/topics/connectivity/bluetooth.jd
@@ -4,55 +4,55 @@
 
 <div id="qv-wrapper">
 <div id="qv">
- 
+
   <h2>In this document</h2>
-  <ol> 
+  <ol>
     <li><a href="#TheBasics">The Basics</a></li>
     <li><a href="#Permissions">Bluetooth Permissions</a></li>
-    <li><a href="#SettingUp">Setting Up Bluetooth</a></li> 
-    <li><a href="#FindingDevices">Finding Devices</a> 
-      <ol> 
-        <li><a href="#QueryingPairedDevices">Querying paired devices</a></li> 
-        <li><a href="#DiscoveringDevices">Discovering devices</a></li> 
-      </ol></li> 
-    <li><a href="#ConnectingDevices">Connecting Devices</a> 
-      <ol> 
-        <li><a href="#ConnectingAsAServer">Connecting as a server</a></li> 
-        <li><a href="#ConnectingAsAClient">Connecting as a client</a></li> 
-      </ol></li> 
+    <li><a href="#SettingUp">Setting Up Bluetooth</a></li>
+    <li><a href="#FindingDevices">Finding Devices</a>
+      <ol>
+        <li><a href="#QueryingPairedDevices">Querying paired devices</a></li>
+        <li><a href="#DiscoveringDevices">Discovering devices</a></li>
+      </ol></li>
+    <li><a href="#ConnectingDevices">Connecting Devices</a>
+      <ol>
+        <li><a href="#ConnectingAsAServer">Connecting as a server</a></li>
+        <li><a href="#ConnectingAsAClient">Connecting as a client</a></li>
+      </ol></li>
     <li><a href="#ManagingAConnection">Managing a Connection</a></li>
-    <li><a href="#Profiles">Working with Profiles</a> 
+    <li><a href="#Profiles">Working with Profiles</a>
       <ol>
         <li><a href="#AT-Commands">Vendor-specific AT commands</a>
         <li><a href="#HDP">Health Device Profile</a>
       </ol></li>
-  </ol> 
- 
-  <h2>Key classes</h2> 
-  <ol> 
-    <li>{@link android.bluetooth.BluetoothAdapter}</li> 
-    <li>{@link android.bluetooth.BluetoothDevice}</li> 
-    <li>{@link android.bluetooth.BluetoothSocket}</li> 
-    <li>{@link android.bluetooth.BluetoothServerSocket}</li> 
-  </ol> 
- 
-  <h2>Related samples</h2> 
-  <ol> 
-    <li><a href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat</a></li> 
+  </ol>
+
+  <h2>Key classes</h2>
+  <ol>
+    <li>{@link android.bluetooth.BluetoothAdapter}</li>
+    <li>{@link android.bluetooth.BluetoothDevice}</li>
+    <li>{@link android.bluetooth.BluetoothSocket}</li>
+    <li>{@link android.bluetooth.BluetoothServerSocket}</li>
+  </ol>
+
+  <h2>Related samples</h2>
+  <ol>
+    <li><a href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat</a></li>
     <li><a href="{@docRoot}resources/samples/BluetoothHDP/index.html">Bluetooth HDP (Health Device Profile)</a></li>
-  </ol> 
- 
-</div> 
-</div> 
- 
- 
+  </ol>
+
+</div>
+</div>
+
+
 <p>The Android platform includes support for the Bluetooth network stack,
 which allows a device to wirelessly exchange data with other Bluetooth devices.
 The application framework provides access to the Bluetooth functionality through
 the Android Bluetooth APIs. These APIs let applications wirelessly
 connect to other Bluetooth devices, enabling point-to-point and multipoint
-wireless features.</p> 
- 
+wireless features.</p>
+
 <p>Using the Bluetooth APIs, an Android application can perform the
 following:</p>
 <ul>
@@ -75,14 +75,14 @@
 <p>This document describes how to use the Android Bluetooth APIs to accomplish
 the four major tasks necessary to communicate using Bluetooth: setting up
 Bluetooth, finding devices that are either paired or available in the local
-area, connecting devices, and transferring data between devices.</p> 
- 
+area, connecting devices, and transferring data between devices.</p>
+
 <p>All of the Bluetooth APIs are available in the {@link android.bluetooth}
 package. Here's a summary of the classes and interfaces you will need to create Bluetooth
-connections:</p> 
- 
-<dl> 
-<dt>{@link android.bluetooth.BluetoothAdapter}</dt> 
+connections:</p>
+
+<dl>
+<dt>{@link android.bluetooth.BluetoothAdapter}</dt>
 <dd>Represents the local Bluetooth adapter (Bluetooth radio). The
 {@link android.bluetooth.BluetoothAdapter} is the entry-point for all Bluetooth
 interaction. Using this,
@@ -90,49 +90,49 @@
 devices, instantiate a {@link android.bluetooth.BluetoothDevice} using a known
 MAC address, and create a {@link android.bluetooth.BluetoothServerSocket} to
 listen for communications
-from other devices.</dd> 
- 
-<dt>{@link android.bluetooth.BluetoothDevice}</dt> 
+from other devices.</dd>
+
+<dt>{@link android.bluetooth.BluetoothDevice}</dt>
 <dd>Represents a remote Bluetooth device. Use this to request a connection
 with a remote device through a {@link android.bluetooth.BluetoothSocket} or
 query information about the
-device such as its name, address, class, and bonding state.</dd> 
- 
-<dt>{@link android.bluetooth.BluetoothSocket}</dt> 
+device such as its name, address, class, and bonding state.</dd>
+
+<dt>{@link android.bluetooth.BluetoothSocket}</dt>
 <dd>Represents the interface for a Bluetooth socket (similar to a TCP
 {@link java.net.Socket}). This is the connection point that allows
 an application to exchange data with another Bluetooth device via InputStream
-and OutputStream.</dd> 
- 
-<dt>{@link android.bluetooth.BluetoothServerSocket}</dt> 
+and OutputStream.</dd>
+
+<dt>{@link android.bluetooth.BluetoothServerSocket}</dt>
 <dd>Represents an open server socket that listens for incoming requests
 (similar to a TCP {@link java.net.ServerSocket}). In order to connect two
 Android devices, one device must open a server socket with this class. When a
 remote Bluetooth device makes a connection request to the this device, the
 {@link android.bluetooth.BluetoothServerSocket} will return a connected {@link
 android.bluetooth.BluetoothSocket} when the
-connection is accepted.</dd> 
- 
-<dt>{@link android.bluetooth.BluetoothClass}</dt> 
+connection is accepted.</dd>
+
+<dt>{@link android.bluetooth.BluetoothClass}</dt>
 <dd>Describes the general characteristics and capabilities of a Bluetooth
 device. This is a read-only set of properties that define the device's major and
 minor device classes and its services. However, this does not reliably describe
 all Bluetooth profiles and services supported by the device, but is useful as a
-hint to the device type.</dd> 
- 
+hint to the device type.</dd>
+
 <dt>{@link android.bluetooth.BluetoothProfile}</dt> <dd>An interface that
 represents a Bluetooth profile. A <em>Bluetooth profile</em> is a wireless
 interface specification for Bluetooth-based communication between devices. An
 example is the Hands-Free profile.  For more discussion of profiles, see <a
-href="#Profiles">Working with Profiles</a></dd> 
+href="#Profiles">Working with Profiles</a></dd>
 
 <dt>{@link android.bluetooth.BluetoothHeadset}</dt> <dd>Provides support for
 Bluetooth headsets to be used with mobile phones. This includes both  Bluetooth
-Headset and Hands-Free (v1.5) profiles.</dd> 
+Headset and Hands-Free (v1.5) profiles.</dd>
 
 <dt>{@link android.bluetooth.BluetoothA2dp}</dt> <dd> Defines how high quality
 audio can be streamed from one device to another over a Bluetooth connection.
-"A2DP" stands for Advanced Audio Distribution Profile.</dd> 
+"A2DP" stands for Advanced Audio Distribution Profile.</dd>
 
 <dt>{@link android.bluetooth.BluetoothHealth}</dt>
 <dd> Represents a Health Device Profile proxy that controls the Bluetooth service.</dd>
@@ -146,23 +146,23 @@
 
 <dt>{@link android.bluetooth.BluetoothHealthAppConfiguration}</dt>
 
-<dd>Represents an application configuration that the Bluetooth Health third-party 
+<dd>Represents an application configuration that the Bluetooth Health third-party
 application registers to communicate with a remote Bluetooth health
-device.</dd> 
+device.</dd>
 
 <dt>{@link android.bluetooth.BluetoothProfile.ServiceListener}</dt>
 
 <dd>An interface that notifies {@link android.bluetooth.BluetoothProfile} IPC
 clients when they have  been connected to or disconnected from the service (that
 is, the internal service that runs a particular profile). </dd>
- 
-</dl> 
- 
- 
- 
- 
-<h2 id="Permissions">Bluetooth Permissions</h2> 
- 
+
+</dl>
+
+
+
+
+<h2 id="Permissions">Bluetooth Permissions</h2>
+
 <p>In order to use Bluetooth features in your application, you must declare
 the Bluetooth permission {@link android.Manifest.permission#BLUETOOTH}.
 You need this permission to perform any Bluetooth communication,
@@ -175,40 +175,40 @@
 permission should not be used, unless the application is a "power manager" that
 will modify Bluetooth settings upon user request. <strong>Note:</strong> If you
 use {@link android.Manifest.permission#BLUETOOTH_ADMIN} permission, then you must
-also have the {@link android.Manifest.permission#BLUETOOTH} permission.</p> 
- 
+also have the {@link android.Manifest.permission#BLUETOOTH} permission.</p>
+
 <p>Declare the Bluetooth permission(s) in your application manifest file. For
-example:</p> 
- 
-<pre> 
+example:</p>
+
+<pre>
 &lt;manifest ... >
   &lt;uses-permission android:name="android.permission.BLUETOOTH" />
   ...
 &lt;/manifest>
-</pre> 
- 
+</pre>
+
 <p>See the <a
-href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission></a> 
-reference for more information about declaring application permissions.</p> 
- 
- 
-<h2 id="SettingUp">Setting Up Bluetooth</h2> 
- 
-<div class="figure" style="width:200px"> 
-<img src="{@docRoot}images/bt_enable_request.png" /> 
+href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission></a>
+reference for more information about declaring application permissions.</p>
+
+
+<h2 id="SettingUp">Setting Up Bluetooth</h2>
+
+<div class="figure" style="width:200px">
+<img src="{@docRoot}images/bt_enable_request.png" />
 <strong>Figure 1:</strong> The enabling Bluetooth dialog.
-</div> 
- 
+</div>
+
 <p>Before your application can communicate over Bluetooth, you need to verify
-that Bluetooth is supported on the device, and if so, ensure that it is enabled.</p> 
- 
+that Bluetooth is supported on the device, and if so, ensure that it is enabled.</p>
+
 <p>If Bluetooth is not supported, then you should gracefully disable any
 Bluetooth features. If Bluetooth is supported, but disabled, then you can request that the
 user enable Bluetooth without leaving your application. This setup is
-accomplished in two steps, using the {@link android.bluetooth.BluetoothAdapter}.</p> 
- 
- 
-<ol> 
+accomplished in two steps, using the {@link android.bluetooth.BluetoothAdapter}.</p>
+
+
+<ol>
 <li>Get the {@link android.bluetooth.BluetoothAdapter}
 <p>The {@link android.bluetooth.BluetoothAdapter} is required for any and all Bluetooth
 activity. To get the {@link android.bluetooth.BluetoothAdapter}, call the static {@link
@@ -217,15 +217,15 @@
 Bluetooth adapter (the Bluetooth radio). There's one Bluetooth adapter for the
 entire system, and your application can interact with it using this object. If
 {@link android.bluetooth.BluetoothAdapter#getDefaultAdapter()} returns null,
-then the device does not support Bluetooth and your story ends here. For example:</p> 
-<pre> 
+then the device does not support Bluetooth and your story ends here. For example:</p>
+<pre>
 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
 if (mBluetoothAdapter == null) {
     // Device does not support Bluetooth
 }
-</pre> 
-</li> 
- 
+</pre>
+</li>
+
 <li>Enable Bluetooth
 <p>Next, you need to ensure that Bluetooth is enabled. Call {@link
 android.bluetooth.BluetoothAdapter#isEnabled()} to check whether Bluetooth is
@@ -234,17 +234,17 @@
 android.app.Activity#startActivityForResult(Intent,int) startActivityForResult()}
 with the {@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} action Intent.
 This will issue a request to enable Bluetooth through the system settings (without
-stopping your application). For example:</p> 
-<pre> 
+stopping your application). For example:</p>
+<pre>
 if (!mBluetoothAdapter.isEnabled()) {
     Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
     startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
 }
-</pre> 
- 
+</pre>
+
 <p>A dialog will appear requesting user permission to enable Bluetooth, as shown
 in Figure 1. If the user responds "Yes," the system will begin to enable Bluetooth
-and focus will return to your application once the process completes (or fails).</p> 
+and focus will return to your application once the process completes (or fails).</p>
 
 <p>The {@code REQUEST_ENABLE_BT} constant passed to {@link
 android.app.Activity#startActivityForResult(Intent,int) startActivityForResult()} is a locally
@@ -259,9 +259,9 @@
 callback. If Bluetooth was not enabled
 due to an error (or the user responded "No") then the result code is {@link
 android.app.Activity#RESULT_CANCELED}.</p>
-</li> 
-</ol> 
- 
+</li>
+</ol>
+
 <p>Optionally, your application can also listen for the
 {@link android.bluetooth.BluetoothAdapter#ACTION_STATE_CHANGED} broadcast Intent, which
 the system will broadcast whenever the Bluetooth state has changed. This broadcast contains
@@ -273,21 +273,21 @@
 android.bluetooth.BluetoothAdapter#STATE_TURNING_OFF}, and {@link
 android.bluetooth.BluetoothAdapter#STATE_OFF}. Listening for this
 broadcast can be useful to detect changes made to the Bluetooth state while your
-app is running.</p> 
- 
+app is running.</p>
+
 <p class="note"><strong>Tip:</strong> Enabling discoverability will automatically
 enable Bluetooth. If you plan to consistently enable device discoverability before
 performing Bluetooth activity, you can skip
 step 2 above. Read about <a href="#EnablingDiscoverability">enabling discoverability</a>,
-below.</p> 
- 
- 
-<h2 id="FindingDevices">Finding Devices</h2> 
- 
+below.</p>
+
+
+<h2 id="FindingDevices">Finding Devices</h2>
+
 <p>Using the {@link android.bluetooth.BluetoothAdapter}, you can find remote Bluetooth
 devices either through device discovery or by querying the list of paired (bonded)
-devices.</p> 
- 
+devices.</p>
+
 <p>Device discovery is a scanning procedure that searches the local area for
 Bluetooth enabled devices and then requesting some information about each one
 (this is sometimes referred to as "discovering," "inquiring" or "scanning").
@@ -296,15 +296,15 @@
 discoverable, it will respond to the discovery request by sharing some
 information, such as the device name, class, and its unique MAC address. Using
 this information, the device performing discovery can then choose to initiate a
-connection to the discovered device.</p> 
- 
+connection to the discovered device.</p>
+
 <p>Once a connection is made with a remote device for the first time, a pairing
 request is automatically presented to the user. When a device is
 paired, the basic information about that device (such as the device name, class,
 and MAC address) is saved and can be read using the Bluetooth APIs. Using the
 known MAC address for a remote device, a connection can be initiated with it at
-any time without performing discovery (assuming the device is within range).</p> 
- 
+any time without performing discovery (assuming the device is within range).</p>
+
 <p>Remember there is a difference between being paired and being connected. To
 be paired means that two devices are aware of each other's existence, have a
 shared link-key that can be used for authentication, and are capable of
@@ -312,28 +312,28 @@
 the devices currently share an RFCOMM channel and are able to transmit data with
 each other. The current Android Bluetooth API's require devices to be paired
 before an RFCOMM connection can be established. (Pairing is automatically performed
-when you initiate an encrypted connection with the Bluetooth APIs.)</p> 
- 
+when you initiate an encrypted connection with the Bluetooth APIs.)</p>
+
 <p>The following sections describe how to find devices that have been paired, or
-discover new devices using device discovery.</p> 
- 
+discover new devices using device discovery.</p>
+
 <p class="note"><strong>Note:</strong> Android-powered devices are not
 discoverable by default. A user can make
 the device discoverable for a limited time through the system settings, or an
 application can request that the user enable discoverability without leaving the
-application. How to <a href="#EnablingDiscoverability">enable discoverability</a> 
-is discussed below.</p> 
- 
- 
-<h3 id="QueryingPairedDevices">Querying paired devices</h3> 
- 
+application. How to <a href="#EnablingDiscoverability">enable discoverability</a>
+is discussed below.</p>
+
+
+<h3 id="QueryingPairedDevices">Querying paired devices</h3>
+
 <p>Before performing device discovery, its worth querying the set
 of paired devices to see if the desired device is already known. To do so,
 call {@link android.bluetooth.BluetoothAdapter#getBondedDevices()}. This
 will return a Set of {@link android.bluetooth.BluetoothDevice}s representing
 paired devices. For example, you can query all paired devices and then
-show the name of each device to the user, using an ArrayAdapter:</p> 
-<pre> 
+show the name of each device to the user, using an ArrayAdapter:</p>
+<pre>
 Set&lt;BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
 // If there are paired devices
 if (pairedDevices.size() > 0) {
@@ -343,24 +343,24 @@
         mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
     }
 }
-</pre> 
- 
+</pre>
+
 <p>All that's needed from the {@link android.bluetooth.BluetoothDevice} object
 in order to initiate a connection is the MAC address. In this example, it's saved
 as a part of an ArrayAdapter that's shown to the user. The MAC address can later
 be extracted in order to initiate the connection. You can learn more about creating
-a connection in the section about <a href="#ConnectingDevices">Connecting Devices</a>.</p> 
- 
- 
-<h3 id="DiscoveringDevices">Discovering devices</h3> 
- 
+a connection in the section about <a href="#ConnectingDevices">Connecting Devices</a>.</p>
+
+
+<h3 id="DiscoveringDevices">Discovering devices</h3>
+
 <p>To start discovering devices, simply call {@link
 android.bluetooth.BluetoothAdapter#startDiscovery()}. The
 process is asynchronous and the method will immediately return with a boolean
 indicating whether discovery has successfully started. The discovery process
 usually involves an inquiry scan of about 12 seconds, followed by a page scan of
-each found device to retrieve its Bluetooth name.</p> 
- 
+each found device to retrieve its Bluetooth name.</p>
+
 <p>Your application must register a BroadcastReceiver for the
 {@link android.bluetooth.BluetoothDevice#ACTION_FOUND} Intent in
 order to receive information about each
@@ -371,8 +371,8 @@
 {@link android.bluetooth.BluetoothDevice#EXTRA_CLASS}, containing a
 {@link android.bluetooth.BluetoothDevice} and a {@link
 android.bluetooth.BluetoothClass}, respectively. For example, here's how you can
-register to handle the broadcast when devices are discovered:</p> 
-<pre> 
+register to handle the broadcast when devices are discovered:</p>
+<pre>
 // Create a BroadcastReceiver for ACTION_FOUND
 private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
     public void onReceive(Context context, Intent intent) {
@@ -389,15 +389,15 @@
 // Register the BroadcastReceiver
 IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
 registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
-</pre> 
- 
+</pre>
+
 <p>All that's needed from the {@link android.bluetooth.BluetoothDevice} object
 in order to initiate a
 connection is the MAC address. In this example, it's saved as a part of an
 ArrayAdapter that's shown to the user. The MAC address can later be extracted in
 order to initiate the connection. You can learn more about creating a connection
-in the section about <a href="#ConnectingDevices">Connecting Devices</a>.</p> 
- 
+in the section about <a href="#ConnectingDevices">Connecting Devices</a>.</p>
+
 <p class="caution"><strong>Caution:</strong> Performing device discovery is
 a heavy procedure for the Bluetooth
 adapter and will consume a lot of its resources. Once you have found a device to
@@ -406,10 +406,10 @@
 attempting a connection. Also, if you
 already hold a connection with a device, then performing discovery can
 significantly reduce the bandwidth available for the connection, so you should
-not perform discovery while connected.</p> 
- 
-<h4 id="EnablingDiscoverability">Enabling discoverability</h4> 
- 
+not perform discovery while connected.</p>
+
+<h4 id="EnablingDiscoverability">Enabling discoverability</h4>
+
 <p>If you would like to make the local device discoverable to other devices,
 call {@link android.app.Activity#startActivityForResult(Intent,int)} with the
 {@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE} action
@@ -420,30 +420,30 @@
 extra. The maximum duration an app can set is 3600 seconds, and a value of 0
 means the device is always discoverable. Any value below 0 or above 3600 is
 automatically set to 120 secs). For example, this snippet sets the duration to
-300:</p> 
+300:</p>
 
 <pre>Intent discoverableIntent = new
 Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
 discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
 startActivity(discoverableIntent);
-</pre> 
- 
-<div class="figure" style="width:200px"> 
-<img src="{@docRoot}images/bt_enable_discoverable.png" /> 
+</pre>
+
+<div class="figure" style="width:200px">
+<img src="{@docRoot}images/bt_enable_discoverable.png" />
 <strong>Figure 2:</strong> The enabling discoverability dialog.
-</div> 
- 
+</div>
+
 <p>A dialog will be displayed, requesting user permission to make the device
 discoverable, as shown in Figure 2. If the user responds "Yes," then the device
 will become discoverable for the specified amount of time. Your activity will
 then receive a call to the {@link android.app.Activity#onActivityResult(int,int,Intent)
 onActivityResult())} callback, with the result code equal to the duration that the device
 is discoverable. If the user responded "No" or if an error occurred, the result code will
-be {@link android.app.Activity#RESULT_CANCELED}.</p> 
- 
+be {@link android.app.Activity#RESULT_CANCELED}.</p>
+
 <p class="note"><strong>Note:</strong> If Bluetooth has not been enabled on the device,
-then enabling device discoverability will automatically enable Bluetooth.</p> 
- 
+then enabling device discoverability will automatically enable Bluetooth.</p>
+
 <p>The device will silently remain in discoverable mode for the allotted time.
 If you would like to be notified when the discoverable mode has changed, you can
 register a BroadcastReceiver for the {@link
@@ -457,18 +457,18 @@
 android.bluetooth.BluetoothAdapter#SCAN_MODE_NONE},
 which indicate that the device is either in discoverable mode, not in
 discoverable mode but still able to receive connections, or not in discoverable
-mode and unable to receive connections, respectively.</p> 
- 
+mode and unable to receive connections, respectively.</p>
+
 <p>You do not need to enable device discoverability if you will be initiating
 the connection to a remote device. Enabling discoverability is only necessary when
 you want your application to host a server socket that will accept incoming
 connections, because the remote devices must be able to discover the device
-before it can initiate the connection.</p> 
- 
- 
- 
-<h2 id="ConnectingDevices">Connecting Devices</h2> 
- 
+before it can initiate the connection.</p>
+
+
+
+<h2 id="ConnectingDevices">Connecting Devices</h2>
+
 <p>In order to create a connection between your application on two devices, you
 must implement both the server-side and client-side mechanisms, because one
 device must open a server socket and the other one must initiate the connection
@@ -478,36 +478,36 @@
 point, each device can obtain input and output streams and data transfer can
 begin, which is discussed in the section about <a
 href="#ManagingAConnection">Managing a Connection</a>. This section describes how
-to initiate the connection between two devices.</p> 
- 
+to initiate the connection between two devices.</p>
+
 <p>The server device and the client device each obtain the required {@link
 android.bluetooth.BluetoothSocket} in different ways. The server will receive it
 when an incoming connection is accepted. The client will receive it when it
-opens an RFCOMM channel to the server.</p> 
- 
-<div class="figure" style="width:200px"> 
-<img src="{@docRoot}images/bt_pairing_request.png" /> 
+opens an RFCOMM channel to the server.</p>
+
+<div class="figure" style="width:200px">
+<img src="{@docRoot}images/bt_pairing_request.png" />
 <strong>Figure 3:</strong> The Bluetooth pairing dialog.
-</div> 
- 
+</div>
+
 <p>One implementation technique is to automatically prepare each device as a
 server, so that each one has a server socket open and listening for connections.
 Then either device can initiate a connection with the other and become the
 client. Alternatively, one device can explicitly "host" the connection and open
 a server socket on demand and the other device can simply initiate the
-connection.</p> 
- 
+connection.</p>
+
 <p class="note"><strong>Note:</strong> If the two devices have not been previously paired,
 then the Android framework will automatically show a pairing request notification or
 dialog to the user during the connection procedure, as shown in Figure 3. So
 when attempting to connect devices,
 your application does not need to be concerned about whether or not the devices are
 paired. Your RFCOMM connection attempt will block until the user has successfully paired,
-or will fail if the user rejects pairing, or if pairing fails or times out. </p> 
- 
- 
-<h3 id="ConnectingAsAServer">Connecting as a server</h3> 
- 
+or will fail if the user rejects pairing, or if pairing fails or times out. </p>
+
+
+<h3 id="ConnectingAsAServer">Connecting as a server</h3>
+
 <p>When you want to connect two devices, one must act as a server by holding an
 open {@link android.bluetooth.BluetoothServerSocket}. The purpose of the server
 socket is to listen for incoming connection requests and when one is accepted,
@@ -515,26 +515,26 @@
 android.bluetooth.BluetoothSocket} is acquired from the {@link
 android.bluetooth.BluetoothServerSocket},
 the {@link android.bluetooth.BluetoothServerSocket} can (and should) be
-discarded, unless you want to accept more connections.</p> 
- 
-<div class="sidebox-wrapper"> 
-<div class="sidebox"> 
-<h2>About UUID</h2> 
- 
+discarded, unless you want to accept more connections.</p>
+
+<div class="sidebox-wrapper">
+<div class="sidebox">
+<h2>About UUID</h2>
+
 <p>A Universally Unique Identifier (UUID) is a standardized 128-bit format for a string
 ID used to uniquely identify information. The point of a UUID is that it's big
 enough that you can select any random and it won't clash. In this case, it's
 used to uniquely identify your application's Bluetooth service. To get a UUID to
 use with your application, you can use one of the many random UUID generators on
 the web, then initialize a {@link java.util.UUID} with {@link
-java.util.UUID#fromString(String)}.</p> 
-</div> 
-</div> 
- 
+java.util.UUID#fromString(String)}.</p>
+</div>
+</div>
+
 <p>Here's the basic procedure to set up a server socket and accept a
-connection:</p> 
- 
-<ol> 
+connection:</p>
+
+<ol>
 <li>Get a {@link android.bluetooth.BluetoothServerSocket} by calling the
 {@link
 android.bluetooth.BluetoothAdapter#listenUsingRfcommWithServiceRecord(String,
@@ -546,9 +546,9 @@
 agreement with the client device. That is, when the client attempts to connect
 with this device, it will carry a UUID that uniquely identifies the service with
 which it wants to connect. These UUIDs must match in order for the connection to
-be accepted (in the next step).</p> 
-</li> 
- 
+be accepted (in the next step).</p>
+</li>
+
 <li>Start listening for connection requests by calling
 {@link android.bluetooth.BluetoothServerSocket#accept()}.
 <p>This is a blocking call. It will return when either a connection has been
@@ -556,9 +556,9 @@
 remote device has sent a connection request with a UUID matching the one
 registered with this listening server socket. When successful, {@link
 android.bluetooth.BluetoothServerSocket#accept()} will
-return a connected {@link android.bluetooth.BluetoothSocket}.</p> 
-</li> 
- 
+return a connected {@link android.bluetooth.BluetoothSocket}.</p>
+</li>
+
 <li>Unless you want to accept additional connections, call
 {@link android.bluetooth.BluetoothServerSocket#close()}.
 <p>This releases the server socket and all its resources, but does <em>not</em> close the
@@ -567,10 +567,10 @@
 connected client per channel at a time, so in most cases it makes sense to call {@link
 android.bluetooth.BluetoothServerSocket#close()} on the {@link
 android.bluetooth.BluetoothServerSocket} immediately after accepting a connected
-socket.</p> 
-</li> 
-</ol> 
- 
+socket.</p>
+</li>
+</ol>
+
 <p>The {@link android.bluetooth.BluetoothServerSocket#accept()} call should not
 be executed in the main activity UI thread because it is a blocking call and
 will prevent any other interaction with the application. It usually makes
@@ -583,16 +583,16 @@
 android.bluetooth.BluetoothSocket}) from another thread and the blocked call will
 immediately return. Note that all methods on a {@link
 android.bluetooth.BluetoothServerSocket} or {@link android.bluetooth.BluetoothSocket}
-are thread-safe.</p> 
- 
-<h4>Example</h4> 
- 
+are thread-safe.</p>
+
+<h4>Example</h4>
+
 <p>Here's a simplified thread for the server component that accepts incoming
-connections:</p> 
-<pre> 
+connections:</p>
+<pre>
 private class AcceptThread extends Thread {
     private final BluetoothServerSocket mmServerSocket;
- 
+
     public AcceptThread() {
         // Use a temporary object that is later assigned to mmServerSocket,
         // because mmServerSocket is final
@@ -603,7 +603,7 @@
         } catch (IOException e) { }
         mmServerSocket = tmp;
     }
- 
+
     public void run() {
         BluetoothSocket socket = null;
         // Keep listening until exception occurs or a socket is returned
@@ -622,7 +622,7 @@
             }
         }
     }
- 
+
     /** Will cancel the listening socket, and cause the thread to finish */
     public void cancel() {
         try {
@@ -630,37 +630,37 @@
         } catch (IOException e) { }
     }
 }
-</pre> 
- 
+</pre>
+
 <p>In this example, only one incoming connection is desired, so as soon as a
 connection is accepted and the {@link android.bluetooth.BluetoothSocket} is
 acquired, the application
 sends the acquired {@link android.bluetooth.BluetoothSocket} to a separate
 thread, closes the
-{@link android.bluetooth.BluetoothServerSocket} and breaks the loop.</p> 
- 
+{@link android.bluetooth.BluetoothServerSocket} and breaks the loop.</p>
+
 <p>Note that when {@link android.bluetooth.BluetoothServerSocket#accept()}
 returns the {@link android.bluetooth.BluetoothSocket}, the socket is already
 connected, so you should <em>not</em> call {@link
 android.bluetooth.BluetoothSocket#connect()} (as you do from the
-client-side).</p> 
- 
+client-side).</p>
+
 <p><code>manageConnectedSocket()</code> is a fictional method in the application
 that will
 initiate the thread for transferring data, which is discussed in the section
-about <a href="#ManagingAConnection">Managing a Connection</a>.</p> 
- 
+about <a href="#ManagingAConnection">Managing a Connection</a>.</p>
+
 <p>You should usually close your {@link android.bluetooth.BluetoothServerSocket}
 as soon as you are done listening for incoming connections. In this example, {@link
 android.bluetooth.BluetoothServerSocket#close()} is called as soon
 as the {@link android.bluetooth.BluetoothSocket} is acquired. You may also want
 to provide a public method in your thread that can close the private {@link
 android.bluetooth.BluetoothSocket} in the event that you need to stop listening on the
-server socket.</p> 
- 
- 
-<h3 id="ConnectingAsAClient">Connecting as a client</h3> 
- 
+server socket.</p>
+
+
+<h3 id="ConnectingAsAClient">Connecting as a client</h3>
+
 <p>In order to initiate a connection with a remote device (a device holding an
 open
 server socket), you must first obtain a {@link
@@ -669,11 +669,11 @@
 section about <a
 href="#FindingDevices">Finding Devices</a>.) You must then use the
 {@link android.bluetooth.BluetoothDevice} to acquire a {@link
-android.bluetooth.BluetoothSocket} and initiate the connection.</p> 
- 
-<p>Here's the basic procedure:</p> 
- 
-<ol> 
+android.bluetooth.BluetoothSocket} and initiate the connection.</p>
+
+<p>Here's the basic procedure:</p>
+
+<ol>
 <li>Using the {@link android.bluetooth.BluetoothDevice}, get a {@link
 android.bluetooth.BluetoothSocket} by calling {@link
 android.bluetooth.BluetoothDevice#createRfcommSocketToServiceRecord(UUID)}.
@@ -684,9 +684,9 @@
 android.bluetooth.BluetoothAdapter#listenUsingRfcommWithServiceRecord(String,
 UUID)}). Using the same UUID is simply a matter of hard-coding the UUID string
 into your application and then referencing it from both the server and client
-code.</p> 
-</li> 
- 
+code.</p>
+</li>
+
 <li>Initiate the connection by calling {@link
 android.bluetooth.BluetoothSocket#connect()}.
 <p>Upon this call, the system will perform an SDP lookup on the remote device in
@@ -697,34 +697,34 @@
 blocking call. If, for
 any reason, the connection fails or the {@link
 android.bluetooth.BluetoothSocket#connect()} method times out (after about
-12 seconds), then it will throw an exception.</p> 
+12 seconds), then it will throw an exception.</p>
 <p>Because {@link
 android.bluetooth.BluetoothSocket#connect()} is a blocking call, this connection
 procedure should always be performed in a thread separate from the main activity
-thread.</p> 
+thread.</p>
 <p class="note">Note: You should always ensure that the device is not performing
 device discovery when you call {@link
 android.bluetooth.BluetoothSocket#connect()}. If discovery is in progress, then
 the
-connection attempt will be significantly slowed and is more likely to fail.</p> 
-</li> 
-</ol> 
- 
-<h4>Example</h4> 
- 
+connection attempt will be significantly slowed and is more likely to fail.</p>
+</li>
+</ol>
+
+<h4>Example</h4>
+
 <p>Here is a basic example of a thread that initiates a Bluetooth
-connection:</p> 
-<pre> 
+connection:</p>
+<pre>
 private class ConnectThread extends Thread {
     private final BluetoothSocket mmSocket;
     private final BluetoothDevice mmDevice;
- 
+
     public ConnectThread(BluetoothDevice device) {
         // Use a temporary object that is later assigned to mmSocket,
         // because mmSocket is final
         BluetoothSocket tmp = null;
         mmDevice = device;
- 
+
         // Get a BluetoothSocket to connect with the given BluetoothDevice
         try {
             // MY_UUID is the app's UUID string, also used by the server code
@@ -732,11 +732,11 @@
         } catch (IOException e) { }
         mmSocket = tmp;
     }
- 
+
     public void run() {
         // Cancel discovery because it will slow down the connection
         mBluetoothAdapter.cancelDiscovery();
- 
+
         try {
             // Connect the device through the socket. This will block
             // until it succeeds or throws an exception
@@ -748,11 +748,11 @@
             } catch (IOException closeException) { }
             return;
         }
- 
+
         // Do work to manage the connection (in a separate thread)
         manageConnectedSocket(mmSocket);
     }
- 
+
     /** Will cancel an in-progress connection, and close the socket */
     public void cancel() {
         try {
@@ -760,42 +760,42 @@
         } catch (IOException e) { }
     }
 }
-</pre> 
- 
+</pre>
+
 <p>Notice that {@link android.bluetooth.BluetoothAdapter#cancelDiscovery()} is called
 before the connection is made. You should always do this before connecting and it is safe
 to call without actually checking whether it is running or not (but if you do want to
-check, call {@link android.bluetooth.BluetoothAdapter#isDiscovering()}).</p> 
- 
+check, call {@link android.bluetooth.BluetoothAdapter#isDiscovering()}).</p>
+
 <p><code>manageConnectedSocket()</code> is a fictional method in the application
 that will initiate the thread for transferring data, which is discussed in the section
-about <a href="#ManagingAConnection">Managing a Connection</a>.</p> 
- 
+about <a href="#ManagingAConnection">Managing a Connection</a>.</p>
+
 <p>When you're done with your {@link android.bluetooth.BluetoothSocket}, always
 call {@link android.bluetooth.BluetoothSocket#close()} to clean up.
 Doing so will immediately close the connected socket and clean up all internal
-resources.</p> 
- 
- 
-<h2 id="ManagingAConnection">Managing a Connection</h2> 
- 
+resources.</p>
+
+
+<h2 id="ManagingAConnection">Managing a Connection</h2>
+
 <p>When you have successfully connected two (or more) devices, each one will
 have a connected {@link android.bluetooth.BluetoothSocket}. This is where the fun
 begins because you can share data between devices. Using the {@link
 android.bluetooth.BluetoothSocket}, the general procedure to transfer arbitrary data is
-simple:</p> 
-<ol> 
+simple:</p>
+<ol>
 <li>Get the {@link java.io.InputStream} and {@link java.io.OutputStream} that
 handle transmissions through the socket, via {@link
 android.bluetooth.BluetoothSocket#getInputStream()} and
-{@link android.bluetooth.BluetoothSocket#getOutputStream}, respectively.</li> 
- 
+{@link android.bluetooth.BluetoothSocket#getOutputStream}, respectively.</li>
+
 <li>Read and write data to the streams with {@link
-java.io.InputStream#read(byte[])} and {@link java.io.OutputStream#write(byte[])}.</li> 
-</ol> 
- 
-<p>That's it.</p> 
- 
+java.io.InputStream#read(byte[])} and {@link java.io.OutputStream#write(byte[])}.</li>
+</ol>
+
+<p>That's it.</p>
+
 <p>There are, of course, implementation details to consider. First and foremost,
 you should use a dedicated thread for all stream reading and writing. This is
 important because both {@link java.io.InputStream#read(byte[])} and {@link
@@ -806,37 +806,37 @@
 java.io.InputStream#read(byte[])} quickly enough and the intermediate buffers are full.
 So, your main loop in the thread should be dedicated to reading from the {@link
 java.io.InputStream}. A separate public method in the thread can be used to initiate
-writes to the {@link java.io.OutputStream}.</p> 
- 
-<h4>Example</h4> 
- 
-<p>Here's an example of how this might look:</p> 
-<pre> 
+writes to the {@link java.io.OutputStream}.</p>
+
+<h4>Example</h4>
+
+<p>Here's an example of how this might look:</p>
+<pre>
 private class ConnectedThread extends Thread {
     private final BluetoothSocket mmSocket;
     private final InputStream mmInStream;
     private final OutputStream mmOutStream;
- 
+
     public ConnectedThread(BluetoothSocket socket) {
         mmSocket = socket;
         InputStream tmpIn = null;
         OutputStream tmpOut = null;
- 
+
         // Get the input and output streams, using temp objects because
         // member streams are final
         try {
             tmpIn = socket.getInputStream();
             tmpOut = socket.getOutputStream();
         } catch (IOException e) { }
- 
+
         mmInStream = tmpIn;
         mmOutStream = tmpOut;
     }
- 
+
     public void run() {
         byte[] buffer = new byte[1024];  // buffer store for the stream
         int bytes; // bytes returned from read()
- 
+
         // Keep listening to the InputStream until an exception occurs
         while (true) {
             try {
@@ -850,14 +850,14 @@
             }
         }
     }
- 
+
     /* Call this from the main activity to send data to the remote device */
     public void write(byte[] bytes) {
         try {
             mmOutStream.write(bytes);
         } catch (IOException e) { }
     }
- 
+
     /* Call this from the main activity to shutdown the connection */
     public void cancel() {
         try {
@@ -865,44 +865,44 @@
         } catch (IOException e) { }
     }
 }
-</pre> 
- 
+</pre>
+
 <p>The constructor acquires the necessary streams and once executed, the thread
 will wait for data to come through the InputStream. When {@link
 java.io.InputStream#read(byte[])} returns with
 bytes from the stream, the data is sent to the main activity using a member
 Handler from the parent class. Then it goes back and waits for more bytes from
-the stream.</p> 
- 
+the stream.</p>
+
 <p>Sending outgoing data is as simple as calling the thread's
 <code>write()</code> method from the main activity and passing in the bytes to
 be sent. This method then simply calls {@link
-java.io.OutputStream#write(byte[])} to send the data to the remote device.</p> 
- 
+java.io.OutputStream#write(byte[])} to send the data to the remote device.</p>
+
 <p>The thread's <code>cancel()</code> method is important so that the connection
 can be
 terminated at any time by closing the {@link android.bluetooth.BluetoothSocket}.
 This should always be called when you're done using the Bluetooth
-connection.</p> 
- 
-<div class="special"> 
-<p>For a  demonstration of using the Bluetooth APIs, see the <a
-href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat sample app</a>.</p> 
-</div> 
+connection.</p>
 
-<h2 id="Profiles">Working with Profiles</h2> 
+<div class="special">
+<p>For a  demonstration of using the Bluetooth APIs, see the <a
+href="{@docRoot}resources/samples/BluetoothChat/index.html">Bluetooth Chat sample app</a>.</p>
+</div>
+
+<h2 id="Profiles">Working with Profiles</h2>
 
 <p>Starting in Android 3.0, the Bluetooth API includes support for working with
 Bluetooth profiles. A <em>Bluetooth profile</em> is a wireless interface
 specification for Bluetooth-based communication between devices. An example
 is the Hands-Free profile. For a mobile phone to connect to a wireless headset,
-both devices must support the Hands-Free profile. </p> 
+both devices must support the Hands-Free profile. </p>
 
 <p>You can implement the interface {@link android.bluetooth.BluetoothProfile} to write
 your own classes to support a particular Bluetooth profile. The Android
 Bluetooth API provides implementations for the following Bluetooth
-profiles:</p> 
-<ul> 
+profiles:</p>
+<ul>
 
   <li><strong>Headset</strong>. The Headset profile provides support for
 Bluetooth headsets to be used with mobile phones. Android provides the {@link
@@ -917,7 +917,7 @@
 profile defines how high quality audio can be streamed from one device to
 another over a Bluetooth connection. Android provides the {@link
 android.bluetooth.BluetoothA2dp} class, which is a proxy for controlling
-the Bluetooth A2DP  Service via IPC.</li> 
+the Bluetooth A2DP  Service via IPC.</li>
 
  <li><strong>Health Device</strong>. Android 4.0 (API level 14) introduces
 support for the Bluetooth Health Device Profile (HDP). This lets you create
@@ -928,50 +928,50 @@
 href="http://www.bluetooth.org">www.bluetooth.org</a>. Note that these values
 are also referenced in the ISO/IEEE 11073-20601 [7] specification as
 MDC_DEV_SPEC_PROFILE_* in the Nomenclature Codes Annex. For more discussion of
-HDP, see <a href="#HDP">Health Device Profile</a>.</li> 
+HDP, see <a href="#HDP">Health Device Profile</a>.</li>
 
-</ul> 
+</ul>
 
-<p>Here are the basic steps for working with a profile:</p> 
-<ol> 
+<p>Here are the basic steps for working with a profile:</p>
+<ol>
 
   <li>Get the default adapter, as described in
     <a href="{@docRoot}guide/topics/connectivity/bluetooth.html#SettingUp">Setting Up
-      Bluetooth</a>.</li> 
+      Bluetooth</a>.</li>
 
   <li>Use {@link
 android.bluetooth.BluetoothAdapter#getProfileProxy(android.content.Context,
 android.bluetooth.BluetoothProfile.ServiceListener, int) getProfileProxy()} to
 establish a connection to the profile proxy object associated with the profile.
 In the example below, the profile proxy object is an instance of {@link
-android.bluetooth.BluetoothHeadset}. </li> 
+android.bluetooth.BluetoothHeadset}. </li>
 
   <li>Set up a  {@link android.bluetooth.BluetoothProfile.ServiceListener}. This
 listener notifies {@link android.bluetooth.BluetoothProfile} IPC clients when
-they have been connected to or disconnected from the service.</li> 
+they have been connected to or disconnected from the service.</li>
 
   <li>In {@link
 android.bluetooth.BluetoothProfile.ServiceListener#onServiceConnected(int,
 android.bluetooth.BluetoothProfile) onServiceConnected()}, get a handle
-to the profile proxy object.</li> 
+to the profile proxy object.</li>
 
   <li>Once you have the profile proxy object, you can use it to monitor the
 state of the connection and perform other operations that are relevant to that
-profile.</li> 
-</ol> 
+profile.</li>
+</ol>
 
 <p> For example, this code snippet shows how to connect to a {@link
 android.bluetooth.BluetoothHeadset} proxy object so that you can control the
-Headset profile:</p> 
+Headset profile:</p>
 
 <pre>BluetoothHeadset mBluetoothHeadset;
- 
+
 // Get the default adapter
 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
- 
+
 // Establish connection to the proxy.
 mBluetoothAdapter.getProfileProxy(context, mProfileListener, BluetoothProfile.HEADSET);
- 
+
 private BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() {
     public void onServiceConnected(int profile, BluetoothProfile proxy) {
         if (profile == BluetoothProfile.HEADSET) {
@@ -984,16 +984,16 @@
         }
     }
 };
- 
+
 // ... call functions on mBluetoothHeadset
- 
+
 // Close proxy connection after use.
 mBluetoothAdapter.closeProfileProxy(mBluetoothHeadset);
-</pre> 
+</pre>
 
 
 
-<h3 id="AT-Commands">Vendor-specific AT commands</h3> 
+<h3 id="AT-Commands">Vendor-specific AT commands</h3>
 
 <p>Starting in Android 3.0, applications can register to receive system
 broadcasts of pre-defined vendor-specific AT commands sent by headsets (such as
@@ -1060,7 +1060,7 @@
 establish a connection with the profile proxy object.</p> </li>
 
   <li>Create a {@link android.bluetooth.BluetoothHealthCallback} and register an
-application configuration 
+application configuration
 ({@link android.bluetooth.BluetoothHealthAppConfiguration})
 that acts as a health
 sink.</li>
diff --git a/docs/html/guide/topics/connectivity/nfc/index.jd b/docs/html/guide/topics/connectivity/nfc/index.jd
index f12facf..bc4f075 100644
--- a/docs/html/guide/topics/connectivity/nfc/index.jd
+++ b/docs/html/guide/topics/connectivity/nfc/index.jd
@@ -17,12 +17,12 @@
 <p>Android-powered devices with NFC simultaneously support three main modes of operation:</p>
 
 <ol>
-<li><strong>Reader/writer mode</strong>, allowing the NFC device to read and/or write 
+<li><strong>Reader/writer mode</strong>, allowing the NFC device to read and/or write
 passive NFC tags and stickers.</li>
-<li><strong>P2P mode</strong>, allowing the NFC device to exchange data with other NFC 
+<li><strong>P2P mode</strong>, allowing the NFC device to exchange data with other NFC
 peers; this operation mode is used by Android Beam.</li>
-<li><strong>Card emulation mode</strong>, allowing the NFC device itself to act as an NFC 
-card. The emulated NFC card can then be accessed by an external NFC reader, 
+<li><strong>Card emulation mode</strong>, allowing the NFC device itself to act as an NFC
+card. The emulated NFC card can then be accessed by an external NFC reader,
 such as an NFC point-of-sale terminal.</li>
 </ol>
 
diff --git a/docs/html/guide/topics/connectivity/sip.jd b/docs/html/guide/topics/connectivity/sip.jd
index d754894..d8d6d27 100755
--- a/docs/html/guide/topics/connectivity/sip.jd
+++ b/docs/html/guide/topics/connectivity/sip.jd
@@ -12,10 +12,10 @@
       <li><a href="#manager">Creating a SIP Manager</a></li>
       <li><a href="#profiles">Registering with a SIP Server</a></li>
       <li><a href="#audio">Making an Audio Call</a></li>
-      <li><a href="#receiving">Receiving Calls</a></li>   
+      <li><a href="#receiving">Receiving Calls</a></li>
       <li><a href="#testing">Testing SIP Applications</a></li>
     </ol>
-    
+
   <h2>Key classes</h2>
     <ol>
       <li>{@link android.net.sip.SipManager}</li>
@@ -23,7 +23,7 @@
       <li>{@link android.net.sip.SipAudioCall}</li>
 
     </ol>
-    
+
    <h2>Related samples</h2>
    <ol>
      <li> <a href="{@docRoot}resources/samples/SipDemo/index.html"> SipDemo</a></li>
@@ -46,9 +46,9 @@
 <h2 id="requirements">Requirements and Limitations</h2>
 <p>Here are the requirements for developing a SIP application:</p>
 <ul>
-  
+
   <li>You must have a mobile device that is running Android 2.3 or higher. </li>
-  
+
   <li>SIP runs over a wireless data connection, so your device must have a data
 connection (with a mobile data service or Wi-Fi)</span>. This means that you
 can't test on AVD&#8212;you can only test on a physical device. For details, see
@@ -139,7 +139,7 @@
 manifest:</p>
 
 <ul>
-  <li><code>&lt;uses-sdk android:minSdkVersion=&quot;9&quot; /&gt;</code>. This 
+  <li><code>&lt;uses-sdk android:minSdkVersion=&quot;9&quot; /&gt;</code>. This
  indicates that your application requires   Android 2.3 or higher. For more
 information, see <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API
 Levels</a> and the documentation for the <a
@@ -162,7 +162,7 @@
 see the   documentation for the <a
 href="{@docRoot}guide/topics/manifest/uses-feature-element.html">&lt;uses-
 feature&gt;</a> element.</li>
-  
+
 </ul>
 <p>If your application is designed to receive calls, you must also define a receiver ({@link android.content.BroadcastReceiver} subclass) in the application's manifest: </p>
 
@@ -261,7 +261,7 @@
 public void onRegistrationDone(String localProfileUri, long expiryTime) {
     updateStatus(&quot;Ready&quot;);
 }
-   
+
 public void onRegistrationFailed(String localProfileUri, int errorCode,
     String errorMessage) {
     updateStatus(&quot;Registration failed.  Please check settings.&quot;);
@@ -291,8 +291,8 @@
 
   <li>A {@link android.net.sip.SipProfile} that is making the call (the
 &quot;local profile&quot;), and a valid SIP address to receive the call (the
-&quot;peer profile&quot;). 
-  
+&quot;peer profile&quot;).
+
   <li>A {@link android.net.sip.SipManager} object. </li>
 </ul>
 
@@ -304,7 +304,7 @@
 
 <pre>
 SipAudioCall.Listener listener = new SipAudioCall.Listener() {
-  
+
    &#64;Override
    public void onCallEstablished(SipAudioCall call) {
       call.startAudio();
@@ -312,7 +312,7 @@
       call.toggleMute();
          ...
    }
-   
+
    &#64;Override
    public void onCallEnded(SipAudioCall call) {
       // Do something.
@@ -326,12 +326,12 @@
 <ul>
   <li>A local SIP profile (the caller).</li>
   <li>A peer SIP profile (the user being called).</li>
-  
+
   <li>A {@link android.net.sip.SipAudioCall.Listener} to listen to the call
 events from {@link android.net.sip.SipAudioCall}. This can be <code>null</code>,
 but as shown above, the listener is used to set things up once the call is
 established.</li>
-  
+
   <li>The timeout value, in seconds.</li>
 </ul>
 <p>For example:</p>
@@ -349,15 +349,15 @@
 <code>&lt;receiver&gt;</code>. In <strong>SipDemo</strong>, this is
 <code>&lt;receiver android:name=&quot;.IncomingCallReceiver&quot;
 android:label=&quot;Call Receiver&quot;/&gt;</code>.</li>
-  
+
   <li>Implement the receiver, which is a subclass of {@link
 android.content.BroadcastReceiver}. In <strong>SipDemo</strong>, this is
 <code>IncomingCallReceiver</code>.</li>
-  
+
   <li>Initialize the local profile ({@link android.net.sip.SipProfile}) with a
 pending intent that fires your receiver when someone calls the local profile.
 </li>
-  
+
   <li>Set up an intent filter that filters by the action that represents an
 incoming call. In <strong>SipDemo</strong>, this action is
 <code>android.SipDemo.INCOMING_CALL</code>. </li>
@@ -427,16 +427,16 @@
 android.net.sip.SipProfile} object gets created with a pending intent based on
 the action string <code>android.SipDemo.INCOMING_CALL</code>. The
 <code>PendingIntent</code> object   will perform a broadcast when the {@link
-android.net.sip.SipProfile}  receives a call:</p> 
+android.net.sip.SipProfile}  receives a call:</p>
 
 <pre>
 public SipManager mSipManager = null;
 public SipProfile mSipProfile = null;
 ...
 
-Intent intent = new Intent(); 
-intent.setAction(&quot;android.SipDemo.INCOMING_CALL&quot;); 
-PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, Intent.FILL_IN_DATA); 
+Intent intent = new Intent();
+intent.setAction(&quot;android.SipDemo.INCOMING_CALL&quot;);
+PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, Intent.FILL_IN_DATA);
 mSipManager.open(mSipProfile, pendingIntent, null);</pre>
 
 <p>The broadcast will be intercepted by the intent filter, which will then fire
@@ -485,8 +485,8 @@
 href="{@docRoot}tools/device.html">Developing on a Device</a>.</li>
 
 <li>If you are using Android Studio, you can view the application log output by
-opening the Event Log console (<strong>View > Tool Windows > Event Log</strong>). 
-<li>Ensure your application is configured to launch Logcat automatically when it runs: 
+opening the Event Log console (<strong>View > Tool Windows > Event Log</strong>).
+<li>Ensure your application is configured to launch Logcat automatically when it runs:
 <ol TYPE=a>
 <li>Select <strong>Run > Edit Configurations</strong>.
 <li>Select the <strong>Miscellaneous</strong> tab in the <strong>Run/Debug Configurations</strong> window.
diff --git a/docs/html/guide/topics/connectivity/usb/accessory.jd b/docs/html/guide/topics/connectivity/usb/accessory.jd
index a217767..3942b3a 100644
--- a/docs/html/guide/topics/connectivity/usb/accessory.jd
+++ b/docs/html/guide/topics/connectivity/usb/accessory.jd
@@ -169,7 +169,7 @@
     include a <code>&lt;uses-feature&gt;</code> element that declares that your application uses
     the <code>android.hardware.usb.accessory</code> feature.</li>
 
-    <li>If you are using the 
+    <li>If you are using the
     <a href="http://code.google.com/android/add-ons/google-apis/index.html">add-on library</a>,
     add the <code>&lt;uses-library&gt;</code> element specifying
     <code>com.android.future.usb.accessory</code> for the library.</li>
@@ -347,7 +347,7 @@
 private static final String ACTION_USB_PERMISSION =
     "com.android.example.USB_PERMISSION";
 private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
- 
+
     public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
         if (ACTION_USB_PERMISSION.equals(action)) {
@@ -444,7 +444,7 @@
   <pre>
 BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
     public void onReceive(Context context, Intent intent) {
-        String action = intent.getAction(); 
+        String action = intent.getAction();
 
         if (UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)) {
             UsbAccessory accessory = (UsbAccessory)intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
diff --git a/docs/html/guide/topics/connectivity/usb/host.jd b/docs/html/guide/topics/connectivity/usb/host.jd
index d2194e6..856027d 100644
--- a/docs/html/guide/topics/connectivity/usb/host.jd
+++ b/docs/html/guide/topics/connectivity/usb/host.jd
@@ -263,7 +263,7 @@
   obtain a device from the map.</p>
   <pre>
 UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
-...  
+...
 HashMap&lt;String, UsbDevice&gt; deviceList = manager.getDeviceList();
 UsbDevice device = deviceList.get("deviceName");
 </pre>
@@ -317,7 +317,7 @@
                     if(device != null){
                       //call method to set up device communication
                    }
-                } 
+                }
                 else {
                     Log.d(TAG, "permission denied for device " + device);
                 }
@@ -396,7 +396,7 @@
 
 UsbInterface intf = device.getInterface(0);
 UsbEndpoint endpoint = intf.getEndpoint(0);
-UsbDeviceConnection connection = mUsbManager.openDevice(device); 
+UsbDeviceConnection connection = mUsbManager.openDevice(device);
 connection.claimInterface(intf, forceClaim);
 connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT); //do in another thread
 </pre>
@@ -422,7 +422,7 @@
   <pre>
 BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
     public void onReceive(Context context, Intent intent) {
-        String action = intent.getAction(); 
+        String action = intent.getAction();
 
       if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
             UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
diff --git a/docs/html/guide/topics/connectivity/wifip2p.jd b/docs/html/guide/topics/connectivity/wifip2p.jd
index d7e1269..b8eb40e 100644
--- a/docs/html/guide/topics/connectivity/wifip2p.jd
+++ b/docs/html/guide/topics/connectivity/wifip2p.jd
@@ -66,7 +66,7 @@
   methods. A {@link android.net.wifi.p2p.WifiP2pManager#WIFI_P2P_PEERS_CHANGED_ACTION} intent is
   also broadcast if the {@link android.net.wifi.p2p.WifiP2pManager#discoverPeers discoverPeers()}
   method discovers that the peers list has changed.</p>
-  
+
   <h2 id="api">API Overview</h2>
 
 <p>The {@link android.net.wifi.p2p.WifiP2pManager} class provides methods to allow you to interact with
@@ -135,7 +135,7 @@
   are described in the following table:</p>
 
  <p class="table-caption"><strong>Table 2.</strong> Wi-Fi P2P Listeners</p>
- 
+
  <table>
     <tr>
       <th>Listener interface</th>
@@ -395,7 +395,7 @@
   available peers that are in range. The call to this function is asynchronous and a success or
   failure is communicated to your application with {@link
   android.net.wifi.p2p.WifiP2pManager.ActionListener#onSuccess onSuccess()} and {@link
-  android.net.wifi.p2p.WifiP2pManager.ActionListener#onFailure onFailure()} if you created a 
+  android.net.wifi.p2p.WifiP2pManager.ActionListener#onFailure onFailure()} if you created a
   {@link android.net.wifi.p2p.WifiP2pManager.ActionListener}. The
   {@link android.net.wifi.p2p.WifiP2pManager.ActionListener#onSuccess onSuccess()} method only notifies you
   that the discovery process succeeded and does not provide any information about the actual peers
diff --git a/docs/html/guide/topics/data/index.jd b/docs/html/guide/topics/data/index.jd
index 1e082b3..169fc22 100644
--- a/docs/html/guide/topics/data/index.jd
+++ b/docs/html/guide/topics/data/index.jd
@@ -1,6 +1,6 @@
 page.title=Data Storage
 page.landing=true
-page.landing.intro=Store application data in databases, files, or preferences, in internal or removeable storage. You can also add a data backup service to let users store and recover application and system data.  
+page.landing.intro=Store application data in databases, files, or preferences, in internal or removeable storage. You can also add a data backup service to let users store and recover application and system data.
 page.landing.image=
 
 @jd:body
@@ -10,14 +10,14 @@
 
   <div class="col-12">
     <h3>Training</h3>
-    
+
     <a href="http://developer.android.com/training/cloudsync/index.html">
       <h4>Syncing to the Cloud</h4>
       <p>This class covers different strategies for cloud enabled applications. It covers syncing
 data with the cloud using your own back-end web application, and backing up data using the cloud so
 that users can restore their data when installing your application on a new device.</p>
     </a>
-    
+
   </div>
 
 </div>
\ No newline at end of file
diff --git a/docs/html/guide/topics/graphics/index.jd b/docs/html/guide/topics/graphics/index.jd
index 17f6309..a87e404 100644
--- a/docs/html/guide/topics/graphics/index.jd
+++ b/docs/html/guide/topics/graphics/index.jd
@@ -17,7 +17,7 @@
 by the UI toolkit are carried out using the GPU. You’ll be happy to hear that Android 4.0, Ice Cream
 Sandwich, brings an improved version of the hardware-accelerated 2D rendering pipeline.</p>
       </a>
-  
+
       <a
 href="http://android-developers.blogspot.com/2011/05/introducing-viewpropertyanimator.html">
         <h4>Introducing ViewPropertyAnimator</h4>
@@ -25,7 +25,7 @@
 including the new properties added to the View class in 3.0. In the 3.1 release, we added a small
 utility class that makes animating these properties even easier.</p>
       </a>
-      
+
       <a
 href="http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html">
         <h4>Android 3.0 Hardware Acceleration</h4>
@@ -43,7 +43,7 @@
 that keeps your user interface (UI) components responsive and avoids exceeding your application
 memory limit.</p>
     </a>
-    
+
 
   </div>
 </div>
\ No newline at end of file
diff --git a/docs/html/guide/topics/graphics/overview.jd b/docs/html/guide/topics/graphics/overview.jd
index 66a675d..98d80a0 100644
--- a/docs/html/guide/topics/graphics/overview.jd
+++ b/docs/html/guide/topics/graphics/overview.jd
@@ -6,7 +6,7 @@
   and help you decide with approach is best for your needs.</p>
 
   <h3 id="animation">Animation</h3>
-  
+
   <p>The Android framework provides two animation systems: property animation
   and view animation. Both animation systems are viable options,
   but the property animation system, in general, is the preferred method to use, because it
diff --git a/docs/html/guide/topics/graphics/prop-animation.jd b/docs/html/guide/topics/graphics/prop-animation.jd
index aed533d..693799c 100755
--- a/docs/html/guide/topics/graphics/prop-animation.jd
+++ b/docs/html/guide/topics/graphics/prop-animation.jd
@@ -165,9 +165,9 @@
   "{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">API
   Demos</a> sample project provides many examples on how to use the property
   animation system.</p>
-  
+
   <h2 id="property-vs-view">How Property Animation Differs from View Animation</h2>
-  
+
   <p>The view animation system provides the capability to only animate {@link android.view.View}
   objects, so if you wanted to animate non-{@link android.view.View} objects, you have to implement
   your own code to do so. The view animation system is also constrained in the fact that it only
diff --git a/docs/html/guide/topics/location/strategies.jd b/docs/html/guide/topics/location/strategies.jd
index 32be463..2dfed2c 100755
--- a/docs/html/guide/topics/location/strategies.jd
+++ b/docs/html/guide/topics/location/strategies.jd
@@ -411,12 +411,12 @@
 <h3 id="MockAVD">Using Android Studio</h3>
 
 <p>Select <b>Tools</b> &gt; <b>Android</b> &gt; <b>AVD Manager</b>. In the Android Virtual
-Device Manager window, choose your AVD and launch it in the emulator by selecting the green 
+Device Manager window, choose your AVD and launch it in the emulator by selecting the green
 play arrow in the Actions column.</p>
 
 <p>Then, select <b>Tools</b> &gt; <b>Android</b> &gt; <b>Android Device Monitor</b>.
-Select the Emulator Control tab in the Android Device Monitor window, and enter GPS coordinates 
-under Location Controls as individual lat/long coordinates, with a GPX file for route playback, 
+Select the Emulator Control tab in the Android Device Monitor window, and enter GPS coordinates
+under Location Controls as individual lat/long coordinates, with a GPX file for route playback,
 or a KML file for multiple place marks.
 </p>
 
diff --git a/docs/html/guide/topics/manifest/action-element.jd b/docs/html/guide/topics/manifest/action-element.jd
index fc6ce44..f3b340e 100644
--- a/docs/html/guide/topics/manifest/action-element.jd
+++ b/docs/html/guide/topics/manifest/action-element.jd
@@ -13,10 +13,10 @@
 <p>
 <dt>description:</dt>
 <dd itemprop="description">Adds an action to an intent filter.
-An <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element must contain 
+An <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element must contain
 one or more {@code <action>} elements.  If it doesn't contain any, no
-Intent objects will get through the filter.  See 
-<a href="{@docRoot}guide/components/intents-filters.html">Intents and 
+Intent objects will get through the filter.  See
+<a href="{@docRoot}guide/components/intents-filters.html">Intents and
 Intent Filters</a> for details on intent filters and the role of action
 specifications within a filter.
 </dd>
@@ -25,16 +25,16 @@
 <dd><dl class="attr">
 <dt><a name="nm"></a>{@code android:name}</dt>
 <dd>The name of the action.  Some standard actions are defined in the
-{@link android.content.Intent#ACTION_CHOOSER Intent} class as 
+{@link android.content.Intent#ACTION_CHOOSER Intent} class as
 <code>ACTION_<i>string</i></code> constants.  To assign one of these actions to
-this attribute, prepend "{@code android.intent.action.}" to the 
+this attribute, prepend "{@code android.intent.action.}" to the
 <code><i>string</i></code> that follows {@code ACTION_}.
 For example, for {@code ACTION_MAIN}, use "{@code android.intent.action.MAIN}"
 and for {@code ACTION_WEB_SEARCH}, use "{@code android.intent.action.WEB_SEARCH}".
 
 <p>
 For actions you define, it's best to use the package name as a prefix to
-ensure uniqueness.  For example, a {@code TRANSMOGRIFY} action might be specified 
+ensure uniqueness.  For example, a {@code TRANSMOGRIFY} action might be specified
 as follows:
 </p>
 
diff --git a/docs/html/guide/topics/manifest/activity-alias-element.jd b/docs/html/guide/topics/manifest/activity-alias-element.jd
index 1427b55..adb9937 100644
--- a/docs/html/guide/topics/manifest/activity-alias-element.jd
+++ b/docs/html/guide/topics/manifest/activity-alias-element.jd
@@ -29,62 +29,62 @@
 
 <p>
 The alias presents the target activity as a independent entity.
-It can have its own set of intent filters, and they, rather than the 
-intent filters on the target activity itself, determine which intents 
+It can have its own set of intent filters, and they, rather than the
+intent filters on the target activity itself, determine which intents
 can activate the target through the alias and how the system
-treats the alias.  For example, the intent filters on the alias may 
-specify the "<code>{@link android.content.Intent#ACTION_MAIN 
-android.intent.action.MAIN}</code>" 
-and "<code>{@link android.content.Intent#CATEGORY_LAUNCHER 
-android.intent.category.LAUNCHER}</code>" flags, causing it to be 
-represented in the application launcher, even though none of the 
+treats the alias.  For example, the intent filters on the alias may
+specify the "<code>{@link android.content.Intent#ACTION_MAIN
+android.intent.action.MAIN}</code>"
+and "<code>{@link android.content.Intent#CATEGORY_LAUNCHER
+android.intent.category.LAUNCHER}</code>" flags, causing it to be
+represented in the application launcher, even though none of the
 filters on the target activity itself set these flags.
 </p>
 
 <p>
 With the exception of {@code targetActivity}, {@code <activity-alias>}
-attributes are a subset of <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> attributes.  
+attributes are a subset of <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> attributes.
 For attributes in the subset, none of the values set for the target carry over
-to the alias.  However, for attributes not in the subset, the values set for 
+to the alias.  However, for attributes not in the subset, the values set for
 the target activity also apply to the alias.
 </p></dd>
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="enabled"></a>{@code android:enabled}</dt>
-<dd>Whether or not the target activity can be instantiated by the system through 
-this alias &mdash; "{@code true}" if it can be, and "{@code false}" if not.  
+<dd>Whether or not the target activity can be instantiated by the system through
+this alias &mdash; "{@code true}" if it can be, and "{@code false}" if not.
 The default value is "{@code true}".
 
 <p>
-The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all 
-application components, including activity aliases.  The 
+The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all
+application components, including activity aliases.  The
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> and {@code <activity-alias>}
-attributes must both be "{@code true}" for the system to be able to instantiate 
-the target activity through the alias.  If either is "{@code false}", the alias 
+attributes must both be "{@code true}" for the system to be able to instantiate
+the target activity through the alias.  If either is "{@code false}", the alias
 does not work.
 </p></dd>
 
 <dt><a name="exported"></a>{@code android:exported}</dt>
-<dd>Whether or not components of other applications can launch the target activity 
-through this alias &mdash; "{@code true}" if they can, and "{@code false}" if not.  
-If "{@code false}", the target activity can be launched through the alias only by 
-components of the same application as the alias or applications with the same user ID.  
+<dd>Whether or not components of other applications can launch the target activity
+through this alias &mdash; "{@code true}" if they can, and "{@code false}" if not.
+If "{@code false}", the target activity can be launched through the alias only by
+components of the same application as the alias or applications with the same user ID.
 
 <p>
-The default value depends on whether the alias contains intent filters.  The 
+The default value depends on whether the alias contains intent filters.  The
 absence of any filters means that the activity can be invoked through the alias
-only by specifying the exact name of the alias.  This implies that the alias 
-is intended only for application-internal use (since others would not know its name)  
+only by specifying the exact name of the alias.  This implies that the alias
+is intended only for application-internal use (since others would not know its name)
 &mdash; so the default value is "{@code false}".
-On the other hand, the presence of at least one filter implies that the alias 
+On the other hand, the presence of at least one filter implies that the alias
 is intended for external use &mdash; so the default value is "{@code true}".
 </p></dd>
 
 <dt><a name="icon"></a>{@code android:icon}</dt>
-<dd>An icon for the target activity when presented to users through the alias.  
-See the <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> element's 
+<dd>An icon for the target activity when presented to users through the alias.
+See the <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#icon">icon</a></code> attribute for more information.
 
 <dt><a name="label"></a>{@code android:label}</dt>
@@ -95,31 +95,31 @@
 
 <dt><a name="nm">{@code android:name}</dt>
 <dd>A unique name for the alias.  The name should resemble a fully
-qualified class name.  But, unlike the name of the target activity, 
-the alias name is arbitrary; it does not refer to an actual class.  
+qualified class name.  But, unlike the name of the target activity,
+the alias name is arbitrary; it does not refer to an actual class.
 </p></dd>
 
 <dt><a name="prmsn"></a>{@code android:permission}</dt>
-<dd>The name of a permission that clients must have to launch the target activity 
-or get it to do something via the alias.  If a caller of 
+<dd>The name of a permission that clients must have to launch the target activity
+or get it to do something via the alias.  If a caller of
 <code>{@link android.content.Context#startActivity startActivity()}</code> or
 <code>{@link android.app.Activity#startActivityForResult startActivityForResult()}</code>
 has not been granted the specified permission, the target activity will not be
-activated. 
+activated.
 
 <p>This attribute supplants any permission set for the target activity itself.  If
 it is not set, a permission is not needed to activate the target through the alias.
 </p>
 
 <p>
-For more information on permissions, see the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a> 
+For more information on permissions, see the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a>
 section in the introduction.
 </p></dd>
 
 <dt><a name="trgt"></a>{@code android:targetActivity}</dt>
 <dd>The name of the activity that can be activated through the alias.
-This name must match the {@code name} attribute of an 
+This name must match the {@code name} attribute of an
 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> element that precedes
 the alias in the manifest.
 </p></dd>
diff --git a/docs/html/guide/topics/manifest/category-element.jd b/docs/html/guide/topics/manifest/category-element.jd
index 0034119..d0f0edf 100644
--- a/docs/html/guide/topics/manifest/category-element.jd
+++ b/docs/html/guide/topics/manifest/category-element.jd
@@ -12,19 +12,19 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Adds a category name to an intent filter.  See
-<a href="{@docRoot}guide/components/intents-filters.html">Intents and 
+<a href="{@docRoot}guide/components/intents-filters.html">Intents and
 Intent Filters</a> for details on intent filters and the role of category
 specifications within a filter.</dd>
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the category.  Standard categories are defined in the 
+<dd>The name of the category.  Standard categories are defined in the
 {@link android.content.Intent} class as <code>CATEGORY_<i>name</i></code>
-constants.  The name assigned here can be derived from those constants 
-by prefixing "{@code android.intent.category.}" to the 
+constants.  The name assigned here can be derived from those constants
+by prefixing "{@code android.intent.category.}" to the
 <code><i>name</i></code> that follows {@code CATEGORY_}.  For example,
-the string value for {@code CATEGORY_LAUNCHER} is 
+the string value for {@code CATEGORY_LAUNCHER} is
 "{@code android.intent.category.LAUNCHER}".
 
 <p class="note"><strong>Note:</strong> In order to receive implicit intents, you must include the
@@ -39,7 +39,7 @@
 Custom categories should use the package name as a prefix, to ensure
 that they are unique.
 </p></dd>
-</dl></dd> 
+</dl></dd>
 
 <!-- ##api level indication## -->
 <dt>introduced in:</dt>
diff --git a/docs/html/guide/topics/manifest/grant-uri-permission-element.jd b/docs/html/guide/topics/manifest/grant-uri-permission-element.jd
index b2d9bb7..a464e55 100644
--- a/docs/html/guide/topics/manifest/grant-uri-permission-element.jd
+++ b/docs/html/guide/topics/manifest/grant-uri-permission-element.jd
@@ -14,24 +14,24 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Specifies which data subsets of the parent content provider permission
-can be granted for.  Data subsets are indicated by the path part of a 
+can be granted for.  Data subsets are indicated by the path part of a
 {@code content:} URI.  (The authority part of the URI identifies the
-content provider.)  
-Granting permission is a way of enabling clients of the provider that don't 
-normally have permission to access its data to overcome that restriction on 
+content provider.)
+Granting permission is a way of enabling clients of the provider that don't
+normally have permission to access its data to overcome that restriction on
 a one-time basis.
 
-<p> 
-If a content provider's <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code> 
-attribute is "{@code true}", permission can be granted for any the data under 
-the provider's purview.  However, if that attribute is "{@code false}", permission 
-can be granted only to data subsets that are specified by this element.  
+<p>
+If a content provider's <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code>
+attribute is "{@code true}", permission can be granted for any the data under
+the provider's purview.  However, if that attribute is "{@code false}", permission
+can be granted only to data subsets that are specified by this element.
 A provider can contain any number of {@code <grant-uri-permission>} elements.
 Each one can specify only one path (only one of the three possible attributes).
 </p>
 
 <p>
-For information on how permission is granted, see the 
+For information on how permission is granted, see the
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">grantUriPermissions</a></code> attribute.
 </p></dd>
@@ -41,34 +41,34 @@
 <dt><a name="path"></a>{@code android:path}
 <br/>{@code android:pathPrefix}
 <br/>{@code android:pathPattern}</dt>
-<dd>A path identifying the data subset or subsets that permission can be 
-granted for.  The {@code path} attribute specifies a complete path; 
-permission can be granted only to the particular data subset identified 
-by that path.  
-The {@code pathPrefix} attribute specifies the initial part of a path; 
-permission can be granted to all data subsets with paths that share that 
-initial part.   
-The {@code pathPattern} attribute specifies a complete path, but one 
+<dd>A path identifying the data subset or subsets that permission can be
+granted for.  The {@code path} attribute specifies a complete path;
+permission can be granted only to the particular data subset identified
+by that path.
+The {@code pathPrefix} attribute specifies the initial part of a path;
+permission can be granted to all data subsets with paths that share that
+initial part.
+The {@code pathPattern} attribute specifies a complete path, but one
 that can contain the following wildcards:
 
 <ul>
 <li>An asterisk ('{@code *}') matches a sequence of 0 to many occurrences of
 the immediately preceding character.</li>
 
-<li><p>A period followed by an asterisk ("{@code .*}") matches any sequence of 
+<li><p>A period followed by an asterisk ("{@code .*}") matches any sequence of
 0 to many characters.</p></li>
 </ul>
 
 <p>
-Because '{@code \}' is used as an escape character when the string is read 
-from XML (before it is parsed as a pattern), you will need to double-escape:  
-For example, a literal '{@code *}' would be written as "{@code \\*}" and a 
-literal '{@code \}' would be written as "{@code \\\\}".  This is basically 
+Because '{@code \}' is used as an escape character when the string is read
+from XML (before it is parsed as a pattern), you will need to double-escape:
+For example, a literal '{@code *}' would be written as "{@code \\*}" and a
+literal '{@code \}' would be written as "{@code \\\\}".  This is basically
 the same as what you would need to write if constructing the string in Java code.
 </p>
 
 <p>
-For more information on these types of patterns, see the descriptions of 
+For more information on these types of patterns, see the descriptions of
 {@link android.os.PatternMatcher#PATTERN_LITERAL},
 {@link android.os.PatternMatcher#PATTERN_PREFIX}, and
 {@link android.os.PatternMatcher#PATTERN_SIMPLE_GLOB} in the
@@ -81,10 +81,10 @@
 <dd>API Level 1</dd>
 
 <dt>see also:</dt>
-<dd>the 
+<dd>the
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmns">grantUriPermissions</a></code>
-attribute of the 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> 
+attribute of the
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
 element</dd>
 
 
diff --git a/docs/html/guide/topics/manifest/instrumentation-element.jd b/docs/html/guide/topics/manifest/instrumentation-element.jd
index 74be559..a476be3 100644
--- a/docs/html/guide/topics/manifest/instrumentation-element.jd
+++ b/docs/html/guide/topics/manifest/instrumentation-element.jd
@@ -23,15 +23,15 @@
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="ftest"></a>{@code android:functionalTest}</dt>
-<dd>Whether or not the Instrumentation class should run as a functional test 
+<dd>Whether or not the Instrumentation class should run as a functional test
 &mdash; "{@code true}" if it should, and "{@code false}" if not.  The
 default value is "{@code false}".</dd>
 
 <dt><a name="hprof"></a>{@code android:handleProfiling}</dt>
-<dd>Whether or not the Instrumentation object will turn profiling on and 
-off &mdash; "{@code true}" if it determines when profiling starts and 
-stops, and "{@code false}" if profiling continues the entire time it is 
-running.  A value of "{@code true}" enables the object to target profiling 
+<dd>Whether or not the Instrumentation object will turn profiling on and
+off &mdash; "{@code true}" if it determines when profiling starts and
+stops, and "{@code false}" if profiling continues the entire time it is
+running.  A value of "{@code true}" enables the object to target profiling
 at a specific set of operations.  The default value is "{@code false}".</dd>
 
 <dt><a name="icon"></a>{@code android:icon}</dt>
@@ -43,11 +43,11 @@
 be set as a raw string or a reference to a string resource.</dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the {@link android.app.Instrumentation} subclass.  
-This should be a fully qualified class name (such as, 
-"{@code com.example.project.StringInstrumentation}").  However, as a shorthand, 
-if the first character of the name is a period, it is appended to the package 
-name specified in the <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.  
+<dd>The name of the {@link android.app.Instrumentation} subclass.
+This should be a fully qualified class name (such as,
+"{@code com.example.project.StringInstrumentation}").  However, as a shorthand,
+if the first character of the name is a period, it is appended to the package
+name specified in the <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
 
 <p>
 There is no default.  The name must be specified.
diff --git a/docs/html/guide/topics/manifest/intent-filter-element.jd b/docs/html/guide/topics/manifest/intent-filter-element.jd
index 14b4e03..13956c9 100644
--- a/docs/html/guide/topics/manifest/intent-filter-element.jd
+++ b/docs/html/guide/topics/manifest/intent-filter-element.jd
@@ -27,23 +27,23 @@
 <dt>description:</dt>
 <dd itemprop="description">Specifies the types of intents that an activity, service, or broadcast
 receiver can respond to.  An intent filter declares the capabilities of its
-parent component &mdash; what an activity or service can do and what types 
-of broadcasts a receiver can handle.  It opens the component to receiving 
-intents of the advertised type, while filtering out those that are not 
+parent component &mdash; what an activity or service can do and what types
+of broadcasts a receiver can handle.  It opens the component to receiving
+intents of the advertised type, while filtering out those that are not
 meaningful for the component.
 
 <p>
-Most of the contents of the filter are described by its 
-<code><a href="{@docRoot}guide/topics/manifest/action-element.html">&lt;action&gt;</a></code>, 
+Most of the contents of the filter are described by its
+<code><a href="{@docRoot}guide/topics/manifest/action-element.html">&lt;action&gt;</a></code>,
 <code><a href="{@docRoot}guide/topics/manifest/category-element.html">&lt;category&gt;</a></code>, and
 <code><a href="{@docRoot}guide/topics/manifest/data-element.html">&lt;data&gt;</a></code> subelements.
 </p>
 
 <p>
-For a more detailed discussion of filters, see the separate  
-<a href="{@docRoot}guide/components/intents-filters.html">Intents 
-and Intent Filters</a> document, as well as the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#ifs">Intents Filters</a> 
+For a more detailed discussion of filters, see the separate
+<a href="{@docRoot}guide/components/intents-filters.html">Intents
+and Intent Filters</a> document, as well as the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#ifs">Intents Filters</a>
 section in the introduction.
 </p></dd>
 
@@ -51,19 +51,19 @@
 <dd><dl class="attr">
 <dt><a name="icon"></a>{@code android:icon}</dt>
 <dd>An icon that represents the parent activity, service, or broadcast
-receiver when that component is presented to the user as having the 
+receiver when that component is presented to the user as having the
 capability described by the filter.
 
 <p>
-This attribute must be set as a reference to a drawable resource 
-containing the image definition.  The default value is the icon set 
-by the parent component's {@code icon} attribute.  If the parent 
+This attribute must be set as a reference to a drawable resource
+containing the image definition.  The default value is the icon set
+by the parent component's {@code icon} attribute.  If the parent
 does not specify an icon, the default is the icon set by the
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element.
 </p>
 
 <p>
-For more on intent filter icons, see 
+For more on intent filter icons, see
 <a href="{@docRoot}guide/topics/manifest/manifest-intro.html#iconlabel">Icons and Labels</a>
 in the introduction.
 </p></dd>
@@ -75,44 +75,44 @@
 
 <p>
 The label should be set as a reference to a string resource, so that
-it can be localized like other strings in the user interface.  
-However, as a convenience while you're developing the application, 
+it can be localized like other strings in the user interface.
+However, as a convenience while you're developing the application,
 it can also be set as a raw string.
 </p>
 
 <p>
-The default value is the label set by the parent component.  If the 
+The default value is the label set by the parent component.  If the
 parent does not specify a label, the default is the label set by the
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html#label"> label</a></code> attribute.
 </p>
 
 <p>
-For more on intent filter labels, see 
+For more on intent filter labels, see
 <a href="{@docRoot}guide/topics/manifest/manifest-intro.html#iconlabel">Icons and Labels</a>
 in the introduction.
 </p></dd>
 
 <dt><a name="priority"></a>{@code android:priority}</dt>
 <dd>The priority that should be given to the parent component with regard
-to handling intents of the type described by the filter.  This attribute has 
+to handling intents of the type described by the filter.  This attribute has
 meaning for both activities and broadcast receivers:
 
 <ul>
-<li>It provides information about how able an activity is to respond to 
+<li>It provides information about how able an activity is to respond to
 an intent that matches the filter, relative to other activities that could
-also respond to the intent.  When an intent could be handled by multiple 
+also respond to the intent.  When an intent could be handled by multiple
 activities with different priorities, Android will consider only those with
 higher priority values as potential targets for the intent.</li>
 
 <li><p>It controls the order in which broadcast receivers are executed to
-receive broadcast messages.  Those with higher priority 
-values are called before those with lower values.  (The order applies only 
+receive broadcast messages.  Those with higher priority
+values are called before those with lower values.  (The order applies only
 to synchronous messages; it's ignored for asynchronous messages.)</p></li>
 </ul>
 
 <p>
-Use this attribute only if you really need to impose a specific order in 
+Use this attribute only if you really need to impose a specific order in
 which the broadcasts are received, or want to force Android to prefer
 one activity over others.
 </p>
diff --git a/docs/html/guide/topics/manifest/meta-data-element.jd b/docs/html/guide/topics/manifest/meta-data-element.jd
index d3b41c3..2d1bdfe 100644
--- a/docs/html/guide/topics/manifest/meta-data-element.jd
+++ b/docs/html/guide/topics/manifest/meta-data-element.jd
@@ -19,18 +19,18 @@
 
 <dt>description:</dt>
 <dd itemprop="description">A name-value pair for an item of additional, arbitrary data that can
-be supplied to the parent component.  A component element can contain any 
+be supplied to the parent component.  A component element can contain any
 number of {@code <meta-data>} subelements.  The values from all of
-them are collected in a single {@link android.os.Bundle} object and made 
-available to the component as the 
-{@link android.content.pm.PackageItemInfo#metaData 
+them are collected in a single {@link android.os.Bundle} object and made
+available to the component as the
+{@link android.content.pm.PackageItemInfo#metaData
 PackageItemInfo.metaData} field.
 
 <p>
-Ordinary values are specified through the <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#value">value</a></code> 
-attribute.  However, to assign a resource ID as the value, use the 
-<code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#resource">resource</a></code> attribute instead.  For example, 
-the following code assigns whatever value is stored in the {@code @string/kangaroo} 
+Ordinary values are specified through the <code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#value">value</a></code>
+attribute.  However, to assign a resource ID as the value, use the
+<code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html#resource">resource</a></code> attribute instead.  For example,
+the following code assigns whatever value is stored in the {@code @string/kangaroo}
 resource to the "{@code zoo}" name:
 </p>
 
@@ -44,22 +44,22 @@
 <pre>&lt;meta-data android:name="zoo" android:resource="@string/kangaroo" /&gt;</pre>
 
 <p>
-It is highly recommended that you avoid supplying related data as 
+It is highly recommended that you avoid supplying related data as
 multiple separate {@code <meta-data>} entries. Instead, if you
-have complex data to associate with a component, store it as a resource and 
+have complex data to associate with a component, store it as a resource and
 use the {@code resource} attribute to inform the component of its ID.
 </p></dd>
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>A unique name for the item.  To ensure that the name is unique, use a 
-Java-style naming convention &mdash; for example, 
+<dd>A unique name for the item.  To ensure that the name is unique, use a
+Java-style naming convention &mdash; for example,
 "{@code com.example.project.activity.fred}".</dd>
 
 <dt><a name="rsrc"></a>{@code android:resource}</dt>
-<dd>A reference to a resource.  The ID of the resource is the value assigned 
-to the item.  The ID can be retrieved from the meta-data Bundle by the 
+<dd>A reference to a resource.  The ID of the resource is the value assigned
+to the item.  The ID can be retrieved from the meta-data Bundle by the
 {@link android.os.Bundle#getInt Bundle.getInt()} method.</dd>
 
 <dt><a name="val"></a>{@code android:value}</dt>
@@ -70,7 +70,7 @@
   <th>Type</th>
   <th>Bundle method</th>
 </tr><tr>
-  <td>String value, using double backslashes ({@code \\}) to escape characters 
+  <td>String value, using double backslashes ({@code \\}) to escape characters
       &mdash; such as "{@code \\n}" and "{@code \\uxxxxx}" for a Unicode character.</td>
   <td>{@link android.os.Bundle#getString(String) getString()}</td>
 </tr><tr>
@@ -80,7 +80,7 @@
   <td>Boolean value, either "{@code true}" or "{@code false}"</td>
   <td>{@link android.os.Bundle#getBoolean(String) getBoolean()}</td>
 </tr><tr>
-  <td>Color value, in the form "{@code #rgb}", "{@code #argb}", 
+  <td>Color value, in the form "{@code #rgb}", "{@code #argb}",
       "{@code #rrggbb}", or "{@code #aarrggbb}"</td>
   <td>{@link android.os.Bundle#getInt(String) getInt()}</td>
 </tr><tr>
diff --git a/docs/html/guide/topics/manifest/path-permission-element.jd b/docs/html/guide/topics/manifest/path-permission-element.jd
index cdaf82b..4774707 100644
--- a/docs/html/guide/topics/manifest/path-permission-element.jd
+++ b/docs/html/guide/topics/manifest/path-permission-element.jd
@@ -33,9 +33,9 @@
 
 <dd><dl class="attr">
 <dt><a name="path"></a>{@code android:path}</dt>
-<dd>A complete URI path for a subset of content provider data. 
-Permission can be granted only to the particular data identified by this path. 
-When used to provide search suggestion content, it must be appended 
+<dd>A complete URI path for a subset of content provider data.
+Permission can be granted only to the particular data identified by this path.
+When used to provide search suggestion content, it must be appended
 with "/search_suggest_query".
 </dd>
 
@@ -47,24 +47,24 @@
 <dt><a name="pathPattern"></a>{@code android:pathPattern}</dt>
 <dd>A complete URI path for a subset of content provider data,
 but one that can use the following wildcards:
- 
-<ul> 
+
+<ul>
 <li>An asterisk ('<code class="Code prettyprint">*</code>'). This matches a sequence of 0 to many occurrences of
-the immediately preceding character.</li> 
- 
-<li>A period followed by an asterisk ("<code class="Code prettyprint">.*</code>"). This matches any sequence of 
-0 or more characters.</li> 
-</ul> 
- 
-<p> 
-Because '<code class="Code prettyprint">\</code>' is used as an escape character when the string is read 
+the immediately preceding character.</li>
+
+<li>A period followed by an asterisk ("<code class="Code prettyprint">.*</code>"). This matches any sequence of
+0 or more characters.</li>
+</ul>
+
+<p>
+Because '<code class="Code prettyprint">\</code>' is used as an escape character when the string is read
 from XML (before it is parsed as a pattern), you will need to double-escape.
-For example, a literal '<code class="Code prettyprint">*</code>' would be written as "<code class="Code prettyprint">\\*</code>" and a 
-literal '<code class="Code prettyprint">\</code>' would be written as "<code class="Code prettyprint">\\</code>".  This is basically 
+For example, a literal '<code class="Code prettyprint">*</code>' would be written as "<code class="Code prettyprint">\\*</code>" and a
+literal '<code class="Code prettyprint">\</code>' would be written as "<code class="Code prettyprint">\\</code>".  This is basically
 the same as what you would need to write if constructing the string in Java code.
-</p> 
-<p> 
-For more information on these types of patterns, see the descriptions of 
+</p>
+<p>
+For more information on these types of patterns, see the descriptions of
 <a href="/reference/android/os/PatternMatcher.html#PATTERN_LITERAL">PATTERN_LITERAL</a>,
 <a href="/reference/android/os/PatternMatcher.html#PATTERN_PREFIX">PATTERN_PREFIX</a>, and
 <a href="/reference/android/os/PatternMatcher.html#PATTERN_SIMPLE_GLOB">PATTERN_SIMPLE_GLOB</a> in the
@@ -74,20 +74,20 @@
 
 <dt><a name="permission"></a>{@code android:permission}</dt>
 <dd>The name of a permission that clients must have in order to read or write the
-content provider's data.  This attribute is a convenient way of setting a 
-single permission for both reading and writing.  However, the 
-<code>readPermission</code> and 
+content provider's data.  This attribute is a convenient way of setting a
+single permission for both reading and writing.  However, the
+<code>readPermission</code> and
 <code>writePermission</code> attributes take precedence
 over this one.
-</dd> 
+</dd>
 
 <dt><a name="readPermission"></a>{@code android:readPermission}</dt>
 <dd>A permission that clients must have in order to query the content provider.
-</dd> 
+</dd>
 
 <dt><a name="writePermission"></a>{@code android:writePermission}</dt>
 <dd>A permission that clients must have in order to make changes to the data controlled by the content provider.
-</dd> 
+</dd>
 
 
 
diff --git a/docs/html/guide/topics/manifest/permission-group-element.jd b/docs/html/guide/topics/manifest/permission-group-element.jd
index 3221d4b..85452b5 100644
--- a/docs/html/guide/topics/manifest/permission-group-element.jd
+++ b/docs/html/guide/topics/manifest/permission-group-element.jd
@@ -20,17 +20,17 @@
 presented together in the user interface.
 
 <p>
-Note that this element does not declare a permission itself, only a category in 
-which permissions can be placed.  See the 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> element for element for information 
+Note that this element does not declare a permission itself, only a category in
+which permissions can be placed.  See the
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> element for element for information
 on declaring permissions and assigning them to groups.
 </p></dd>
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="desc"></a>{@code android:description}</dt>
-<dd>User-readable text that describes the group.  The text should be 
-longer and more explanatory than the label.  This attribute must be 
+<dd>User-readable text that describes the group.  The text should be
+longer and more explanatory than the label.  This attribute must be
 set as a reference to a string resource.  Unlike the {@code label}
 attribute, it cannot be a raw string.</dd>
 
@@ -39,10 +39,10 @@
 as a reference to a drawable resource containing the image definition.</dd>
 
 <dt><a name="label"></a>{@code android:label}</dt>
-<dd>A user-readable name for the group.  As a convenience, the label can 
-be directly set as a raw string while you're developing the application.  
-However, when the application is ready to be published, it should be set 
-as a reference to a string resource, so that it can be localized like other 
+<dd>A user-readable name for the group.  As a convenience, the label can
+be directly set as a raw string while you're developing the application.
+However, when the application is ready to be published, it should be set
+as a reference to a string resource, so that it can be localized like other
 strings in the user interface.</dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
diff --git a/docs/html/guide/topics/manifest/permission-tree-element.jd b/docs/html/guide/topics/manifest/permission-tree-element.jd
index 21d7352..cbfd72cd 100644
--- a/docs/html/guide/topics/manifest/permission-tree-element.jd
+++ b/docs/html/guide/topics/manifest/permission-tree-element.jd
@@ -14,7 +14,7 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Declares the base name for a tree of permissions.  The application takes
-ownership of all names within the tree.  It can dynamically add new permissions 
+ownership of all names within the tree.  It can dynamically add new permissions
 to the tree by calling <code>{@link android.content.pm.PackageManager#addPermission PackageManager.addPermission()}</code>.  Names within the tree are separated by
 periods ('{@code .}').  For example, if the base name is
 {@code com.example.project.taxes}, permissions like the following might be
@@ -25,30 +25,30 @@
 <br/>{@code com.example.project.taxes.deductions.EXAGGERATE}</p>
 
 <p>
-Note that this element does not declare a permission itself, only a 
-namespace in which further permissions can be placed.  See the 
-<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
+Note that this element does not declare a permission itself, only a
+namespace in which further permissions can be placed.  See the
+<code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
 element for information on declaring permissions.
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="icon"></a>{@code android:icon}</dt>
-<dd>An icon representing all the permissions in the tree.  This attribute 
-must be set as a reference to a drawable resource containing the image 
+<dd>An icon representing all the permissions in the tree.  This attribute
+must be set as a reference to a drawable resource containing the image
 definition.</dd>
 
 <dt><a name="label"></a>{@code android:label}</dt>
-<dd>A user-readable name for the group.  As a convenience, the label can 
-be directly set as a raw string for quick and dirty programming.  However, 
-when the application is ready to be published, it should be set as a 
-reference to a string resource, so that it can be localized like other 
+<dd>A user-readable name for the group.  As a convenience, the label can
+be directly set as a raw string for quick and dirty programming.  However,
+when the application is ready to be published, it should be set as a
+reference to a string resource, so that it can be localized like other
 strings in the user interface.</dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name that's at the base of the permission tree.  It serves as 
-a prefix to all permission names in the tree.  Java-style scoping should 
-be used to ensure that the name is unique.  The name must have more than 
-two period-separated segments in its path &mdash; for example, 
+<dd>The name that's at the base of the permission tree.  It serves as
+a prefix to all permission names in the tree.  Java-style scoping should
+be used to ensure that the name is unique.  The name must have more than
+two period-separated segments in its path &mdash; for example,
 {@code com.example.base} is OK, but {@code com.example} is not.</dd>
 
 </dl></dd>
diff --git a/docs/html/guide/topics/manifest/provider-element.jd b/docs/html/guide/topics/manifest/provider-element.jd
index 4b5c0c3..1947849 100644
--- a/docs/html/guide/topics/manifest/provider-element.jd
+++ b/docs/html/guide/topics/manifest/provider-element.jd
@@ -37,41 +37,41 @@
 
 <dt>description:</dt>
 <dd itemprop="description">
-    Declares a content provider component. A content provider is a subclass of 
-    {@link android.content.ContentProvider} that supplies structured access to data managed by the 
-    application.  All content providers in your application must be defined in a 
+    Declares a content provider component. A content provider is a subclass of
+    {@link android.content.ContentProvider} that supplies structured access to data managed by the
+    application.  All content providers in your application must be defined in a
     {@code <provider>} element in the manifest file; otherwise, the system is unaware of them
     and doesn't run them.
     <p>
         You only declare content providers that are part of your application. Content providers in
         other applications that you use in your application should not be declared.
-    </p>  
+    </p>
     <p>
         The Android system stores references to content providers according to an <b>authority</b>
-        string, part of the provider's <b>content URI</b>. For example, suppose you want to 
+        string, part of the provider's <b>content URI</b>. For example, suppose you want to
         access a content provider that stores information about health care professionals. To do
-        this, you call the method 
+        this, you call the method
         {@link android.content.ContentResolver#query ContentResolver.query()}, which among other
         arguments takes a URI that identifies the provider:
-    </p> 
+    </p>
 <pre>
 content://com.example.project.healthcareprovider/nurses/rn
 </pre>
     <p>
         The <code>content:</code> <b>scheme</b> identifies the URI as a content URI pointing to
-        an Android content provider. The authority 
+        an Android content provider. The authority
         <code>com.example.project.healthcareprovider</code> identifies the provider itself; the
-        Android system looks up the authority in its list of known providers and their authorities. 
-        The substring <code>nurses/rn</code> is a <b>path</b>, which the content provider can use 
+        Android system looks up the authority in its list of known providers and their authorities.
+        The substring <code>nurses/rn</code> is a <b>path</b>, which the content provider can use
         to identify subsets of the provider data.
     </p>
     <p>
-        Notice that when you define your provider in the <code>&lt;provider&gt;</code> element, you 
+        Notice that when you define your provider in the <code>&lt;provider&gt;</code> element, you
         don't include the scheme or the path in the <code>android:name</code> argument, only the
-        authority.    
+        authority.
     </p>
     <p>
-        For information on using and developing content providers, see the API Guide, 
+        For information on using and developing content providers, see the API Guide,
         <a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>.
     </p>
 </dd>
@@ -82,8 +82,8 @@
         <dt><a name="auth"></a>{@code android:authorities}</dt>
         <dd>
         A list of one or more URI authorities that identify data offered by the content provider.
-        Multiple authorities are listed by separating their names with a semicolon. 
-        To avoid conflicts, authority names should use a Java-style naming convention 
+        Multiple authorities are listed by separating their names with a semicolon.
+        To avoid conflicts, authority names should use a Java-style naming convention
         (such as {@code com.example.provider.cartoonprovider}).  Typically, it's the name
         of the {@link android.content.ContentProvider} subclass that implements the provider
         <p>
@@ -92,92 +92,92 @@
         </dd>
 
         <dt><a name="enabled"></a>{@code android:enabled}</dt>
-        <dd>Whether or not the content provider can be instantiated by the system &mdash; 
-        "{@code true}" if it can be, and "{@code false}" if not.  The default value 
+        <dd>Whether or not the content provider can be instantiated by the system &mdash;
+        "{@code true}" if it can be, and "{@code false}" if not.  The default value
         is "{@code true}".
 
         <p>
-The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all 
-application components, including content providers.  The 
+The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all
+application components, including content providers.  The
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> and {@code <provider>}
 attributes must both be "{@code true}" (as they both
-are by default) for the content provider to be enabled.  If either is 
+are by default) for the content provider to be enabled.  If either is
 "{@code false}", the provider is disabled; it cannot be instantiated.
 </p></dd>
 
 <dt><a name="exported"></a>{@code android:exported}</dt>
 <dd>
     Whether the content provider is available for other applications to use:
-    <ul> 
+    <ul>
         <li>
             <code>true</code>: The provider is available to other applications. Any application can
             use the provider's content URI to access it, subject to the permissions specified for
             the provider.
         </li>
         <li>
-            <code>false</code>: The provider is not available to other applications. Set 
+            <code>false</code>: The provider is not available to other applications. Set
             <code>android:exported="false"</code> to limit access to the provider to your
             applications. Only applications that have the same user ID (UID) as the provider will
             have access to it.
         </li>
     </ul>
     <p>
-        The default value is <code>"true"</code> for applications that set either 
+        The default value is <code>"true"</code> for applications that set either
 <code><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">android:minSdkVersion</a></code>
-        or 
-<code><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">android:targetSdkVersion</a></code> to 
+        or
+<code><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">android:targetSdkVersion</a></code> to
         <code>"16"</code> or lower. For applications that
-        set either of these attributes to <code>"17"</code> or higher, the default is 
+        set either of these attributes to <code>"17"</code> or higher, the default is
         <code>"false"</code>.
     </p>
     <p>
         You can set <code>android:exported="false"</code> and still limit access to your
-        provider by setting permissions with the 
+        provider by setting permissions with the
    <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">permission</a></code>
         attribute.
     </p>
-</dd> 
+</dd>
 
 <dt><a name="gprmsn"></a>{@code android:grantUriPermissions}</dt>
-<dd>Whether or not those who ordinarily would not have permission to 
+<dd>Whether or not those who ordinarily would not have permission to
 access the content provider's data can be granted permission to do so,
 temporarily overcoming the restriction imposed by the
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#rprmsn">readPermission</a></code>,
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#wprmsn">writePermission</a></code>, and 
-<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">permission</a></code> attributes 
-&mdash; 
-"{@code true}" if permission can be granted, and "{@code false}" if not.  
-If "{@code true}", permission can be granted to any of the content 
-provider's data.  If "{@code false}", permission can be granted only 
-to the data subsets listed in 
-<code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code> subelements, 
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#wprmsn">writePermission</a></code>, and
+<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#prmsn">permission</a></code> attributes
+&mdash;
+"{@code true}" if permission can be granted, and "{@code false}" if not.
+If "{@code true}", permission can be granted to any of the content
+provider's data.  If "{@code false}", permission can be granted only
+to the data subsets listed in
+<code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code> subelements,
 if any.  The default value is "{@code false}".
 
 <p>
-Granting permission is a way of giving an application component one-time 
-access to data protected by a permission.  For example, when an e-mail 
-message contains an attachment, the mail application may call upon the 
-appropriate viewer to open it, even though the viewer doesn't have general 
-permission to look at all the content provider's data. 
+Granting permission is a way of giving an application component one-time
+access to data protected by a permission.  For example, when an e-mail
+message contains an attachment, the mail application may call upon the
+appropriate viewer to open it, even though the viewer doesn't have general
+permission to look at all the content provider's data.
 </p>
 
-<p>  
-In such cases, permission is granted by 
-<code>{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}</code> 
-and <code>{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION}</code> 
-flags in the Intent object that activates the component.  For example, the 
-mail application might put {@code FLAG_GRANT_READ_URI_PERMISSION} in the 
-Intent passed to {@code Context.startActivity()}.  The permission is specific 
-to the URI in the Intent.  
+<p>
+In such cases, permission is granted by
+<code>{@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}</code>
+and <code>{@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION}</code>
+flags in the Intent object that activates the component.  For example, the
+mail application might put {@code FLAG_GRANT_READ_URI_PERMISSION} in the
+Intent passed to {@code Context.startActivity()}.  The permission is specific
+to the URI in the Intent.
 </p>
 
 <p>
 If you enable this feature, either by setting this attribute to "{@code true}"
-or by defining <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code> 
-subelements, you must call 
-<code>{@link android.content.Context#revokeUriPermission 
-Context.revokeUriPermission()}</code> when a covered URI is deleted from 
+or by defining <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code>
+subelements, you must call
+<code>{@link android.content.Context#revokeUriPermission
+Context.revokeUriPermission()}</code> when a covered URI is deleted from
 the provider.
 </p>
 
@@ -187,52 +187,52 @@
 </p></dd>
 
 <dt><a name="icon"></a>{@code android:icon}</dt>
-<dd>An icon representing the content provider. 
-This attribute must be set as a reference to a drawable resource containing 
-the image definition.  If it is not set, the icon specified for the application 
-as a whole is used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
+<dd>An icon representing the content provider.
+This attribute must be set as a reference to a drawable resource containing
+the image definition.  If it is not set, the icon specified for the application
+as a whole is used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
 element's <code><a href="{@docRoot}guide/topics/manifest/application-element.html#icon">icon</a></code> attribute).</dd>
 
 <dt><a name="init"></a>{@code android:initOrder}</dt>
-<dd>The order in which the content provider should be instantiated, 
-relative to other content providers hosted by the same process.  
-When there are dependencies among content providers, setting this 
-attribute for each of them ensures that they are created in the order 
-required by those dependencies.  The value is a simple integer, 
+<dd>The order in which the content provider should be instantiated,
+relative to other content providers hosted by the same process.
+When there are dependencies among content providers, setting this
+attribute for each of them ensures that they are created in the order
+required by those dependencies.  The value is a simple integer,
 with higher numbers being initialized first.</dd>
 
 <dt><a name="label"></a>{@code android:label}</dt>
-<dd>A user-readable label for the content provided.  
-If this attribute is not set, the label set for the application as a whole is 
-used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
+<dd>A user-readable label for the content provided.
+If this attribute is not set, the label set for the application as a whole is
+used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html#label">label</a></code> attribute).
 
 <p>
 The label should be set as a reference to a string resource, so that
-it can be localized like other strings in the user interface.  
-However, as a convenience while you're developing the application, 
+it can be localized like other strings in the user interface.
+However, as a convenience while you're developing the application,
 it can also be set as a raw string.
 </p></dd>
 
 <dt><a name="multi"></a>{@code android:multiprocess}</dt>
-<dd>Whether or not an instance of the content provider can be created in 
+<dd>Whether or not an instance of the content provider can be created in
 every client process &mdash; "{@code true}" if instances can run in multiple
 processes, and "{@code false}" if not.  The default value is "{@code false}".
 
 <p>
-Normally, a content provider is instantiated in the process of the 
-application that defined it.  However, if this flag is set to "{@code true}", 
-the system can create an instance in every process where there's a client 
-that wants to interact with it, thus avoiding the overhead of interprocess 
+Normally, a content provider is instantiated in the process of the
+application that defined it.  However, if this flag is set to "{@code true}",
+the system can create an instance in every process where there's a client
+that wants to interact with it, thus avoiding the overhead of interprocess
 communication.
 </p></dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the class that implements the content provider, a subclass of 
-{@link android.content.ContentProvider}.  This should be a fully qualified 
-class name (such as, "{@code com.example.project.TransportationProvider}").  
-However, as a shorthand, if the first character of the name is a period, 
-it is appended to the package name specified in the 
+<dd>The name of the class that implements the content provider, a subclass of
+{@link android.content.ContentProvider}.  This should be a fully qualified
+class name (such as, "{@code com.example.project.TransportationProvider}").
+However, as a shorthand, if the first character of the name is a period,
+it is appended to the package name specified in the
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
 
 <p>
@@ -242,58 +242,58 @@
 
 <dt><a name="prmsn"></a>{@code android:permission}</dt>
 <dd>The name of a permission that clients must have to read or write the
-content provider's data.  This attribute is a convenient way of setting a 
-single permission for both reading and writing.  However, the 
-<code><a href="#rprmsn">readPermission</a></code> and 
+content provider's data.  This attribute is a convenient way of setting a
+single permission for both reading and writing.  However, the
+<code><a href="#rprmsn">readPermission</a></code> and
 <code><a href="#wprmsn">writePermission</a></code> attributes take precedence
-over this one.  If the <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#rprmsn">readPermission</a></code> 
+over this one.  If the <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#rprmsn">readPermission</a></code>
 attribute is also set, it controls access for querying the content provider.
 And if the <code><a href="#wprmsn">writePermission</a></code> attribute is set,
 it controls access for modifying the provider's data.
 
 <p>
-For more information on permissions, see the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#sectperm">Permissions</a> 
-section in the introduction and a separate document, 
+For more information on permissions, see the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#sectperm">Permissions</a>
+section in the introduction and a separate document,
 <a href="{@docRoot}guide/topics/security/security.html">Security and
 Permissions</a>.
 </p></dd>
 
 <dt><a name="proc"></a>{@code android:process}</dt>
-<dd>The name of the process in which the content provider should run.  Normally, 
-all components of an application run in the default process created for the 
-application.  It has the same name as the application package.  The 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code> 
-attribute can set a different 
+<dd>The name of the process in which the content provider should run.  Normally,
+all components of an application run in the default process created for the
+application.  It has the same name as the application package.  The
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code>
+attribute can set a different
 default for all components.  But each component can override the default
-with its own {@code process} attribute, allowing you to spread your 
+with its own {@code process} attribute, allowing you to spread your
 application across multiple processes.
 
 <p>
-If the name assigned to this attribute begins with a colon (':'), a new 
-process, private to the application, is created when it's needed and 
+If the name assigned to this attribute begins with a colon (':'), a new
+process, private to the application, is created when it's needed and
 the activity runs in that process.
-If the process name begins with a lowercase character, the activity will run 
+If the process name begins with a lowercase character, the activity will run
 in a global process of that name, provided that it has permission to do so.
-This allows components in different applications to share a process, reducing 
+This allows components in different applications to share a process, reducing
 resource usage.
 </p></dd>
 
 <dt><a name="rprmsn"></a>{@code android:readPermission}</dt>
-<dd>A permission that clients must have to query the content provider.  
-See also the <code><a href="#prmsn">permission</a></code> and 
+<dd>A permission that clients must have to query the content provider.
+See also the <code><a href="#prmsn">permission</a></code> and
 <code><a href="#wprmsn">writePermission</a></code> attributes.</dd>
 
 <dt><a name="sync"></a>{@code android:syncable}</dt>
-<dd>Whether or not the data under the content provider's control 
-is to be synchronized with data on a server &mdash; "{@code true}" 
+<dd>Whether or not the data under the content provider's control
+is to be synchronized with data on a server &mdash; "{@code true}"
 if it is to be synchronized, and "{@code false}" if not.</dd>
 
 <dt><a name="wprmsn"></a>{@code android:writePermission}</dt>
-<dd>A permission that clients must have to make changes to the data 
-controlled by the content provider.  
-See also the <code><a href="#prmsn">permission</a></code> and 
+<dd>A permission that clients must have to make changes to the data
+controlled by the content provider.
+See also the <code><a href="#prmsn">permission</a></code> and
 <code><a href="#rprmsn">readPermission</a></code> attributes.</dd>
 
 </dl></dd>
diff --git a/docs/html/guide/topics/manifest/receiver-element.jd b/docs/html/guide/topics/manifest/receiver-element.jd
index 081a191..800ee8a 100644
--- a/docs/html/guide/topics/manifest/receiver-element.jd
+++ b/docs/html/guide/topics/manifest/receiver-element.jd
@@ -24,14 +24,14 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Declares a broadcast receiver (a {@link android.content.BroadcastReceiver}
-subclass) as one of the application's components.  Broadcast receivers enable 
-applications to receive intents that are broadcast by the system or by other 
+subclass) as one of the application's components.  Broadcast receivers enable
+applications to receive intents that are broadcast by the system or by other
 applications, even when other components of the application are not running.
 
 <p>
 There are two ways to make a broadcast receiver known to the system:  One is
 declare it in the manifest file with this element.  The other is to create
-the receiver dynamically in code and register it with the <code>{@link 
+the receiver dynamically in code and register it with the <code>{@link
 android.content.Context#registerReceiver Context.registerReceiver()}</code>
 method.  See the {@link android.content.BroadcastReceiver} class description
 for more on dynamically created receivers.
@@ -40,14 +40,14 @@
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="enabled"></a>{@code android:enabled}</dt>
-<dd>Whether or not the broadcast receiver can be instantiated by the system &mdash; 
-"{@code true}" if it can be, and "{@code false}" if not.  The default value 
+<dd>Whether or not the broadcast receiver can be instantiated by the system &mdash;
+"{@code true}" if it can be, and "{@code false}" if not.  The default value
 is "{@code true}".
 
 <p>
-The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all 
-application components, including broadcast receivers.  The 
+The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all
+application components, including broadcast receivers.  The
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> and
 {@code <receiver>} attributes must both be "{@code true}" for
 the broadcast receiver to be enabled.  If either is "{@code false}", it is
@@ -55,72 +55,72 @@
 </p></dd>
 
 <dt><a name="exported"></a>{@code android:exported}</dt>
-<dd>Whether or not the broadcast receiver can receive messages from sources 
-outside its application  &mdash; "{@code true}" if it can, and "{@code false}" 
-if not.  If "{@code false}", the only messages the broadcast receiver can 
-receive are those sent by components of the same application or applications 
-with the same user ID.  
+<dd>Whether or not the broadcast receiver can receive messages from sources
+outside its application  &mdash; "{@code true}" if it can, and "{@code false}"
+if not.  If "{@code false}", the only messages the broadcast receiver can
+receive are those sent by components of the same application or applications
+with the same user ID.
 
 <p>
-The default value depends on whether the broadcast receiver contains intent filters.  
+The default value depends on whether the broadcast receiver contains intent filters.
 The absence of any filters means that it can be invoked only by Intent objects that
-specify its exact class name.  This implies that the receiver is intended only for 
-application-internal use (since others would not normally know the class name).  
+specify its exact class name.  This implies that the receiver is intended only for
+application-internal use (since others would not normally know the class name).
 So in this case, the default value is "{@code false}".
-On the other hand, the presence of at least one filter implies that the broadcast 
-receiver is intended to receive intents broadcast by the system or other applications, 
+On the other hand, the presence of at least one filter implies that the broadcast
+receiver is intended to receive intents broadcast by the system or other applications,
 so the default value is "{@code true}".
 </p>
 
 <p>
-This attribute is not the only way to limit a broadcast receiver's external exposure.  
-You can also use a permission to limit the external entities that can send it messages 
+This attribute is not the only way to limit a broadcast receiver's external exposure.
+You can also use a permission to limit the external entities that can send it messages
 (see the <code><a href="{@docRoot}guide/topics/manifest/receiver-element.html#prmsn">permission</a></code> attribute).
 </p></dd>
 
 <dt><a name="icon"></a>{@code android:icon}</dt>
-<dd>An icon representing the broadcast receiver. This attribute must be set 
-as a reference to a drawable resource containing the image definition.  
-If it is not set, the icon specified for the application as a whole is used 
-instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
+<dd>An icon representing the broadcast receiver. This attribute must be set
+as a reference to a drawable resource containing the image definition.
+If it is not set, the icon specified for the application as a whole is used
+instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
 element's <code><a href="{@docRoot}guide/topics/manifest/application-element.html#icon">icon</a></code> attribute).
 
 <p>
-The broadcast receiver's icon &mdash; whether set here or by the 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the 
-default icon for all the receiver's intent filters (see the 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#icon">icon</a></code> attribute). 
+The broadcast receiver's icon &mdash; whether set here or by the
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the
+default icon for all the receiver's intent filters (see the
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#icon">icon</a></code> attribute).
 </p></dd>
 
 <dt><a name="label"></a>{@code android:label}</dt>
-<dd>A user-readable label for the broadcast receiver.  If this attribute is not 
-set, the label set for the application as a whole is 
-used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
+<dd>A user-readable label for the broadcast receiver.  If this attribute is not
+set, the label set for the application as a whole is
+used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html#label">label</a></code> attribute).
 
 <p>
-The broadcast receiver's label &mdash; whether set here or by the 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the 
-default label for all the receiver's intent filters (see the 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#label">label</a></code> attribute). 
+The broadcast receiver's label &mdash; whether set here or by the
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the
+default label for all the receiver's intent filters (see the
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#label">label</a></code> attribute).
 </p>
 
 <p>
 The label should be set as a reference to a string resource, so that
-it can be localized like other strings in the user interface.  
-However, as a convenience while you're developing the application, 
+it can be localized like other strings in the user interface.
+However, as a convenience while you're developing the application,
 it can also be set as a raw string.
 </p></dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the class that implements the broadcast receiver, a subclass of 
-{@link android.content.BroadcastReceiver}.  This should be a fully qualified 
-class name (such as, "{@code com.example.project.ReportReceiver}").  However, 
-as a shorthand, if the first character of the name is a period (for example, 
-"{@code . ReportReceiver}"), it is appended to the package name specified in 
-the <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.  
+<dd>The name of the class that implements the broadcast receiver, a subclass of
+{@link android.content.BroadcastReceiver}.  This should be a fully qualified
+class name (such as, "{@code com.example.project.ReportReceiver}").  However,
+as a shorthand, if the first character of the name is a period (for example,
+"{@code . ReportReceiver}"), it is appended to the package name specified in
+the <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
 
 <p>Once you publish your application, you <a
 href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">should not
@@ -132,38 +132,38 @@
 </p></dd>
 
 <dt><a name="prmsn"></a>{@code android:permission}</dt>
-<dd>The name of a permission that broadcasters must have to send a 
+<dd>The name of a permission that broadcasters must have to send a
 message to the broadcast receiver.
-If this attribute is not set, the permission set by the 
+If this attribute is not set, the permission set by the
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#prmsn">permission</a></code> attribute applies 
-to the broadcast receiver.  If neither attribute is set, the receiver 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#prmsn">permission</a></code> attribute applies
+to the broadcast receiver.  If neither attribute is set, the receiver
 is not protected by a permission.
 
 <p>
-For more information on permissions, see the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#sectperm">Permissions</a> 
-section in the introduction and a separate document, 
+For more information on permissions, see the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#sectperm">Permissions</a>
+section in the introduction and a separate document,
 <a href="{@docRoot}guide/topics/security/security.html">Security and Permissions</a>.
 </p></dd>
 
 <dt><a name="proc"></a>{@code android:process}</dt>
-<dd>The name of the process in which the broadcast receiver should run.  
-Normally, all components of an application run in the default process created 
-for the application.  It has the same name as the application package.  The 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code> attribute can set a different 
+<dd>The name of the process in which the broadcast receiver should run.
+Normally, all components of an application run in the default process created
+for the application.  It has the same name as the application package.  The
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code> attribute can set a different
 default for all components.  But each component can override the default
-with its own {@code process} attribute, allowing you to spread your 
+with its own {@code process} attribute, allowing you to spread your
 application across multiple processes.
 
 <p>
-If the name assigned to this attribute begins with a colon (':'), a new 
-process, private to the application, is created when it's needed and 
+If the name assigned to this attribute begins with a colon (':'), a new
+process, private to the application, is created when it's needed and
 the broadcast receiver runs in that process.
-If the process name begins with a lowercase character, the receiver will run 
+If the process name begins with a lowercase character, the receiver will run
 in a global process of that name, provided that it has permission to do so.
-This allows components in different applications to share a process, reducing 
+This allows components in different applications to share a process, reducing
 resource usage.
 </p></dd>
 </dl></dd>
diff --git a/docs/html/guide/topics/manifest/service-element.jd b/docs/html/guide/topics/manifest/service-element.jd
index fca85f5..9197a7f 100644
--- a/docs/html/guide/topics/manifest/service-element.jd
+++ b/docs/html/guide/topics/manifest/service-element.jd
@@ -25,108 +25,108 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Declares a service (a {@link android.app.Service} subclass) as one
-of the application's components.  Unlike activities, services lack a 
-visual user interface.  They're used to implement long-running background 
-operations or a rich communications API that can be called by other 
+of the application's components.  Unlike activities, services lack a
+visual user interface.  They're used to implement long-running background
+operations or a rich communications API that can be called by other
 applications.
 
 <p>
 All services must be represented by {@code <service>} elements in
-the manifest file.  Any that are not declared there will not be seen 
+the manifest file.  Any that are not declared there will not be seen
 by the system and will never be run.
 </p></dd>
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="enabled"></a>{@code android:enabled}</dt>
-<dd>Whether or not the service can be instantiated by the system &mdash; 
-"{@code true}" if it can be, and "{@code false}" if not.  The default value 
+<dd>Whether or not the service can be instantiated by the system &mdash;
+"{@code true}" if it can be, and "{@code false}" if not.  The default value
 is "{@code true}".
 
 <p>
-The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all 
-application components, including services.  The 
+The <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element has its own
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all
+application components, including services.  The
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> and {@code <service>}
 attributes must both be "{@code true}" (as they both
-are by default) for the service to be enabled.  If either is 
+are by default) for the service to be enabled.  If either is
 "{@code false}", the service is disabled; it cannot be instantiated.
 </p></dd>
 
 <dt><a name="exported"></a>{@code android:exported}</dt>
-<dd>Whether or not components of other applications can invoke 
-the service or interact with it &mdash; "{@code true}" if they can, and 
-"{@code false}" if not.  When the value is "{@code false}", only 
-components of the same application or applications 
+<dd>Whether or not components of other applications can invoke
+the service or interact with it &mdash; "{@code true}" if they can, and
+"{@code false}" if not.  When the value is "{@code false}", only
+components of the same application or applications
 with the same user ID can start the service or bind to it.
 
 <p>
-The default value depends on whether the service contains intent filters.  The 
-absence of any filters means that it can be invoked only by specifying 
-its exact class name.  This implies that the service is intended only for 
-application-internal use (since others would not know the class name).  So in 
+The default value depends on whether the service contains intent filters.  The
+absence of any filters means that it can be invoked only by specifying
+its exact class name.  This implies that the service is intended only for
+application-internal use (since others would not know the class name).  So in
 this case, the default value is "{@code false}".
-On the other hand, the presence of at least one filter implies that the service 
+On the other hand, the presence of at least one filter implies that the service
 is intended for external use, so the default value is "{@code true}".
 </p>
 
 <p>
 This attribute is not the only way to limit the exposure of a service to other
-applications.  You can also use a permission to limit the external entities that 
-can interact with the service (see the <code><a href="{@docRoot}guide/topics/manifest/service-element.html#prmsn">permission</a></code> 
+applications.  You can also use a permission to limit the external entities that
+can interact with the service (see the <code><a href="{@docRoot}guide/topics/manifest/service-element.html#prmsn">permission</a></code>
 attribute).
 </p></dd>
 
 <dt><a name="icon"></a>{@code android:icon}</dt>
-<dd>An icon representing the service.  This attribute must be set as a 
-reference to a drawable resource containing the image definition.  
-If it is not set, the icon specified for the application 
-as a whole is used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> 
+<dd>An icon representing the service.  This attribute must be set as a
+reference to a drawable resource containing the image definition.
+If it is not set, the icon specified for the application
+as a whole is used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code>
 element's <code><a href="{@docRoot}guide/topics/manifest/application-element.html#icon">icon</a></code> attribute).
 </p>
 
 <p>
-The service's icon &mdash; whether set here or by the 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the 
-default icon for all the service's intent filters (see the 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's 
+The service's icon &mdash; whether set here or by the
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the
+default icon for all the service's intent filters (see the
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#icon">icon</a></code> attribute).
-</p></dd> 
+</p></dd>
 
 <dt><a name="isolated"></a>{@code android:isolatedProcess}</dt>
 <dd>If set to true, this service will run under a special process that is isolated from the
   rest of the system and has no permissions of its own.
-  The only communication with it is through the Service API 
+  The only communication with it is through the Service API
   (binding and starting).</dd>
 
 <dt><a name="label"></a>{@code android:label}</dt>
-<dd>A name for the service that can be displayed to users.  
-If this attribute is not set, the label set for the application as a whole is 
-used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
+<dd>A name for the service that can be displayed to users.
+If this attribute is not set, the label set for the application as a whole is
+used instead (see the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html#label">label</a></code> attribute).
 
 <p>
-The service's label &mdash; whether set here or by the 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the 
-default label for all the service's intent filters (see the 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#label">label</a></code> attribute). 
+The service's label &mdash; whether set here or by the
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element &mdash; is also the
+default label for all the service's intent filters (see the
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html#label">label</a></code> attribute).
 </p>
 
 <p>
 The label should be set as a reference to a string resource, so that
-it can be localized like other strings in the user interface.  
-However, as a convenience while you're developing the application, 
+it can be localized like other strings in the user interface.
+However, as a convenience while you're developing the application,
 it can also be set as a raw string.
 </p></dd>
 
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the {@link android.app.Service} subclass that implements 
-the service.  This should be a fully qualified class name (such as, 
-"{@code com.example.project.RoomService}").  However, as a shorthand, if 
+<dd>The name of the {@link android.app.Service} subclass that implements
+the service.  This should be a fully qualified class name (such as,
+"{@code com.example.project.RoomService}").  However, as a shorthand, if
 the first character of the name is a period (for example, "{@code .RoomService}"),
-it is appended to the package name specified in the 
-<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.  
+it is appended to the package name specified in the
+<code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
 
 <p>Once you publish your application, you <a
 href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">should not
@@ -138,8 +138,8 @@
 </p></dd>
 
 <dt><a name="prmsn"></a>{@code android:permission}</dt>
-<dd>The name of a permission that an entity must have in order to 
-launch the service or bind to it.  If a caller of 
+<dd>The name of a permission that an entity must have in order to
+launch the service or bind to it.  If a caller of
 <code>{@link android.content.Context#startService startService()}</code>,
 <code>{@link android.content.Context#bindService bindService()}</code>, or
 <code>{@link android.content.Context#stopService stopService()}</code>,
@@ -147,38 +147,38 @@
 Intent object will not be delivered to the service.
 
 <p>
-If this attribute is not set, the permission set by the 
+If this attribute is not set, the permission set by the
 <code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#prmsn">permission</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#prmsn">permission</a></code>
 attribute applies to the service.  If neither attribute is set, the service is
 not protected by a permission.
 </p>
 
 <p>
-For more information on permissions, see the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a> 
-section in the introduction and a separate document, 
+For more information on permissions, see the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a>
+section in the introduction and a separate document,
 <a href="{@docRoot}guide/topics/security/security.html">Security and Permissions</a>.
 </p></dd>
 
 <dt><a name="proc"></a>{@code android:process}</dt>
-<dd>The name of the process where the service is to run.  Normally, 
-all components of an application run in the default process created for the 
-application.  It has the same name as the application package.  The 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's 
-<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code> 
-attribute can set a different 
+<dd>The name of the process where the service is to run.  Normally,
+all components of an application run in the default process created for the
+application.  It has the same name as the application package.  The
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html">&lt;application&gt;</a></code> element's
+<code><a href="{@docRoot}guide/topics/manifest/application-element.html#proc">process</a></code>
+attribute can set a different
 default for all components.  But component can override the default
-with its own {@code process} attribute, allowing you to spread your 
+with its own {@code process} attribute, allowing you to spread your
 application across multiple processes.
 
 <p>
-If the name assigned to this attribute begins with a colon (':'), a new 
-process, private to the application, is created when it's needed and 
+If the name assigned to this attribute begins with a colon (':'), a new
+process, private to the application, is created when it's needed and
 the service runs in that process.
-If the process name begins with a lowercase character, the service will run 
+If the process name begins with a lowercase character, the service will run
 in a global process of that name, provided that it has permission to do so.
-This allows components in different applications to share a process, reducing 
+This allows components in different applications to share a process, reducing
 resource usage.
 </p></dd>
 </dl></dd>
diff --git a/docs/html/guide/topics/manifest/supports-gl-texture-element.jd b/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
index ab751c2..a72fc81 100644
--- a/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
+++ b/docs/html/guide/topics/manifest/supports-gl-texture-element.jd
@@ -3,16 +3,16 @@
 parent.link=manifest-intro.html
 @jd:body
 
- <div class="sidebox-wrapper"> 
+ <div class="sidebox-wrapper">
  <div class="sidebox">
-    <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;"> 
-    <p style="color:#669999;padding-top:1em;">Google Play Filtering</p> 
+    <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;">
+    <p style="color:#669999;padding-top:1em;">Google Play Filtering</p>
     <p style="padding-top:1em;">Google Play filters applications according
     to the texture compression formats that they support, to ensure that
     they can be installed only on devices that can handle their textures
     properly. You can use texture compression filtering
     as a way of targeting specific device types, based on GPU platform.</p>
-    
+
     <p style="margin-top:1em;">For important information about how
     Google Play uses <code>&lt;supports-gl-texture&gt;</code> elements as
     the basis for filtering, please read <a href="#market-texture-filtering">Google
diff --git a/docs/html/guide/topics/manifest/supports-screens-element.jd b/docs/html/guide/topics/manifest/supports-screens-element.jd
index a4546fa..ce2bb8d 100644
--- a/docs/html/guide/topics/manifest/supports-screens-element.jd
+++ b/docs/html/guide/topics/manifest/supports-screens-element.jd
@@ -74,7 +74,7 @@
 transition from Android 1.5 to 1.6, when support for multiple screens was first introduced. You
 should not use it.</p>
   </dd>
-  
+
   <dt><a name="small"></a>{@code android:smallScreens}</dt>
   <dd>Indicates whether the application supports smaller screen form-factors.
      A small screen is defined as one with a smaller aspect ratio than
@@ -84,14 +84,14 @@
 the platform can do to make such an application work on a smaller screen. This is {@code "true"} by
 default.
   </dd>
-  
+
   <dt><a name="normal"></a>{@code android:normalScreens}</dt>
   <dd>Indicates whether an application supports the "normal" screen
      form-factors.  Traditionally this is an HVGA medium density
      screen, but WQVGA low density and WVGA high density are also
      considered to be normal.  This attribute is "true" by default.
   </dd>
-  
+
   <dt><a name="large"></a>{@code android:largeScreens}</dt>
   <dd>Indicates whether the application supports larger screen form-factors.
      A large screen is defined as a screen that is significantly larger
@@ -116,7 +116,7 @@
 compatibility mode</a>.</p>
      <p>This attribute was introduced in API level 9.</p>
   </dd>
-  
+
   <dt><a name="any"></a>{@code android:anyDensity}</dt>
   <dd>Indicates whether the application includes resources to accommodate any screen
      density.
@@ -127,14 +127,14 @@
 href="{@docRoot}guide/practices/screens_support.html#DensityConsiderations">Supporting Multiple
 Screens</a> document for more information).</p>
   </dd>
-  
+
   <dt id="requiresSmallest">{@code android:requiresSmallestWidthDp}</dt>
   <dd>Specifies the minimum smallestWidth required. The smallestWidth is the shortest dimension of
 the screen space (in {@code dp} units) that must be available to your application UI&mdash;that is,
 the shortest of the available screen's two dimensions. So, in order for a device to be considered
 compatible with your application, the device's smallestWidth must be equal to or greater than this
 value. (Usually, the value you supply for this is the "smallest width" that your layout supports,
-regardless of the screen's current orientation.) 
+regardless of the screen's current orientation.)
 
   <p>For example, a typical handset screen has a smallestWidth of 320dp, a 7" tablet has a
 smallestWidth of 600dp, and a 10" tablet has a smallestWidth of 720dp. These values are generally
@@ -209,7 +209,7 @@
 android:largestWidthLimitDp} is larger than 320.</p>
      <p>This attribute was introduced in API level 13.</p>
   </dd>
-  
+
 
 </dl></dd>
 
diff --git a/docs/html/guide/topics/manifest/uses-library-element.jd b/docs/html/guide/topics/manifest/uses-library-element.jd
index aa7ca82..f8d8e62 100644
--- a/docs/html/guide/topics/manifest/uses-library-element.jd
+++ b/docs/html/guide/topics/manifest/uses-library-element.jd
@@ -3,10 +3,10 @@
 parent.link=manifest-intro.html
 @jd:body
 
-<div class="sidebox-wrapper"> 
+<div class="sidebox-wrapper">
 <div class="sidebox">
-    <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;"> 
-    <p style="color:#669999;padding-top:1em;">Google Play Filtering</p> 
+    <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;">
+    <p style="color:#669999;padding-top:1em;">Google Play Filtering</p>
     <p style="padding-top:1em;">Google Play uses the &lt;uses-library&gt; elements declared
     in your app manifest to filter your app from devices that do not meet it's library
     requirements. For more information about filtering, see the topic
diff --git a/docs/html/guide/topics/manifest/uses-permission-element.jd b/docs/html/guide/topics/manifest/uses-permission-element.jd
index 32fe21e..03a0dc1 100644
--- a/docs/html/guide/topics/manifest/uses-permission-element.jd
+++ b/docs/html/guide/topics/manifest/uses-permission-element.jd
@@ -5,10 +5,10 @@
 
 <dl class="xml">
 
-<div class="sidebox-wrapper"> 
+<div class="sidebox-wrapper">
 <div class="sidebox">
-<img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;"> 
-<p style="color:#669999;padding-top:1em;">Google Play Filtering</p> 
+<img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;">
+<p style="color:#669999;padding-top:1em;">Google Play Filtering</p>
 
 <p style="clear:left;">In some cases, the permissions that you request
 through <code>&lt;uses-permission&gt;</code> can affect how
@@ -43,24 +43,24 @@
 
 <dt>description:</dt>
 <dd itemprop="description">Requests a permission that the application must be granted in
-order for it to operate correctly. Permissions are granted by the user when the 
+order for it to operate correctly. Permissions are granted by the user when the
 application is installed (on devices running Android 5.1 and lower) or while the app is running (on devices running Android 6.0 and higher).
 
 <p>
-For more information on permissions, see the 
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a></code> 
+For more information on permissions, see the
+<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a></code>
 section in the introduction and the separate
 <a href="{@docRoot}guide/topics/security/permissions.html">System
 Permissions</a> API guide.
-A list of permissions defined by the base platform can be found at 
+A list of permissions defined by the base platform can be found at
 {@link android.Manifest.permission android.Manifest.permission}.
 
 <dt>attributes:</dt>
 <dd><dl class="attr">
 <dt><a name="nm"></a>{@code android:name}</dt>
-<dd>The name of the permission.  It can be a permission defined by the 
-application with the <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code> 
-element, a permission defined by another application, or one of the 
+<dd>The name of the permission.  It can be a permission defined by the
+application with the <code><a href="{@docRoot}guide/topics/manifest/permission-element.html">&lt;permission&gt;</a></code>
+element, a permission defined by another application, or one of the
 standard system permissions (such as
 {@link android.Manifest.permission#CAMERA "android.permission.CAMERA"}
 or {@link android.Manifest.permission#READ_CONTACTS
diff --git a/docs/html/guide/topics/media/index.jd b/docs/html/guide/topics/media/index.jd
index a750c9a..c66ab30 100644
--- a/docs/html/guide/topics/media/index.jd
+++ b/docs/html/guide/topics/media/index.jd
@@ -1,6 +1,6 @@
 page.title=Media and Camera
 page.landing=true
-page.landing.intro=Add video, audio, and photo capabilities to your app with Android's robust APIs for playing and recording media. 
+page.landing.intro=Add video, audio, and photo capabilities to your app with Android's robust APIs for playing and recording media.
 page.landing.image=
 
 @jd:body
diff --git a/docs/html/guide/topics/media/jet/jetcreator_manual.jd b/docs/html/guide/topics/media/jet/jetcreator_manual.jd
index 214c79e..c2df25b 100644
--- a/docs/html/guide/topics/media/jet/jetcreator_manual.jd
+++ b/docs/html/guide/topics/media/jet/jetcreator_manual.jd
@@ -21,7 +21,7 @@
 <p>JET works in conjunction with SONiVOX's
 Embedded Audio Synthesizer (EAS) which is the MIDI
 playback device for Android. Both the
-JET and EAS engines are integrated into the Android embedded platform through the 
+JET and EAS engines are integrated into the Android embedded platform through the
 {@link android.media.JetPlayer} class, as well
 as inherent in the JET Creator application. As such, the JET content author can
 be sure that the playback will sound exactly the same in both the JET Creator
@@ -387,34 +387,34 @@
 you first launch JET Creator you are presented with an open dialog like the
 following.</p>
 
- 
+
 
 <p><img border=0 width=450 height=285
 src="{@docRoot}images/jet/jc_open_dlg.png"
 </p>
 
- 
 
- 
+
+
 
 <p>  <b>Open</b> will open an existing .jtc (JET Creator file) file. Use the browser
 button to browse to the directory where you have saved your .jtc file.</p>
 
- 
+
 
 <p>  <b>New</b> will create a new .jtc file.</p>
 
- 
+
 
 <p>  <b>Import</b> will import a JET Archive (.zip) file.</p>
 
- 
+
 
 <p>  <b>Cancel</b> will cancel the dialog and exit the application.</p>
 
- 
 
- 
+
+
 
 <h1>5 Main Window </h1>
 
@@ -457,16 +457,16 @@
 <p>The buttons along the left side of main
 window do the following:</p>
 
-<p>Add: 
+<p>Add:
 Displays the segment or event window for adding a new segment or event</p>
 
-<p>Revise: 
+<p>Revise:
 Displays the segment or event window for updating an existing segment or event</p>
 
-<p>Delete: 
+<p>Delete:
 Deletes the selected segment or event (will ask for confirmation)</p>
 
-<p>Move: 
+<p>Move:
 Displays the move window which allows you to move selected segments or events
 in time</p>
 
@@ -476,11 +476,11 @@
 <p>Dequeue All:   Dequeues
 (deselects) all segments</p>
 
-<p>Play: 
+<p>Play:
 Starts playback of all queued segments. This button changes to Stop if any
 segments are playing</p>
 
-<p>Audition: 
+<p>Audition:
 Displays the Audition window (see below)</p>
 
 
diff --git a/docs/html/guide/topics/media/jetplayer.jd b/docs/html/guide/topics/media/jetplayer.jd
index f3d55f9..0f32121 100644
--- a/docs/html/guide/topics/media/jetplayer.jd
+++ b/docs/html/guide/topics/media/jetplayer.jd
@@ -1,5 +1,5 @@
 page.title=JetPlayer
-parent.title=Multimedia and Camera 
+parent.title=Multimedia and Camera
 parent.link=index.html
 @jd:body
 
diff --git a/docs/html/guide/topics/processes/process-lifecycle.jd b/docs/html/guide/topics/processes/process-lifecycle.jd
index 0380f94..47ca1ec 100644
--- a/docs/html/guide/topics/processes/process-lifecycle.jd
+++ b/docs/html/guide/topics/processes/process-lifecycle.jd
@@ -48,7 +48,7 @@
   at the top of the screen that the user is interacting with (its
   {@link android.app.Activity#onResume} method has been called).</li>
   <li> It has a {@link android.content.BroadcastReceiver} that is currently running
-  (its {@link android.content.BroadcastReceiver#onReceive 
+  (its {@link android.content.BroadcastReceiver#onReceive
   BroadcastReceiver.onReceive()} method is executing).</li>
   <li>It has a {@link android.app.Service} that is currently executing code
   in one of its callbacks ({@link android.app.Service#onCreate Service.onCreate()},
diff --git a/docs/html/guide/topics/providers/calendar-provider.jd b/docs/html/guide/topics/providers/calendar-provider.jd
index 3cd4511..485f3c1 100644
--- a/docs/html/guide/topics/providers/calendar-provider.jd
+++ b/docs/html/guide/topics/providers/calendar-provider.jd
@@ -42,7 +42,7 @@
       <li><a href="#intent-view">Using intents to view calendar data</a></li>
     </ol>
   </li>
-  
+
   <li><a href="#sync-adapter">Sync Adapters</a></li>
 </ol>
 
@@ -63,8 +63,8 @@
 
 <p>The Calender Provider API can be used by applications and sync adapters. The
 rules vary depending on what type of program is making the calls. This document
-focuses primarily on using the Calendar Provider API as an application. For 
-a discussion of how sync adapters are different, see 
+focuses primarily on using the Calendar Provider API as an application. For
+a discussion of how sync adapters are different, see
 <a href="#sync-adapter">Sync Adapters</a>.</p>
 
 
@@ -79,17 +79,17 @@
 
 <h2 id="overview">Basics</h2>
 
-<p><a href="{@docRoot}guide/topics/providers/content-providers.html">Content providers</a> store data and make it accessible to 
+<p><a href="{@docRoot}guide/topics/providers/content-providers.html">Content providers</a> store data and make it accessible to
 applications. The content providers offered by the Android platform (including the Calendar Provider) typically expose data as a set of tables based on a
 relational database model, where each row is a record and each column is data of
 a particular type and meaning. Through the Calendar Provider API, applications
 and sync adapters can get read/write access to the database tables that hold a
 user's calendar data.</p>
 
-<p>Every content provider exposes a public URI (wrapped as a 
-{@link android.net.Uri} 
+<p>Every content provider exposes a public URI (wrapped as a
+{@link android.net.Uri}
 object) that uniquely identifies its data set.  A content provider that controls
- multiple data sets (multiple tables) exposes a separate URI for each one.  All 
+ multiple data sets (multiple tables) exposes a separate URI for each one.  All
 URIs for providers begin with the string &quot;content://&quot;.  This
 identifies the data as being controlled by a content provider. The Calendar
 Provider defines constants for the URIs for each of its classes (tables). These
@@ -113,26 +113,26 @@
   </tr>
   <tr>
     <td><p>{@link android.provider.CalendarContract.Calendars}</p></td>
-    
-    <td>This table holds 
+
+    <td>This table holds
 the calendar-specific information. Each  row in this table contains the details for
 a single calendar, such as the  name, color, sync information, and so on.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Events}</td>
-    
+
     <td>This table holds the
 event-specific information. Each row  in this table has the information for a single
 event&mdash;for example, event title, location, start time, end
 time, and so on. The event can occur one-time or can recur multiple times. Attendees,
-reminders, and extended  properties are stored in separate tables. 
-They each have an {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+reminders, and extended  properties are stored in separate tables.
+They each have an {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 that references the {@link android.provider.BaseColumns#_ID} in the Events table.</td>
 
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances}</td>
-    
+
     <td>This table holds the
 start and end time for each occurrence of an event. Each row in this table
 represents a single event occurrence. For one-time events there is a 1:1 mapping
@@ -141,7 +141,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Attendees}</td>
-    
+
     <td>This table holds the
 event attendee (guest) information. Each row represents a single guest of an
 event. It specifies the type of guest and the guest's attendance response
@@ -149,17 +149,17 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Reminders}</td>
-    
+
     <td>This table holds the
 alert/notification data. Each row represents a single alert for an event. An
 event can have multiple reminders. The maximum number of reminders per event is
-specified in 
-{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS}, 
+specified in
+{@link android.provider.CalendarContract.CalendarColumns#MAX_REMINDERS},
 which is set by the sync adapter that
 owns  the given calendar. Reminders are specified in minutes before the event
 and have a method that determines how the user will be alerted.</td>
   </tr>
-  
+
 </table>
 
 <p>The Calendar Provider API is designed to be flexible and powerful. At the
@@ -178,9 +178,9 @@
 
 
 <li><strong>Sync adapters.</strong> A sync adapter synchronizes the calendar data
-on a user's device with another server or data source. In the 
+on a user's device with another server or data source. In the
 {@link android.provider.CalendarContract.Calendars} and
-{@link android.provider.CalendarContract.Events} tables, 
+{@link android.provider.CalendarContract.Events} tables,
 there are columns that are reserved for the sync adapters to use.
 The provider and applications should not modify them. In fact, they are not
 visible unless they are accessed as a sync adapter. For more information about
@@ -209,9 +209,9 @@
 
 <h2 id="calendar">Calendars Table</h2>
 
-<p>The {@link android.provider.CalendarContract.Calendars} table contains details 
+<p>The {@link android.provider.CalendarContract.Calendars} table contains details
 for individual calendars. The following
-Calendars columns are writable by both an application and a <a href="#sync-adapter">sync adapter</a>. 
+Calendars columns are writable by both an application and a <a href="#sync-adapter">sync adapter</a>.
 For a full list of supported fields, see the
 {@link android.provider.CalendarContract.Calendars} reference.</p>
 <table>
@@ -229,7 +229,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Calendars#VISIBLE}</td>
-    
+
     <td>A boolean indicating whether the calendar is selected to be displayed. A
 value of 0 indicates that events associated with this calendar should not be
 shown.  A value of 1 indicates that events associated with this calendar should
@@ -240,7 +240,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.CalendarColumns#SYNC_EVENTS}</td>
-    
+
     <td>A boolean indicating whether the calendar should be synced and have its
 events stored on the device. A value of 0 says do not sync this calendar or
 store its events on the device.  A value of 1 says sync events for this calendar
@@ -253,8 +253,8 @@
 <p>Here is an example that shows how to get the calendars that are owned by a particular
 user. For simplicity's sake, in this example the query operation is shown in the
 user interface thread ("main thread"). In practice, this should be done in an asynchronous
-thread instead of on the main thread. For more discussion, see 
-<a href="{@docRoot}guide/components/loaders.html">Loaders</a>. If you are not just 
+thread instead of on the main thread. For more discussion, see
+<a href="{@docRoot}guide/components/loaders.html">Loaders</a>. If you are not just
 reading data but modifying it, see {@link android.content.AsyncQueryHandler}.
 </p>
 
@@ -268,18 +268,18 @@
     Calendars.CALENDAR_DISPLAY_NAME,         // 2
     Calendars.OWNER_ACCOUNT                  // 3
 };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
 private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
 private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;</pre>
-  
+
 
 <div class="sidebox-wrapper"> <div class="sidebox"> <h3>Why must you include
 ACCOUNT_TYPE?</h3> <p>If you query on a {@link
 android.provider.CalendarContract.Calendars#ACCOUNT_NAME
-Calendars.ACCOUNT_NAME}, you must also include 
+Calendars.ACCOUNT_NAME}, you must also include
 {@link android.provider.CalendarContract.Calendars#ACCOUNT_TYPE Calendars.ACCOUNT_TYPE}
 in the selection. That is because a given account is
 only considered unique given both its <code>ACCOUNT_NAME</code> and its
@@ -289,7 +289,7 @@
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} for calendars not
 associated with a device account. {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} accounts do not get
-synced.</p> </div> </div> 
+synced.</p> </div> </div>
 
 
 <p> In the next part of the example, you construct your query. The selection
@@ -301,59 +301,59 @@
 has viewed, not just calendars the user owns, omit the <code>OWNER_ACCOUNT</code>.
 The query returns a {@link android.database.Cursor}
 object that you can use to traverse the result set returned by the database
-query. For more discussion of using queries in content providers, 
+query. For more discussion of using queries in content providers,
 see <a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>.</p>
 
 
 <pre>// Run query
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
-Uri uri = Calendars.CONTENT_URI;   
-String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
+Uri uri = Calendars.CONTENT_URI;
+String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND ("
                         + Calendars.ACCOUNT_TYPE + " = ?) AND ("
                         + Calendars.OWNER_ACCOUNT + " = ?))";
 String[] selectionArgs = new String[] {"sampleuser@gmail.com", "com.google",
-        "sampleuser@gmail.com"}; 
-// Submit the query and get a Cursor object back. 
+        "sampleuser@gmail.com"};
+// Submit the query and get a Cursor object back.
 cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);</pre>
 
 <p>This next section uses the cursor to step through the result set. It uses the
 constants that were set up at the beginning of the example to return the values
 for each field.</p>
-    
+
 <pre>// Use the cursor to step through the returned records
 while (cur.moveToNext()) {
     long calID = 0;
     String displayName = null;
     String accountName = null;
     String ownerName = null;
-      
+
     // Get the field values
     calID = cur.getLong(PROJECTION_ID_INDEX);
     displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
     accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
     ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
-              
+
     // Do something with the values...
 
    ...
 }
 </pre>
-  
+
 <h3 id="modify-calendar">Modifying a calendar</h3>
 
 <p>To perform an update of an calendar, you can provide the {@link
 android.provider.BaseColumns#_ID} of the calendar either as an appended ID to
-the Uri 
+the Uri
 
-({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 or as the first selection item. The  selection
 should start with <code>&quot;_id=?&quot;</code>, and the first
 <code>selectionArg</code> should be  the {@link
-android.provider.BaseColumns#_ID} of the calendar. 
+android.provider.BaseColumns#_ID} of the calendar.
 You can also do updates by encoding the ID in the URI. This example changes a
-calendar's display name using the 
-({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
+calendar's display name using the
+({@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
 approach:</p>
 
 <pre>private static final String DEBUG_TAG = "MyActivity";
@@ -375,7 +375,7 @@
 the calendar insertion as a sync adapter, using an {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} of {@link
 android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}.
-{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL} 
+{@link android.provider.CalendarContract#ACCOUNT_TYPE_LOCAL}
 is a special account type for calendars that are not
 associated with a device account. Calendars of this type are not synced to a server. For a
 discussion of sync adapters, see <a href="#sync-adapter">Sync Adapters</a>.</p>
@@ -434,7 +434,7 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DURATION}</td>
-    
+
     <td>The duration of the event in <a
 href="http://tools.ietf.org/html/rfc5545#section-3.8.2.5">RFC5545</a> format.
 For example, a value of <code>&quot;PT1H&quot;</code> states that the event
@@ -445,41 +445,41 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#ALL_DAY}</td>
-    
+
     <td>A value of 1 indicates this event occupies the entire day, as defined by
 the local time zone. A value of 0 indicates it is a regular event that may start
 and end at any time during a day.</td>
 
-    
+
   </tr>
-  
-  
+
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RRULE}</td>
-    
+
     <td>The recurrence rule for the event format. For
 example, <code>&quot;FREQ=WEEKLY;COUNT=10;WKST=SU&quot;</code>. You can find
 more examples <a
 href="http://tools.ietf.org/html/rfc5545#section-3.8.5.3">here</a>.</td>
-    
+
   </tr>
-  
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#RDATE}</td>
-    <td>The recurrence dates for the event. 
-    You typically use {@link android.provider.CalendarContract.EventsColumns#RDATE} 
-    in conjunction with {@link android.provider.CalendarContract.EventsColumns#RRULE} 
+    <td>The recurrence dates for the event.
+    You typically use {@link android.provider.CalendarContract.EventsColumns#RDATE}
+    in conjunction with {@link android.provider.CalendarContract.EventsColumns#RRULE}
     to define an aggregate set of
 repeating occurrences. For more discussion, see the <a
 href="http://tools.ietf.org/html/rfc5545#section-3.8.5.2">RFC5545 spec</a>.</td>
 </tr>
- 
+
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY}</td>
-    
-    <td>If this event counts as busy time or is free time that can be 
+
+    <td>If this event counts as busy time or is free time that can be
 scheduled over. </td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#GUESTS_CAN_MODIFY}</td>
@@ -519,11 +519,11 @@
 android.content.Intent#ACTION_INSERT INSERT} Intent, described in <a
 href="#intent-insert">Using an intent to insert an event</a>&mdash;in that
 scenario, a default time zone is supplied.</li>
-  
+
   <li>For non-recurring events, you must include {@link
 android.provider.CalendarContract.EventsColumns#DTEND}. </li>
-  
-  
+
+
   <li>For recurring events, you must include a {@link
 android.provider.CalendarContract.EventsColumns#DURATION} in addition to  {@link
 android.provider.CalendarContract.EventsColumns#RRULE} or {@link
@@ -532,9 +532,9 @@
 android.content.Intent#ACTION_INSERT INSERT} Intent, described in <a
 href="#intent-insert">Using an intent to insert an event</a>&mdash;in that
 scenario, you can use an {@link
-android.provider.CalendarContract.EventsColumns#RRULE} in conjunction with {@link android.provider.CalendarContract.EventsColumns#DTSTART} and {@link android.provider.CalendarContract.EventsColumns#DTEND}, and the Calendar application 
+android.provider.CalendarContract.EventsColumns#RRULE} in conjunction with {@link android.provider.CalendarContract.EventsColumns#DTSTART} and {@link android.provider.CalendarContract.EventsColumns#DTEND}, and the Calendar application
 converts it to a duration automatically.</li>
-  
+
 </ul>
 
 <p>Here is an example of inserting an event. This is being performed in the UI
@@ -545,8 +545,8 @@
 
 <pre>
 long calID = 3;
-long startMillis = 0; 
-long endMillis = 0;     
+long startMillis = 0;
+long endMillis = 0;
 Calendar beginTime = Calendar.getInstance();
 beginTime.set(2012, 9, 14, 7, 30);
 startMillis = beginTime.getTimeInMillis();
@@ -567,7 +567,7 @@
 
 // get the event ID that is the last element in the Uri
 long eventID = Long.parseLong(uri.getLastPathSegment());
-// 
+//
 // ... do something with event ID
 //
 //</pre>
@@ -584,14 +584,14 @@
 that you use an {@link android.content.Intent#ACTION_EDIT EDIT} Intent, as
 described in <a href="#intent-edit">Using an intent to edit an  event</a>.
 However, if you need to, you can edit events directly. To perform an update of
-an Event, you can provide the <code>_ID</code> of the 
+an Event, you can provide the <code>_ID</code> of the
 event either as an appended ID to the Uri ({@link
-android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}) 
-or as the first selection item. 
+android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()})
+or as the first selection item.
 The selection should start with <code>&quot;_id=?&quot;</code>, and the first
 <code>selectionArg</code> should be  the <code>_ID</code> of the event. You can
 also do updates using a selection with no ID. Here is an example of updating an
-event. It changes the title of the event using the 
+event. It changes the title of the event using the
 {@link android.content.ContentUris#withAppendedId(android.net.Uri,long) withAppendedId()}
 approach:</p>
 
@@ -604,7 +604,7 @@
 ContentValues values = new ContentValues();
 Uri updateUri = null;
 // The new title for the event
-values.put(Events.TITLE, &quot;Kickboxing&quot;); 
+values.put(Events.TITLE, &quot;Kickboxing&quot;);
 updateUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().update(updateUri, values, null, null);
 Log.i(DEBUG_TAG, &quot;Rows updated: &quot; + rows);  </pre>
@@ -631,22 +631,22 @@
 Uri deleteUri = null;
 deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
 int rows = getContentResolver().delete(deleteUri, null, null);
-Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);  
+Log.i(DEBUG_TAG, &quot;Rows deleted: &quot; + rows);
 </pre>
 
 <h2 id="attendees">Attendees Table</h2>
 
 <p>Each row of the {@link android.provider.CalendarContract.Attendees} table
-represents a single attendee or guest of an event. Calling 
-{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()} 
+represents a single attendee or guest of an event. Calling
+{@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}
 returns a list of attendees for  the
-event with the given {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}. 
-This  {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+event with the given {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}.
+This  {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 must match the {@link
-android.provider.BaseColumns#_ID} of a particular event.</p> 
+android.provider.BaseColumns#_ID} of a particular event.</p>
 
 <p>The following table lists the
-writable fields. When inserting a new attendee, you must include all of them 
+writable fields. When inserting a new attendee, you must include all of them
 except <code>ATTENDEE_NAME</code>.
 </p>
 
@@ -704,7 +704,7 @@
 <h3 id="add-attendees">Adding Attendees</h3>
 
 <p>Here is an example that adds a single attendee to an event. Note that the
-{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID} 
+{@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}
 is required:</p>
 
 <pre>
@@ -724,17 +724,17 @@
 <h2 id="reminders">Reminders Table</h2>
 
 <p>Each row of the {@link android.provider.CalendarContract.Reminders} table
-represents a single reminder for an event. Calling 
+represents a single reminder for an event. Calling
 {@link android.provider.CalendarContract.Reminders#query(android.content.ContentResolver, long, java.lang.String[]) query()}  returns a list of reminders for the
-event with the given 
+event with the given
 {@link android.provider.CalendarContract.AttendeesColumns#EVENT_ID}.</p>
 
 
 <p>The following table lists the writable fields for reminders. All of them must
 be included when inserting a new reminder. Note that sync adapters specify the
 types of reminders they support in the {@link
-android.provider.CalendarContract.Calendars} table. See 
-{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS} 
+android.provider.CalendarContract.Calendars} table. See
+{@link android.provider.CalendarContract.CalendarColumns#ALLOWED_REMINDERS}
 for details.</p>
 
 
@@ -779,16 +779,16 @@
 
 <h2 id="instances">Instances Table</h2>
 
-<p>The 
+<p>The
 {@link android.provider.CalendarContract.Instances} table holds the
 start and end time for occurrences of an event. Each row in this table
 represents a single event occurrence. The instances table is not writable and only
 provides a  way to query event occurrences. </p>
 
-<p>The following table lists some of the fields you can query on for an instance. Note 
-that time zone is defined by 
-{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE} 
-and 
+<p>The following table lists some of the fields you can query on for an instance. Note
+that time zone is defined by
+{@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_TYPE}
+and
 {@link android.provider.CalendarContract.CalendarCache#KEY_TIMEZONE_INSTANCES}.</p>
 
 
@@ -807,18 +807,18 @@
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_DAY}</td>
-    
+
     <td>The Julian end day of the instance, relative to the Calendar's time
-zone. 
-    
+zone.
+
 </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#END_MINUTE}</td>
-    
+
     <td>The end minute of the instance measured from midnight in the
 Calendar's time zone.</td>
-    
+
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#EVENT_ID}</td>
@@ -826,16 +826,16 @@
   </tr>
     <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_DAY}</td>
-    <td>The Julian start day of the instance, relative to the Calendar's time zone. 
+    <td>The Julian start day of the instance, relative to the Calendar's time zone.
  </td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.Instances#START_MINUTE}</td>
-    
+
     <td>The start minute of the instance measured from midnight, relative to the
-Calendar's time zone. 
+Calendar's time zone.
 </td>
-    
+
   </tr>
 
 </table>
@@ -846,7 +846,7 @@
 in the URI. In this example, {@link android.provider.CalendarContract.Instances}
 gets access to the {@link
 android.provider.CalendarContract.EventsColumns#TITLE} field through its
-implementation of the {@link android.provider.CalendarContract.EventsColumns} interface. 
+implementation of the {@link android.provider.CalendarContract.EventsColumns} interface.
 In other words, {@link
 android.provider.CalendarContract.EventsColumns#TITLE} is returned through a
 database view, not through querying the raw {@link
@@ -859,7 +859,7 @@
     Instances.BEGIN,         // 1
     Instances.TITLE          // 2
   };
-  
+
 // The indices for the projection array above.
 private static final int PROJECTION_ID_INDEX = 0;
 private static final int PROJECTION_BEGIN_INDEX = 1;
@@ -874,7 +874,7 @@
 Calendar endTime = Calendar.getInstance();
 endTime.set(2011, 10, 24, 8, 0);
 long endMillis = endTime.getTimeInMillis();
-  
+
 Cursor cur = null;
 ContentResolver cr = getContentResolver();
 
@@ -889,28 +889,28 @@
 ContentUris.appendId(builder, endMillis);
 
 // Submit the query
-cur =  cr.query(builder.build(), 
-    INSTANCE_PROJECTION, 
-    selection, 
-    selectionArgs, 
+cur =  cr.query(builder.build(),
+    INSTANCE_PROJECTION,
+    selection,
+    selectionArgs,
     null);
-   
+
 while (cur.moveToNext()) {
     String title = null;
     long eventID = 0;
-    long beginVal = 0;    
-    
+    long beginVal = 0;
+
     // Get the field values
     eventID = cur.getLong(PROJECTION_ID_INDEX);
     beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
     title = cur.getString(PROJECTION_TITLE_INDEX);
-              
-    // Do something with the values. 
-    Log.i(DEBUG_TAG, "Event:  " + title); 
+
+    // Do something with the values.
+    Log.i(DEBUG_TAG, "Event:  " + title);
     Calendar calendar = Calendar.getInstance();
-    calendar.setTimeInMillis(beginVal);  
+    calendar.setTimeInMillis(beginVal);
     DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
-    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));    
+    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
     }
  }</pre>
 
@@ -928,9 +928,9 @@
     <td><br>
     {@link android.content.Intent#ACTION_VIEW VIEW} <br></td>
     <td><p><code>content://com.android.calendar/time/&lt;ms_since_epoch&gt;</code></p>
-    You can also refer to the URI with 
-{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}. 
-For an example of using this intent, see <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Using intents to view calendar data</a>. 
+    You can also refer to the URI with
+{@link android.provider.CalendarContract#CONTENT_URI CalendarContract.CONTENT_URI}.
+For an example of using this intent, see <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Using intents to view calendar data</a>.
 
     </td>
     <td>Open calendar to the time specified by <code>&lt;ms_since_epoch&gt;</code>.</td>
@@ -941,11 +941,11 @@
 
      </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-    You can also refer to the URI with 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+    You can also refer to the URI with
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 For an example of using this intent, see <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-view">Using intents to view calendar data</a>.
-    
+
     </td>
     <td>View the event specified by <code>&lt;event_id&gt;</code>.</td>
 
@@ -958,12 +958,12 @@
   <tr>
     <td>{@link android.content.Intent#ACTION_EDIT EDIT} </td>
     <td><p><code>content://com.android.calendar/events/&lt;event_id&gt;</code></p>
-    
-  You can also refer to the URI with 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+  You can also refer to the URI with
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 For an example of using this intent, see <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-edit">Using an intent to edit an event</a>.
-    
-    
+
+
     </td>
     <td>Edit the event specified by <code>&lt;event_id&gt;</code>.</td>
 
@@ -978,11 +978,11 @@
     <br>
     {@link android.content.Intent#ACTION_INSERT INSERT} </td>
     <td><p><code>content://com.android.calendar/events</code></p>
-    
-   You can also refer to the URI with 
-{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}. 
+
+   You can also refer to the URI with
+{@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}.
 For an example of using this intent, see <a href="{@docRoot}guide/topics/providers/calendar-provider.html#intent-insert">Using an intent to insert an event</a>.
-    
+
     </td>
 
     <td>Create an event.</td>
@@ -1002,7 +1002,7 @@
     <td>Name for the event.</td>
   </tr>
   <tr>
-  
+
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME}</td>
     <td>Event begin time in milliseconds from the epoch.</td>
@@ -1010,25 +1010,25 @@
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_END_TIME
 CalendarContract.EXTRA_EVENT_END_TIME}</td>
-    
+
     <td>Event end time in milliseconds from the epoch.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract#EXTRA_EVENT_ALL_DAY
 CalendarContract.EXTRA_EVENT_ALL_DAY}</td>
-    
+
     <td>A boolean that indicates that an event is all day. Value can be
 <code>true</code> or <code>false</code>.</td> </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#EVENT_LOCATION
 Events.EVENT_LOCATION}</td>
-    
+
     <td>Location of the event.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#DESCRIPTION
 Events.DESCRIPTION}</td>
-    
+
     <td>Event description.</td>
   </tr>
   <tr>
@@ -1045,16 +1045,16 @@
     <td>
     {@link android.provider.CalendarContract.EventsColumns#ACCESS_LEVEL
 Events.ACCESS_LEVEL}</td>
-    
+
     <td>Whether the event is private or public.</td>
   </tr>
   <tr>
     <td>{@link android.provider.CalendarContract.EventsColumns#AVAILABILITY
 Events.AVAILABILITY}</td>
-    
+
     <td>If this event counts as busy time or is free time that can be scheduled over.</td>
-    
-</table> 
+
+</table>
 <p>The following sections describe how to use these intents.</p>
 
 
@@ -1066,23 +1066,23 @@
 android.Manifest.permission#WRITE_CALENDAR} permission included in its <a
 href="#manifest">manifest file</a>.</p>
 
-  
+
 <p>When users run an application that uses this approach, the application sends
 them to the Calendar to finish adding the event. The {@link
 android.content.Intent#ACTION_INSERT INSERT} Intent uses extra fields to
 pre-populate a form with the details of the event in the Calendar. Users can
 then cancel the event, edit the form as needed, or save the event to their
 calendars.</p>
-  
+
 
 
 <p>Here is a code snippet that schedules an event on January 19, 2012, that runs
 from 7:30 a.m. to 8:30 a.m. Note the following about this code snippet:</p>
 
 <ul>
-  <li>It specifies {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI} 
+  <li>It specifies {@link android.provider.CalendarContract.Events#CONTENT_URI Events.CONTENT_URI}
   as the Uri.</li>
-  
+
   <li>It uses the {@link
 android.provider.CalendarContract#EXTRA_EVENT_BEGIN_TIME
 CalendarContract.EXTRA_EVENT_BEGIN_TIME} and {@link
@@ -1090,10 +1090,10 @@
 CalendarContract.EXTRA_EVENT_END_TIME} extra fields to pre-populate the form
 with the time of the event. The values  for these times must be in UTC milliseconds
 from the epoch.</li>
-  
+
   <li>It uses the {@link android.content.Intent#EXTRA_EMAIL Intent.EXTRA_EMAIL}
 extra field to provide a comma-separated list of invitees, specified by email address.</li>
-  
+
 </ul>
 <pre>
 Calendar beginTime = Calendar.getInstance();
@@ -1166,18 +1166,18 @@
 
 <ul>
   <li>A sync adapter needs to specify that it's a sync adapter by setting {@link android.provider.CalendarContract#CALLER_IS_SYNCADAPTER} to <code>true</code>.</li>
-  
-  
+
+
   <li>A sync adapter needs to provide an {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_NAME} and an {@link
 android.provider.CalendarContract.SyncColumns#ACCOUNT_TYPE} as query parameters in the URI. </li>
-  
+
   <li>A sync adapter has write access to more columns than an application or widget.
-  For example, an application can only modify a few characteristics of a calendar, 
+  For example, an application can only modify a few characteristics of a calendar,
   such as its name, display name, visibility setting, and whether the calendar is
   synced. By comparison, a sync adapter can access not only those columns, but many others,
   such as calendar color, time zone, access level, location, and so on.
-However, a sync adapter is restricted to the <code>ACCOUNT_NAME</code> and 
+However, a sync adapter is restricted to the <code>ACCOUNT_NAME</code> and
 <code>ACCOUNT_TYPE</code> it specified.</li> </ul>
 
 <p>Here is a helper method you can use to return a URI for use with a sync adapter:</p>
@@ -1188,5 +1188,5 @@
         .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  }
 </pre>
-<p>For a sample implementation of a sync adapter (not specifically related to Calendar), see 
+<p>For a sample implementation of a sync adapter (not specifically related to Calendar), see
 <a href="{@docRoot}resources/samples/SampleSyncAdapter/index.html">SampleSyncAdapter</a>.
diff --git a/docs/html/guide/topics/providers/content-provider-basics.jd b/docs/html/guide/topics/providers/content-provider-basics.jd
index b7ae3d2..37df4e9 100644
--- a/docs/html/guide/topics/providers/content-provider-basics.jd
+++ b/docs/html/guide/topics/providers/content-provider-basics.jd
@@ -238,7 +238,7 @@
     For example, to get a list of the words and their locales from the User Dictionary Provider,
     you call {@link android.content.ContentResolver#query ContentResolver.query()}.
     The {@link android.content.ContentResolver#query query()} method calls the
-    {@link android.content.ContentProvider#query ContentProvider.query()} method defined by the 
+    {@link android.content.ContentProvider#query ContentProvider.query()} method defined by the
     User Dictionary Provider. The following lines of code show a
     {@link android.content.ContentResolver#query ContentResolver.query()} call:
 <p>
@@ -253,7 +253,7 @@
 </pre>
 <p>
     Table 2 shows how the arguments to
-    {@link android.content.ContentResolver#query 
+    {@link android.content.ContentResolver#query
     query(Uri,projection,selection,selectionArgs,sortOrder)} match an SQL SELECT statement:
 </p>
 <p class="table-caption">
@@ -361,8 +361,8 @@
 </p>
 <p class="note">
     For the sake of clarity, the code snippets in this section call
-    {@link android.content.ContentResolver#query ContentResolver.query()} on the "UI thread"". In 
-    actual code, however, you should do queries asynchronously on a separate thread. One way to do 
+    {@link android.content.ContentResolver#query ContentResolver.query()} on the "UI thread"". In
+    actual code, however, you should do queries asynchronously on a separate thread. One way to do
     this is to use the {@link android.content.CursorLoader} class, which is described
     in more detail in the <a href="{@docRoot}guide/components/loaders.html">
     Loaders</a> guide. Also, the lines of code are snippets only; they don't show a complete
@@ -430,7 +430,7 @@
 <p>
     The next snippet shows how to use
     {@link android.content.ContentResolver#query ContentResolver.query()}, using the User Dictionary
-    Provider as an example. A provider client query is similar to an SQL query, and it contains a 
+    Provider as an example. A provider client query is similar to an SQL query, and it contains a
     set of columns to return, a set of selection criteria, and a sort order.
 </p>
 <p>
@@ -440,8 +440,8 @@
 <p>
     The expression that specifies the rows to retrieve is split into a selection clause and
     selection arguments. The selection clause is a combination of logical and Boolean expressions,
-    column names, and values (the variable <code>mSelectionClause</code>). If you specify the 
-    replaceable parameter <code>?</code> instead of a value, the query method retrieves the value 
+    column names, and values (the variable <code>mSelectionClause</code>). If you specify the
+    replaceable parameter <code>?</code> instead of a value, the query method retrieves the value
     from the selection arguments array (the variable <code>mSelectionArgs</code>).
 </p>
 <p>
@@ -567,14 +567,14 @@
 <!-- Displaying the results -->
 <h3 id="DisplayResults">Displaying query results</h3>
 <p>
-    The {@link android.content.ContentResolver#query ContentResolver.query()} client method always 
-    returns a {@link android.database.Cursor} containing the columns specified by the query's 
-    projection for the rows that match the query's selection criteria. A 
-    {@link android.database.Cursor} object provides random read access to the rows and columns it 
-    contains. Using {@link android.database.Cursor} methods, you can iterate over the rows in the 
+    The {@link android.content.ContentResolver#query ContentResolver.query()} client method always
+    returns a {@link android.database.Cursor} containing the columns specified by the query's
+    projection for the rows that match the query's selection criteria. A
+    {@link android.database.Cursor} object provides random read access to the rows and columns it
+    contains. Using {@link android.database.Cursor} methods, you can iterate over the rows in the
     results, determine the data type of each column, get the data out of a column, and examine other
-    properties of the results. Some {@link android.database.Cursor} implementations automatically 
-    update the object when the provider's data changes, or trigger methods in an observer object 
+    properties of the results. Some {@link android.database.Cursor} implementations automatically
+    update the object when the provider's data changes, or trigger methods in an observer object
     when the {@link android.database.Cursor} changes, or both.
 </p>
 <p class="note">
@@ -705,14 +705,14 @@
 <p>
     To get the permissions needed to access a provider, an application requests them with a
 <code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
-    element in its manifest file. When the Android Package Manager installs the application, a user 
-    must approve all of the permissions the application requests. If the user approves all of them, 
+    element in its manifest file. When the Android Package Manager installs the application, a user
+    must approve all of the permissions the application requests. If the user approves all of them,
     Package Manager continues the installation; if the user doesn't approve them, Package Manager
     aborts the installation.
 </p>
 <p>
     The following
-<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code> 
+<code><a href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code>
     element requests read access to the User Dictionary Provider:
 </p>
 <pre>
@@ -795,8 +795,8 @@
     To update a row, you use a {@link android.content.ContentValues} object with the updated
     values just as you do with an insertion, and selection criteria just as you do with a query.
     The client method you use is
-    {@link android.content.ContentResolver#update ContentResolver.update()}. You only need to add 
-    values to the {@link android.content.ContentValues} object for columns you're updating. If you 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. You only need to add
+    values to the {@link android.content.ContentValues} object for columns you're updating. If you
     want to clear the contents of a column, set the value to <code>null</code>.
 </p>
 <p>
@@ -830,7 +830,7 @@
 </pre>
 <p>
     You should also sanitize user input when you call
-    {@link android.content.ContentResolver#update ContentResolver.update()}. To learn more about 
+    {@link android.content.ContentResolver#update ContentResolver.update()}. To learn more about
     this, read the section <a href="#Injection">Protecting against malicious input</a>.
 </p>
 <h3 id="Deleting">Deleting data</h3>
@@ -860,7 +860,7 @@
 </pre>
 <p>
     You should also sanitize user input when you call
-    {@link android.content.ContentResolver#delete ContentResolver.delete()}. To learn more about 
+    {@link android.content.ContentResolver#delete ContentResolver.delete()}. To learn more about
     this, read the section <a href="#Injection">Protecting against malicious input</a>.
 </p>
 <!-- Provider Data Types -->
@@ -948,9 +948,9 @@
     To access a provider in "batch mode",
     you create an array of {@link android.content.ContentProviderOperation} objects and then
     dispatch them to a content provider with
-    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. You pass the 
-    content provider's <em>authority</em> to this  method, rather than a particular content URI. 
-    This allows each {@link android.content.ContentProviderOperation} object in the array to work 
+    {@link android.content.ContentResolver#applyBatch ContentResolver.applyBatch()}. You pass the
+    content provider's <em>authority</em> to this  method, rather than a particular content URI.
+    This allows each {@link android.content.ContentProviderOperation} object in the array to work
     against a different table. A call to {@link android.content.ContentResolver#applyBatch
     ContentResolver.applyBatch()} returns an array of results.
 </p>
@@ -1013,7 +1013,7 @@
 <p>
     A provider defines URI permissions for content URIs in its manifest, using the
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">android:grantUriPermission</a></code>
-    attribute of the 
+    attribute of the
 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
     element, as well as the
 <code><a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">&lt;grant-uri-permission&gt;</a></code>
diff --git a/docs/html/guide/topics/providers/content-provider-creating.jd b/docs/html/guide/topics/providers/content-provider-creating.jd
index baa92e1..ec6909c 100755
--- a/docs/html/guide/topics/providers/content-provider-creating.jd
+++ b/docs/html/guide/topics/providers/content-provider-creating.jd
@@ -422,7 +422,7 @@
          * in the path
          */
         sUriMatcher.addURI("com.example.app.provider", "table3", 1);
-    
+
         /*
          * Sets the code for a single row to 2. In this case, the "#" wildcard is
          * used. "content://com.example.app.provider/table3/3" matches, but
@@ -881,7 +881,7 @@
     A contract class also helps developers because it usually has mnemonic names for its constants,
     so developers are less likely to use incorrect values for column names or URIs. Since it's a
     class, it can contain Javadoc documentation. Integrated development environments such as
-    Android Studio can auto-complete constant names from the contract class and display Javadoc for 
+    Android Studio can auto-complete constant names from the contract class and display Javadoc for
     the constants.
 </p>
 <p>
diff --git a/docs/html/guide/topics/renderscript/compute.jd b/docs/html/guide/topics/renderscript/compute.jd
index fc795ff..861c925 100755
--- a/docs/html/guide/topics/renderscript/compute.jd
+++ b/docs/html/guide/topics/renderscript/compute.jd
@@ -167,7 +167,7 @@
 </ul>
 
 <p>We strongly recommend using the Support Library APIs for accessing RenderScript because they
-  provide a wider range of device compatibility. Developers targeting specific versions of 
+  provide a wider range of device compatibility. Developers targeting specific versions of
   Android can use {@link android.renderscript} if necessary.</p>
 
 
diff --git a/docs/html/guide/topics/resources/accessing-resources.jd b/docs/html/guide/topics/resources/accessing-resources.jd
index b971238..953b274 100644
--- a/docs/html/guide/topics/resources/accessing-resources.jd
+++ b/docs/html/guide/topics/resources/accessing-resources.jd
@@ -264,8 +264,8 @@
     android:text=&quot;&#64;string/hello&quot; /&gt;
 </pre>
 
-<p class="note"><strong>Note:</strong> You should use string resources at 
-all times, so that your application can be localized for other languages. 
+<p class="note"><strong>Note:</strong> You should use string resources at
+all times, so that your application can be localized for other languages.
 For information about creating alternative
 resources (such as localized strings), see <a
 href="providing-resources.html#AlternativeResources">Providing Alternative
diff --git a/docs/html/guide/topics/resources/animation-resource.jd b/docs/html/guide/topics/resources/animation-resource.jd
index e5cac88..05582f0 100644
--- a/docs/html/guide/topics/resources/animation-resource.jd
+++ b/docs/html/guide/topics/resources/animation-resource.jd
@@ -12,7 +12,7 @@
         <ol>
           <li><a href="#Tween">Tween animation</a></li>
           <li><a href="#Frame">Frame animation</a></li>
-        </ol>      
+        </ol>
       </li>
     </ol>
     <h2>See also</h2>
@@ -94,7 +94,7 @@
 &lt;/set&gt;
 </pre>
 
-<p>The file must have a single root element: either 
+<p>The file must have a single root element: either
 <code>&lt;set&gt;</code>, <code>&lt;objectAnimator&gt;</code>, or <code>&lt;valueAnimator&gt;</code>. You can
 group animation elements together inside the <code>&lt;set&gt;</code> element, including other
 <code>&lt;set&gt;</code> elements.
@@ -109,7 +109,7 @@
     <code>&lt;valueAnimator&gt;</code>, or other <code>&lt;set&gt;</code> elements).  Represents
     an {@link android.animation.AnimatorSet}.
     <p>You can specify nested <code>&lt;set&gt;</code> tags to further
-    group animations together. Each <code>&lt;set&gt;</code> can define its own 
+    group animations together. Each <code>&lt;set&gt;</code> can define its own
     <code>ordering</code> attribute.</p>
 
       <p class="caps">attributes:</p>
@@ -119,11 +119,11 @@
         </dt>
         <dd>
           <em>Keyword</em>. Specifies the play ordering of animations in this set.
-          <table> 
-            <tr><th>Value</th><th>Description</th></tr> 
-            <tr><td><code>sequentially</code></td><td>Play animations in this set sequentially</td></tr> 
-            <tr><td><code>together</code> (default)</td><td>Play animations in this set at the same time.</td></tr> 
-          </table> 
+          <table>
+            <tr><th>Value</th><th>Description</th></tr>
+            <tr><td><code>sequentially</code></td><td>Play animations in this set sequentially</td></tr>
+            <tr><td><code>together</code> (default)</td><td>Play animations in this set at the same time.</td></tr>
+          </table>
         </dd>
       </dl>
     </dd>
@@ -131,11 +131,11 @@
   <dt id="obj-animator-element"><code>&lt;objectAnimator&gt;</code></dt>
     <dd>Animates a specific property of an object over a specific amount of time. Represents
     an {@link android.animation.ObjectAnimator}.</p>
-    
+
       <p class="caps">attributes:</p>
       <dl class="atn-list">
         <dt>
-          <code>android:propertyName</code> 
+          <code>android:propertyName</code>
         </dt>
         <dd>
           <em>String</em>. <strong>Required</strong>. The object's property to animate, referenced by its name. For example you can specify
@@ -206,11 +206,11 @@
         <dd>
           <em>Keyword</em>. Do not specify this attribute if the value is a color. The animation framework automatically handles color
           values
-          <table> 
-            <tr><th>Value</th><th>Description</th></tr> 
-            <tr><td><code>intType</code></td><td>Specifies that the animated values are integers</td></tr> 
-            <tr><td><code>floatType</code> (default)</td><td>Specifies that the animated values are floats</td></tr> 
-          </table> 
+          <table>
+            <tr><th>Value</th><th>Description</th></tr>
+            <tr><td><code>intType</code></td><td>Specifies that the animated values are integers</td></tr>
+            <tr><td><code>floatType</code> (default)</td><td>Specifies that the animated values are floats</td></tr>
+          </table>
         </dd>
 
       </dl>
@@ -279,11 +279,11 @@
         <dd>
           <em>Keyword</em>. Do not specify this attribute if the value is a color. The animation framework automatically handles color
           values.
-          <table> 
-            <tr><th>Value</th><th>Description</th></tr> 
-            <tr><td><code>intType</code></td><td>Specifies that the animated values are integers</td></tr> 
-            <tr><td><code>floatType</code> (default)</td><td>Specifies that the animated values are floats</td></tr> 
-          </table> 
+          <table>
+            <tr><th>Value</th><th>Description</th></tr>
+            <tr><td><code>intType</code></td><td>Specifies that the animated values are integers</td></tr>
+            <tr><td><code>floatType</code> (default)</td><td>Specifies that the animated values are floats</td></tr>
+          </table>
         </dd>
 
       </dl>
@@ -320,7 +320,7 @@
   before starting the animation set. Calling {@link android.animation.AnimatorSet#setTarget
   setTarget()} sets a single target object for all children of the {@link
   android.animation.AnimatorSet} as a convenience. The following code shows how to do this:</p>
-  
+
 <pre>
 AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
     R.anim.property_animator);
diff --git a/docs/html/guide/topics/resources/more-resources.jd b/docs/html/guide/topics/resources/more-resources.jd
index 1afbf70..8488cde 100644
--- a/docs/html/guide/topics/resources/more-resources.jd
+++ b/docs/html/guide/topics/resources/more-resources.jd
@@ -760,7 +760,7 @@
     </dd>
 
 </dl>
-</dd> 
+</dd>
 
 <dt>example:</dt>
 <dd>
@@ -781,7 +781,7 @@
     </dd>
 
   </dl>
-</dd> 
+</dd>
 
 
 <dt>see also:</dt>
diff --git a/docs/html/guide/topics/resources/providing-resources.jd b/docs/html/guide/topics/resources/providing-resources.jd
index c919ed5..80a989a 100644
--- a/docs/html/guide/topics/resources/providing-resources.jd
+++ b/docs/html/guide/topics/resources/providing-resources.jd
@@ -523,7 +523,7 @@
 application will crash at runtime (for example, if all layout resources are tagged with the {@code
 xlarge} qualifier, but the device is a normal-size screen).</p>
         <p><em>Added in API level 4.</em></p>
-        
+
         <p>See <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
 Screens</a> for more information.</p>
         <p>Also see the {@link android.content.res.Configuration#screenLayout} configuration field,
@@ -608,7 +608,7 @@
         </ul>
         <p><em>Added in API level 8, television added in API 13, watch added in API 20.</em></p>
         <p>For information about how your app can respond when the device is inserted into or
-        removed from a dock, read <a 
+        removed from a dock, read <a
         href="{@docRoot}training/monitoring-device-state/docking-monitoring.html">Determining
 and Monitoring the Docking State and Type</a>.</p>
         <p>This can change during the life of your application if the user places the device in a
@@ -659,8 +659,8 @@
 Level 8</em></li>
           <li>{@code xxhdpi}: Extra-extra-high-density screens; approximately 480dpi. <em>Added in API
 Level 16</em></li>
-          <li>{@code xxxhdpi}: Extra-extra-extra-high-density uses (launcher icon only, see the 
-            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">note</a> 
+          <li>{@code xxxhdpi}: Extra-extra-extra-high-density uses (launcher icon only, see the
+            <a href="{@docRoot}guide/practices/screens_support.html#xxxhdpi-note">note</a>
             in <em>Supporting Multiple Screens</em>); approximately 640dpi. <em>Added in API
 Level 18</em></li>
           <li>{@code nodpi}: This can be used for bitmap resources that you do not want to be scaled
diff --git a/docs/html/guide/topics/resources/runtime-changes.jd b/docs/html/guide/topics/resources/runtime-changes.jd
index 8781d20..2e6f9b7 100644
--- a/docs/html/guide/topics/resources/runtime-changes.jd
+++ b/docs/html/guide/topics/resources/runtime-changes.jd
@@ -84,12 +84,12 @@
 <p>To retain stateful objects in a fragment during a runtime configuration change:</p>
 
 <ol>
-  <li>Extend the {@link android.app.Fragment} class and declare references to your stateful 
+  <li>Extend the {@link android.app.Fragment} class and declare references to your stateful
       objects.</li>
   <li>Call {@link android.app.Fragment#setRetainInstance(boolean)} when the fragment is created.
       </li>
   <li>Add the fragment to your activity.</li>
-  <li>Use {@link android.app.FragmentManager} to retrieve the fragment when the activity is 
+  <li>Use {@link android.app.FragmentManager} to retrieve the fragment when the activity is
       restarted.</li>
 </ol>
 
@@ -127,8 +127,8 @@
 means that your application maintains a hold on them and they cannot be garbage-collected, so
 lots of memory can be lost.)</p>
 
-<p>Then use {@link android.app.FragmentManager} to add the fragment to the activity. 
-You can obtain the data object from the fragment when the activity starts again during runtime 
+<p>Then use {@link android.app.FragmentManager} to add the fragment to the activity.
+You can obtain the data object from the fragment when the activity starts again during runtime
 configuration changes. For example, define your activity as follows:</p>
 
 <pre>
@@ -170,7 +170,7 @@
 <p>In this example, {@link android.app.Activity#onCreate(Bundle) onCreate()} adds a fragment
 or restores a reference to it. {@link android.app.Activity#onCreate(Bundle) onCreate()} also
 stores the stateful object inside the fragment instance.
-{@link android.app.Activity#onDestroy() onDestroy()} updates the stateful object inside the 
+{@link android.app.Activity#onDestroy() onDestroy()} updates the stateful object inside the
 retained fragment instance.</p>
 
 
diff --git a/docs/html/guide/topics/sensors/index.jd b/docs/html/guide/topics/sensors/index.jd
index 09d27e7..36d3adc 100644
--- a/docs/html/guide/topics/sensors/index.jd
+++ b/docs/html/guide/topics/sensors/index.jd
@@ -1,7 +1,7 @@
 page.title=Location and Sensors APIs
 page.landing=true
 page.tags=location,sensors
-page.landing.intro=Use sensors on the device to add rich location and motion capabilities to your app, from GPS or network location to accelerometer, gyroscope, temperature, barometer, and more. 
+page.landing.intro=Use sensors on the device to add rich location and motion capabilities to your app, from GPS or network location to accelerometer, gyroscope, temperature, barometer, and more.
 page.landing.image=
 
 @jd:body
@@ -10,7 +10,7 @@
 
   <div class="col-6">
     <h3>Blog Articles</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2010/09/one-screen-turn-deserves-another.html">
       <h4>One Screen Turn Deserves Another</h4>
       <p>However, there’s a new wrinkle: recently, a few devices have shipped (see here and here)
@@ -18,7 +18,7 @@
 the default position, the screens are wider than they are tall. This introduces a few fairly subtle
 issues that we’ve noticed causing problems in some apps.</p>
     </a>
-    
+
     <a href="http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html">
       <h4>A Deep Dive Into Location</h4>
       <p>I’ve written an open-source reference app that incorporates all of the tips, tricks, and
@@ -29,7 +29,7 @@
 
   <div class="col-6">
     <h3>Training</h3>
-    
+
     <a href="http://developer.android.com/training/location/index.html">
       <h4>Making Your App Location Aware</h4>
       <p>This class teaches you how to incorporate location based services in your Android
diff --git a/docs/html/guide/topics/text/index.jd b/docs/html/guide/topics/text/index.jd
index 3865f25..2bf4696 100644
--- a/docs/html/guide/topics/text/index.jd
+++ b/docs/html/guide/topics/text/index.jd
@@ -9,7 +9,7 @@
 
   <div class="col-12">
     <h3>Blog Articles</h3>
-    
+
     <a href="http://android-developers.blogspot.com/2011/12/add-voice-typing-to-your-ime.html">
       <h4>Add Voice Typing To Your IME</h4>
       <p>A new feature available in Android 4.0 is voice typing: the difference for users is that
diff --git a/docs/html/guide/topics/text/spell-checker-framework.jd b/docs/html/guide/topics/text/spell-checker-framework.jd
index a5d9932..7c059ce 100644
--- a/docs/html/guide/topics/text/spell-checker-framework.jd
+++ b/docs/html/guide/topics/text/spell-checker-framework.jd
@@ -6,7 +6,7 @@
 <h2>In This Document</h2>
 <ol>
     <li>
-        <a href="#SpellCheckLifeCycle">Spell Check Lifecycle</a> 
+        <a href="#SpellCheckLifeCycle">Spell Check Lifecycle</a>
     </li>
     <li>
         <a href="#SpellCheckImplementation">Implementing a Spell Checker Service</a>
@@ -30,12 +30,12 @@
 </div>
 
 <p>
-    The Android platform offers a spelling checker framework that lets you implement   
-    and access spell checking in your application. The framework is one of the 
+    The Android platform offers a spelling checker framework that lets you implement
+    and access spell checking in your application. The framework is one of the
     Text Service APIs offered by the Android platform.
 </p>
 <p>
-    To use the framework in your app, you create a special type of Android service that 
+    To use the framework in your app, you create a special type of Android service that
     generates a spelling checker <strong>session</strong> object. Based on text you provide,
     the session object returns spelling suggestions generated by the spelling checker.
 </p>
diff --git a/docs/html/guide/topics/ui/accessibility/apps.jd b/docs/html/guide/topics/ui/accessibility/apps.jd
index eb639e3..26fb3cc 100644
--- a/docs/html/guide/topics/ui/accessibility/apps.jd
+++ b/docs/html/guide/topics/ui/accessibility/apps.jd
@@ -458,7 +458,7 @@
     // Call the super implementation to populate its text to the event, which
     // calls onPopulateAccessibilityEvent() on API Level 14 and up.
     boolean completed = super.dispatchPopulateAccessibilityEvent(event);
-    
+
     // In case this is running on a API revision earlier that 14, check
     // the text content of the event and add an appropriate text
     // description for this custom view:
diff --git a/docs/html/guide/topics/ui/binding.jd b/docs/html/guide/topics/ui/binding.jd
index a4fd25c..48a1d40 100644
--- a/docs/html/guide/topics/ui/binding.jd
+++ b/docs/html/guide/topics/ui/binding.jd
@@ -16,7 +16,7 @@
 
 
 <pre>
-// Get a Spinner and bind it to an ArrayAdapter that 
+// Get a Spinner and bind it to an ArrayAdapter that
 // references a String array.
 Spinner s1 = (Spinner) findViewById(R.id.spinner1);
 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
@@ -31,7 +31,7 @@
 
 Spinner s2 = (Spinner) findViewById(R.id.spinner2);
 Cursor cur = managedQuery(People.CONTENT_URI, PROJECTION, null, null);
-     
+
 SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,
     android.R.layout.simple_spinner_item, // Use a template
                                           // that displays a
@@ -41,7 +41,7 @@
                                          // people database to...
     new int[] {android.R.id.text1}); // The "text1" view defined in
                                      // the XML template
-					 
+
 adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 s2.setAdapter(adapter2);
 </pre>
@@ -70,7 +70,7 @@
 // Now hook into our object and set its onItemClickListener member
 // to our class handler object.
 mHistoryView = (ListView)findViewById(R.id.history);
-mHistoryView.setOnItemClickListener(mMessageClickedHandler); 
+mHistoryView.setOnItemClickListener(mMessageClickedHandler);
 </pre>
 
 <div class="special">
diff --git a/docs/html/guide/topics/ui/controls.jd b/docs/html/guide/topics/ui/controls.jd
index a58d9f9..bb8c1a7 100644
--- a/docs/html/guide/topics/ui/controls.jd
+++ b/docs/html/guide/topics/ui/controls.jd
@@ -71,7 +71,7 @@
     <tr>
         <td><a href="controls/radiobutton.html">Radio button</a></td>
         <td>Similar to checkboxes, except that only one option can be selected in the group.</td>
-	<td>{@link android.widget.RadioGroup RadioGroup} 
+	<td>{@link android.widget.RadioGroup RadioGroup}
 	<br>{@link android.widget.RadioButton RadioButton} </td>
     </tr>
     <tr>
diff --git a/docs/html/guide/topics/ui/controls/button.jd b/docs/html/guide/topics/ui/controls/button.jd
index 295044f..a529d53 100644
--- a/docs/html/guide/topics/ui/controls/button.jd
+++ b/docs/html/guide/topics/ui/controls/button.jd
@@ -214,7 +214,7 @@
   <li>The second <code>&lt;item></code> defines the bitmap to use when the button is
 focused (when the button is highlighted using the trackball or directional
 pad).</li>
-  <li>The third <code>&lt;item></code> defines the bitmap to use when the button is in the 
+  <li>The third <code>&lt;item></code> defines the bitmap to use when the button is in the
 default state (it's neither pressed nor focused).</li>
 </ul>
   <p class="note"><strong>Note:</strong> The order of the <code>&lt;item></code> elements is
diff --git a/docs/html/guide/topics/ui/controls/checkbox.jd b/docs/html/guide/topics/ui/controls/checkbox.jd
index 2a64e38..f5feeb1 100644
--- a/docs/html/guide/topics/ui/controls/checkbox.jd
+++ b/docs/html/guide/topics/ui/controls/checkbox.jd
@@ -65,7 +65,7 @@
 public void onCheckboxClicked(View view) {
     // Is the view now checked?
     boolean checked = ((CheckBox) view).isChecked();
-    
+
     // Check which checkbox was clicked
     switch(view.getId()) {
         case R.id.checkbox_meat:
diff --git a/docs/html/guide/topics/ui/controls/pickers.jd b/docs/html/guide/topics/ui/controls/pickers.jd
index c0667ad..9788f08 100644
--- a/docs/html/guide/topics/ui/controls/pickers.jd
+++ b/docs/html/guide/topics/ui/controls/pickers.jd
@@ -123,15 +123,15 @@
 <p>For example, here's a button that, when clicked, calls a method to show the dialog:</p>
 
 <pre>
-&lt;Button 
-    android:layout_width="wrap_content" 
+&lt;Button
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:text="@string/pick_time" 
+    android:text="@string/pick_time"
     android:onClick="showTimePickerDialog" />
 </pre>
 
 <p>When the user clicks this button, the system calls the following method:</p>
-  
+
 <pre>
 public void showTimePickerDialog(View v) {
     DialogFragment newFragment = new TimePickerFragment();
@@ -224,15 +224,15 @@
 <p>For example, here's a button that, when clicked, calls a method to show the dialog:</p>
 
 <pre>
-&lt;Button 
-    android:layout_width="wrap_content" 
+&lt;Button
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:text="@string/pick_date" 
+    android:text="@string/pick_date"
     android:onClick="showDatePickerDialog" />
 </pre>
 
 <p>When the user clicks this button, the system calls the following method:</p>
-  
+
 <pre>
 public void showDatePickerDialog(View v) {
     DialogFragment newFragment = new DatePickerFragment();
diff --git a/docs/html/guide/topics/ui/controls/radiobutton.jd b/docs/html/guide/topics/ui/controls/radiobutton.jd
index b2556e19..e1441d3 100644
--- a/docs/html/guide/topics/ui/controls/radiobutton.jd
+++ b/docs/html/guide/topics/ui/controls/radiobutton.jd
@@ -72,7 +72,7 @@
 public void onRadioButtonClicked(View view) {
     // Is the button now checked?
     boolean checked = ((RadioButton) view).isChecked();
-    
+
     // Check which radio button was clicked
     switch(view.getId()) {
         case R.id.radio_pirates:
diff --git a/docs/html/guide/topics/ui/controls/spinner.jd b/docs/html/guide/topics/ui/controls/spinner.jd
index 3b8aaad..00b0432 100644
--- a/docs/html/guide/topics/ui/controls/spinner.jd
+++ b/docs/html/guide/topics/ui/controls/spinner.jd
@@ -4,7 +4,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
 <h2>In this document</h2>
 <ol>
   <li><a href="#Populate">Populate the Spinner with User Choices</a></li>
@@ -113,8 +113,8 @@
 <pre>
 public class SpinnerActivity extends Activity implements OnItemSelectedListener {
     ...
-    
-    public void onItemSelected(AdapterView&lt;?> parent, View view, 
+
+    public void onItemSelected(AdapterView&lt;?> parent, View view,
             int pos, long id) {
         // An item was selected. You can retrieve the selected item using
         // parent.getItemAtPosition(pos)
diff --git a/docs/html/guide/topics/ui/controls/text.jd b/docs/html/guide/topics/ui/controls/text.jd
index f4d72b2a..f5c2a42 100644
--- a/docs/html/guide/topics/ui/controls/text.jd
+++ b/docs/html/guide/topics/ui/controls/text.jd
@@ -4,7 +4,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  
+
 <h2>In this document</h2>
 <ol>
   <li><a href="#Keyboard">Specifying the Keyboard Type</a>
@@ -279,7 +279,7 @@
 layout with only the text field:
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
-&lt;AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android" 
+&lt;AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="&#64;+id/autocomplete_country"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content" />
@@ -313,8 +313,8 @@
 AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
 // Get the string array
 String[] countries = getResources().getStringArray(R.array.countries_array);
-// Create the adapter and set it to the AutoCompleteTextView 
-ArrayAdapter&lt;String> adapter = 
+// Create the adapter and set it to the AutoCompleteTextView
+ArrayAdapter&lt;String> adapter =
         new ArrayAdapter&lt;String>(this, android.R.layout.simple_list_item_1, countries);
 textView.setAdapter(adapter);
 </pre>
diff --git a/docs/html/guide/topics/ui/custom-components.jd b/docs/html/guide/topics/ui/custom-components.jd
index b7249c5..bd3de1c 100755
--- a/docs/html/guide/topics/ui/custom-components.jd
+++ b/docs/html/guide/topics/ui/custom-components.jd
@@ -14,37 +14,37 @@
 </div>
 </div>
 
-<p>Android offers a sophisticated and powerful componentized model for building your UI, 
-based on the fundamental layout classes: {@link android.view.View} and 
-{@link android.view.ViewGroup}. To start with, the platform includes a variety of prebuilt 
-View and ViewGroup subclasses &mdash; called widgets and layouts, respectively &mdash; 
+<p>Android offers a sophisticated and powerful componentized model for building your UI,
+based on the fundamental layout classes: {@link android.view.View} and
+{@link android.view.ViewGroup}. To start with, the platform includes a variety of prebuilt
+View and ViewGroup subclasses &mdash; called widgets and layouts, respectively &mdash;
 that you can use to construct your UI.</p>
 
-<p>A partial list of available widgets includes {@link android.widget.Button Button}, 
-{@link android.widget.TextView TextView}, 
-{@link android.widget.EditText EditText}, 
+<p>A partial list of available widgets includes {@link android.widget.Button Button},
+{@link android.widget.TextView TextView},
+{@link android.widget.EditText EditText},
 {@link android.widget.ListView ListView},
-{@link android.widget.CheckBox CheckBox}, 
-{@link android.widget.RadioButton RadioButton}, 
-{@link android.widget.Gallery Gallery}, 
-{@link android.widget.Spinner Spinner}, and the more special-purpose 
-{@link android.widget.AutoCompleteTextView AutoCompleteTextView}, 
+{@link android.widget.CheckBox CheckBox},
+{@link android.widget.RadioButton RadioButton},
+{@link android.widget.Gallery Gallery},
+{@link android.widget.Spinner Spinner}, and the more special-purpose
+{@link android.widget.AutoCompleteTextView AutoCompleteTextView},
 {@link android.widget.ImageSwitcher ImageSwitcher}, and
 {@link android.widget.TextSwitcher TextSwitcher}. </p>
 
-<p>Among the layouts available are {@link android.widget.LinearLayout LinearLayout}, 
-{@link android.widget.FrameLayout FrameLayout}, {@link android.widget.RelativeLayout RelativeLayout}, 
+<p>Among the layouts available are {@link android.widget.LinearLayout LinearLayout},
+{@link android.widget.FrameLayout FrameLayout}, {@link android.widget.RelativeLayout RelativeLayout},
 and others. For more examples, see <a href="layout-objects.html">Common Layout Objects</a>.</p>
 
-<p>If none of the prebuilt widgets or layouts meets your needs, you can create your own View subclass. 
-If you only need to make small adjustments to an existing widget or layout, you can simply subclass 
+<p>If none of the prebuilt widgets or layouts meets your needs, you can create your own View subclass.
+If you only need to make small adjustments to an existing widget or layout, you can simply subclass
 the widget or layout and override its methods.
 </p>
 
-<p>Creating your own View subclasses gives you precise control over the appearance and function 
-of a screen element. To give an idea of the control you get with custom views, here are some 
+<p>Creating your own View subclasses gives you precise control over the appearance and function
+of a screen element. To give an idea of the control you get with custom views, here are some
 examples of what you could do with them:</p>
- 
+
 <ul>
   <li>
     You could create a completely custom-rendered View type, for example a "volume
@@ -60,7 +60,7 @@
   </li>
   <li>
     You could override the way that an EditText component is rendered on the screen
-    (the <a href="{@docRoot}resources/samples/NotePad/index.html">Notepad Tutorial</a> uses this to good effect, 
+    (the <a href="{@docRoot}resources/samples/NotePad/index.html">Notepad Tutorial</a> uses this to good effect,
     to create a lined-notepad page).
   </li>
   <li>
@@ -69,7 +69,7 @@
   </li>
 </ul>
 <p>
-The sections below explain how to create custom Views and use them in your application. 
+The sections below explain how to create custom Views and use them in your application.
 For detailed reference information, see the {@link android.view.View} class. </p>
 
 
@@ -77,26 +77,26 @@
 
 <p>Here is a high level overview of what you need to know to get started in creating your own
 View components:</p>
- 
+
 <ol>
   <li>
-    Extend an existing {@link android.view.View View} class or subclass 
+    Extend an existing {@link android.view.View View} class or subclass
 	with your own class.
   </li>
   <li>
-    Override some of the methods from the superclass. The superclass methods 
+    Override some of the methods from the superclass. The superclass methods
     to override start with '<code>on</code>', for
-    example, {@link android.view.View#onDraw onDraw()}, 
-    {@link android.view.View#onMeasure onMeasure()}, and 
+    example, {@link android.view.View#onDraw onDraw()},
+    {@link android.view.View#onMeasure onMeasure()}, and
     {@link android.view.View#onKeyDown onKeyDown()}.
-    This is similar to the <code>on...</code> events in {@link android.app.Activity Activity} 
+    This is similar to the <code>on...</code> events in {@link android.app.Activity Activity}
     or {@link android.app.ListActivity ListActivity}
     that you override for lifecycle and other functionality hooks.
   <li>
-    Use your new extension class. Once completed, your new extension class 
+    Use your new extension class. Once completed, your new extension class
     can be used in place of the view upon which it was based.
   </li>
-</ol>  
+</ol>
 <p class="note"><strong>Tip:</strong>
     Extension classes can be defined as inner classes inside the activities
     that use them. This is useful because it controls access to them but
@@ -119,7 +119,7 @@
 screen, and the available processing power (remember that ultimately your
 application might have to run on something with significantly less power
 than your desktop workstation).</p>
-<p>To create a fully customized component:</p> 
+<p>To create a fully customized component:</p>
 <ol>
   <li>
     The most generic view you can extend is, unsurprisingly, {@link
@@ -170,11 +170,11 @@
 (which are passed in to the <code>onMeasure()</code> method) and by the
 requirement to call the <code>setMeasuredDimension()</code> method with the
 measured width and height once they have been calculated. If you fail to
-call this method from an overridden <code>onMeasure()</code> method, the 
+call this method from an overridden <code>onMeasure()</code> method, the
 result will be an exception at measurement time.</p>
-<p>At a high level, implementing <code>onMeasure()</code> looks something 
+<p>At a high level, implementing <code>onMeasure()</code> looks something
  like this:</p>
- 
+
 <ol>
   <li>
     The overridden <code>onMeasure()</code> method is called with width and
@@ -193,7 +193,7 @@
     measurement width and height which will be required to render the
     component. It should try to stay within the specifications passed in,
     although it can choose to exceed them (in this case, the parent can
-    choose what to do, including clipping, scrolling, throwing an exception, 
+    choose what to do, including clipping, scrolling, throwing an exception,
     or asking the <code>onMeasure()</code> to try again, perhaps with
     different measurement specifications).
   </li>
@@ -212,7 +212,7 @@
        <thead>
            <tr><th>Category</th> <th>Methods</th> <th>Description</th></tr>
        </thead>
-       
+
        <tbody>
        <tr>
            <td rowspan="2">Creation</td>
@@ -228,7 +228,7 @@
            <td>Called after a view and all of its children has been inflated
            from XML.</td>
        </tr>
-       
+
        <tr>
            <td rowspan="3">Layout</td>
            <td><code>{@link  android.view.View#onMeasure}</code></td>
@@ -247,14 +247,14 @@
            <td>Called when the size of this view has changed.
            </td>
        </tr>
-       
+
        <tr>
            <td>Drawing</td>
            <td><code>{@link  android.view.View#onDraw}</code></td>
            <td>Called when the view should render its content.
            </td>
        </tr>
-  
+
        <tr>
            <td rowspan="4">Event processing</td>
            <td><code>{@link  android.view.View#onKeyDown}</code></td>
@@ -265,58 +265,58 @@
            <td><code>{@link  android.view.View#onKeyUp}</code></td>
            <td>Called when a key up event occurs.
            </td>
-       </tr>   
+       </tr>
        <tr>
            <td><code>{@link  android.view.View#onTrackballEvent}</code></td>
            <td>Called when a trackball motion event occurs.
            </td>
-       </tr>  
+       </tr>
        <tr>
            <td><code>{@link  android.view.View#onTouchEvent}</code></td>
            <td>Called when a touch screen motion event occurs.
            </td>
-       </tr>  
-       
+       </tr>
+
        <tr>
            <td rowspan="2">Focus</td>
            <td><code>{@link  android.view.View#onFocusChanged}</code></td>
            <td>Called when the view gains or loses focus.
            </td>
        </tr>
-       
+
        <tr>
            <td><code>{@link  android.view.View#onWindowFocusChanged}</code></td>
            <td>Called when the window containing the view gains or loses focus.
            </td>
        </tr>
-       
+
        <tr>
            <td rowspan="3">Attaching</td>
            <td><code>{@link  android.view.View#onAttachedToWindow()}</code></td>
            <td>Called when the view is attached to a window.
            </td>
        </tr>
-  
+
        <tr>
            <td><code>{@link  android.view.View#onDetachedFromWindow}</code></td>
            <td>Called when the view is detached from its window.
            </td>
-       </tr>     
-  
+       </tr>
+
        <tr>
            <td><code>{@link  android.view.View#onWindowVisibilityChanged}</code></td>
            <td>Called when the visibility of the window containing the view
            has changed.
            </td>
-       </tr>     
+       </tr>
        </tbody>
-       
+
    </table>
 
 
 
 <h3 id="customexample">A Custom View Example</h3>
-<p>The CustomView sample in the 
+<p>The CustomView sample in the
 <a href="{@docRoot}resources/samples/ApiDemos/index.html">API Demos</a> provides an example
 of a customized View. The custom View is defined in the
 <a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/LabelView.html">LabelView</a>
@@ -359,9 +359,9 @@
 something from the list, it populates the EditText field, but the user can
 also type something directly into the EditText if they prefer.</p>
 <p>In Android, there are actually two other Views readily available to do
-this: {@link android.widget.Spinner Spinner} and 
-{@link android.widget.AutoCompleteTextView AutoCompleteTextView}, but 
-regardless, the concept of a Combo Box makes an easy-to-understand 
+this: {@link android.widget.Spinner Spinner} and
+{@link android.widget.AutoCompleteTextView AutoCompleteTextView}, but
+regardless, the concept of a Combo Box makes an easy-to-understand
 example.</p>
 <p>To create a compound component:</p>
 <ol>
@@ -397,7 +397,7 @@
   <li>
     In the case of extending a Layout, you don't need to override the
     <code>onDraw()</code> and <code>onMeasure()</code> methods since the
-    layout will have default behavior that will likely work just fine. However, 
+    layout will have default behavior that will likely work just fine. However,
     you can still override them if you need to.
   </li>
   <li>
@@ -409,7 +409,7 @@
 <p>
  To summarize, the use of a Layout as the basis for a Custom Control has a
 number of advantages, including:</p>
- 
+
 <ul>
   <li>
     You can specify the layout using the declarative XML files just like
@@ -433,7 +433,7 @@
  SpeechView which extends LinearLayout to make a component for displaying
  Speech quotes. The corresponding classes in the sample code are
  <code>List4.java</code> and <code>List6.java</code>.</p>
- 
+
 
 
 <h2 id="modifying">Modifying an Existing View Type</h2>
@@ -450,7 +450,7 @@
 them is extending an EditText View to make a lined notepad. This is not a
 perfect example, and the APIs for doing this might change from this early
 preview, but it does demonstrate the principles.</p>
-<p>If you haven't done so already, import the 
+<p>If you haven't done so already, import the
 NotePad sample into Android Studio (or
 just look at the source using the link provided). In particular look at the definition of
 <code>MyEditText</code> in the <a
@@ -462,7 +462,7 @@
     <strong>The Definition</strong>
     <p>The class is defined with the following line:<br/>
      <code>public static class MyEditText extends EditText</code></p>
-     
+
     <ul>
       <li>
         It is defined as an inner class within the <code>NoteEditor</code>
@@ -488,7 +488,7 @@
   </li>
   <li>
     <strong>Class Initialization</strong>
-    <p>As always, the super is called first. Furthermore, 
+    <p>As always, the super is called first. Furthermore,
     this is not a default constructor, but a parameterized one. The
     EditText is created with these parameters when it is inflated from an
     XML layout file, thus, our constructor needs to both take them and pass them
@@ -496,7 +496,7 @@
   </li>
   <li>
     <strong>Overridden Methods</strong>
-    <p>In this example, there is only one method to be overridden: 
+    <p>In this example, there is only one method to be overridden:
     <code>onDraw()</code> &mdash; but there could easily be others needed when you
     create your own custom components.</p>
     <p>For the NotePad sample, overriding the <code>onDraw()</code> method allows
@@ -513,7 +513,7 @@
     <code>res/layout</code> folder.</p>
 <pre>
 &lt;view
-  class=&quot;com.android.notepad.NoteEditor$MyEditText&quot; 
+  class=&quot;com.android.notepad.NoteEditor$MyEditText&quot;
   id=&quot;&#64;+id/note&quot;
   android:layout_width=&quot;fill_parent&quot;
   android:layout_height=&quot;fill_parent&quot;
@@ -522,7 +522,7 @@
   android:scrollbars=&quot;vertical&quot;
   android:fadingEdge=&quot;vertical&quot; /&gt;
 </pre>
-     
+
     <ul>
       <li>
         The custom component is created as a generic view in the XML, and
@@ -531,7 +531,7 @@
         <code>NoteEditor$MyEditText</code> notation which is a standard way to
         refer to inner classes in the Java programming language.
         <p>If your custom View component is not defined as an inner class, then you can,
-        alternatively, declare the View component 
+        alternatively, declare the View component
         with the XML element name, and exclude the <code>class</code> attribute. For example:</p>
 <pre>
 &lt;com.android.notepad.MyEditText
diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd
index e4469ea..7ab4ca5 100644
--- a/docs/html/guide/topics/ui/dialogs.jd
+++ b/docs/html/guide/topics/ui/dialogs.jd
@@ -32,7 +32,7 @@
       <li>{@link android.app.DialogFragment}</li>
       <li>{@link android.app.AlertDialog}</li>
     </ol>
-    
+
     <h2>See also</h2>
     <ol>
       <li><a href="{@docRoot}design/building-blocks/dialogs.html">Dialogs design guide</a></li>
@@ -238,8 +238,8 @@
 </pre>
 
 <p>The <code>set...Button()</code> methods require a title for the button (supplied
-by a <a href="{@docRoot}guide/topics/resources/string-resource.html">string resource</a>) and a 
-{@link android.content.DialogInterface.OnClickListener} that defines the action to take 
+by a <a href="{@docRoot}guide/topics/resources/string-resource.html">string resource</a>) and a
+{@link android.content.DialogInterface.OnClickListener} that defines the action to take
 when the user presses the button.</p>
 
 <p>There are three different action buttons you can add:</p>
@@ -251,7 +251,7 @@
   <dt>Neutral</dt>
   <dd>You should use this when the user may not want to proceed with the action,
   but doesn't necessarily want to cancel. It appears between the positive and negative
-  buttons. For example, the action might be "Remind me later."</dd> 
+  buttons. For example, the action might be "Remind me later."</dd>
 </dl>
 
 <p>You can add only one of each button type to an {@link
@@ -274,7 +274,7 @@
 <li>A persistent multiple-choice list (checkboxes)</li>
 </ul>
 
-<p>To create a single-choice list like the one in figure 3, 
+<p>To create a single-choice list like the one in figure 3,
 use the {@link android.app.AlertDialog.Builder#setItems setItems()} method:</p>
 
 <pre style="clear:right">
@@ -294,7 +294,7 @@
 
 <p>Because the list appears in the dialog's content area,
 the dialog cannot show both a message and a list and you should set a title for the
-dialog with {@link android.app.AlertDialog.Builder#setTitle setTitle()}. 
+dialog with {@link android.app.AlertDialog.Builder#setTitle setTitle()}.
 To specify the items for the list, call {@link
 android.app.AlertDialog.Builder#setItems setItems()}, passing an array.
 Alternatively, you can specify a list using {@link
@@ -320,11 +320,11 @@
 
 <h4 id="Checkboxes">Adding a persistent multiple-choice or single-choice list</h4>
 
-<p>To add a list of multiple-choice items (checkboxes) or 
+<p>To add a list of multiple-choice items (checkboxes) or
 single-choice items (radio buttons), use the
 {@link android.app.AlertDialog.Builder#setMultiChoiceItems(Cursor,String,String,
-DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} or 
-{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+DialogInterface.OnMultiChoiceClickListener) setMultiChoiceItems()} or
+{@link android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} methods, respectively.</p>
 
 <p>For example, here's how you can create a multiple-choice list like the
@@ -349,7 +349,7 @@
                        // If the user checked the item, add it to the selected items
                        mSelectedItems.add(which);
                    } else if (mSelectedItems.contains(which)) {
-                       // Else, if the item is already in the array, remove it 
+                       // Else, if the item is already in the array, remove it
                        mSelectedItems.remove(Integer.valueOf(which));
                    }
                }
@@ -376,7 +376,7 @@
 
 <p>Although both a traditional list and a list with radio buttons
 provide a "single choice" action, you should use {@link
-android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener) 
+android.app.AlertDialog.Builder#setSingleChoiceItems(int,int,DialogInterface.OnClickListener)
 setSingleChoiceItems()} if you want to persist the user's choice.
 That is, if opening the dialog again later should indicate what the user's current choice is,
 then you create a list with radio buttons.</p>
@@ -445,7 +445,7 @@
 a matching font style.</p>
 
 <p>To inflate the layout in your {@link android.support.v4.app.DialogFragment},
-get a {@link android.view.LayoutInflater} with 
+get a {@link android.view.LayoutInflater} with
 {@link android.app.Activity#getLayoutInflater()} and call
 {@link android.view.LayoutInflater#inflate inflate()}, where the first parameter
 is the layout resource ID and the second parameter is a parent view for the layout.
@@ -473,7 +473,7 @@
                public void onClick(DialogInterface dialog, int id) {
                    LoginDialogFragment.this.getDialog().cancel();
                }
-           });      
+           });
     return builder.create();
 }
 </pre>
@@ -508,7 +508,7 @@
 
 <pre>
 public class NoticeDialogFragment extends DialogFragment {
-    
+
     /* The activity that creates an instance of this dialog fragment must
      * implement this interface in order to receive event callbacks.
      * Each method passes the DialogFragment in case the host needs to query it. */
@@ -516,10 +516,10 @@
         public void onDialogPositiveClick(DialogFragment dialog);
         public void onDialogNegativeClick(DialogFragment dialog);
     }
-    
+
     // Use this instance of the interface to deliver action events
     NoticeDialogListener mListener;
-    
+
     // Override the Fragment.onAttach() method to instantiate the NoticeDialogListener
     &#64;Override
     public void onAttach(Activity activity) {
@@ -546,7 +546,7 @@
 public class MainActivity extends FragmentActivity
                           implements NoticeDialogFragment.NoticeDialogListener{
     ...
-    
+
     public void showNoticeDialog() {
         // Create an instance of the dialog fragment and show it
         DialogFragment dialog = new NoticeDialogFragment();
@@ -659,7 +659,7 @@
         // Inflate the layout to use as dialog or embedded fragment
         return inflater.inflate(R.layout.purchase_items, container, false);
     }
-  
+
     /** The system calls this only when creating the layout in a dialog. */
     &#64;Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -681,7 +681,7 @@
 public void showDialog() {
     FragmentManager fragmentManager = getSupportFragmentManager();
     CustomDialogFragment newFragment = new CustomDialogFragment();
-    
+
     if (mIsLargeLayout) {
         // The device is using a large layout, so show the fragment as a dialog
         newFragment.show(fragmentManager, "dialog");
@@ -781,7 +781,7 @@
 android.support.v4.app.DialogFragment}.</p>
 
 <p>You can also <em>cancel</em> a dialog. This is a special event that indicates the user
-explicitly left the dialog without completing the task. This occurs if the user presses the 
+explicitly left the dialog without completing the task. This occurs if the user presses the
 <em>Back</em> button, touches the screen outside the dialog area,
 or if you explicitly call {@link android.app.Dialog#cancel()} on the {@link
 android.app.Dialog} (such as in response to a "Cancel" button in the dialog).</p>
diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd
index 4eb54f2..8871c87 100644
--- a/docs/html/guide/topics/ui/drag-drop.jd
+++ b/docs/html/guide/topics/ui/drag-drop.jd
@@ -978,7 +978,7 @@
                 Log.e("DragDrop Example","Unknown action type received by OnDragListener.");
                 break;
         }
-        
+
         return false;
     }
 };
diff --git a/docs/html/guide/topics/ui/how-android-draws.jd b/docs/html/guide/topics/ui/how-android-draws.jd
index 168f77b..7956369 100644
--- a/docs/html/guide/topics/ui/how-android-draws.jd
+++ b/docs/html/guide/topics/ui/how-android-draws.jd
@@ -4,18 +4,18 @@
 @jd:body
 
 
-<p>When an {@link android.app.Activity} receives focus, it will be requested to 
+<p>When an {@link android.app.Activity} receives focus, it will be requested to
 draw its layout.
-The Android framework will handle the procedure for drawing, but the 
+The Android framework will handle the procedure for drawing, but the
 {@link android.app.Activity} must provide
 the root node of its layout hierarchy.</p>
 
-<p>Drawing begins with the root node of the layout. It is requested to measure and 
-draw the layout tree. Drawing is handled by walking the tree and rendering each 
-{@link android.view.View} that intersects the invalid region. In turn, each 
+<p>Drawing begins with the root node of the layout. It is requested to measure and
+draw the layout tree. Drawing is handled by walking the tree and rendering each
+{@link android.view.View} that intersects the invalid region. In turn, each
 {@link android.view.ViewGroup} is responsible for requesting
-each of its children to be drawn 
-(with the {@link android.view.View#draw(Canvas) draw()} method) 
+each of its children to be drawn
+(with the {@link android.view.View#draw(Canvas) draw()} method)
 and each {@link android.view.View} is responsible for drawing itself.
  Because the tree is traversed in-order,
    this means that parents will be drawn before (i.e., behind) their children, with
@@ -24,55 +24,55 @@
 
 <div class="sidebox-wrapper">
 <div class="sidebox">
-  <p>The framework will not draw {@link android.view.View} objects that are not 
-in the invalid region, and also 
+  <p>The framework will not draw {@link android.view.View} objects that are not
+in the invalid region, and also
    will take care of drawing the {@link android.view.View} background for you.</p>
-   <p>You can force a {@link android.view.View} to draw, by calling 
+   <p>You can force a {@link android.view.View} to draw, by calling
 {@link android.view.View#invalidate()}.
    </p>
 </div>
 </div>
 
 <p>
-   Drawing the layout is a two pass process: a measure pass and a layout pass. 
-The measuring pass is implemented in {@link android.view.View#measure(int, int)} 
-and is a top-down traversal of the {@link android.view.View} tree. Each {@link android.view.View} 
+   Drawing the layout is a two pass process: a measure pass and a layout pass.
+The measuring pass is implemented in {@link android.view.View#measure(int, int)}
+and is a top-down traversal of the {@link android.view.View} tree. Each {@link android.view.View}
 pushes dimension specifications down the tree
-   during the recursion. At the end of the measure pass, every 
+   during the recursion. At the end of the measure pass, every
 {@link android.view.View} has stored
    its measurements. The second pass happens in
    {@link android.view.View#layout(int,int,int,int)} and is also top-down. During
    this pass each parent is responsible for positioning all of its children
    using the sizes computed in the measure pass.
    </p>
-   
+
    <p>
-   When a {@link android.view.View} object's 
-{@link android.view.View#measure(int, int) measure()} method 
+   When a {@link android.view.View} object's
+{@link android.view.View#measure(int, int) measure()} method
 returns, its {@link android.view.View#getMeasuredWidth()} and
-   {@link android.view.View#getMeasuredHeight()} values must be set, along 
-   with those for all of that {@link android.view.View} object's descendants. 
-A {@link android.view.View} object's measured width and 
-measured height values must respect the constraints imposed by the 
+   {@link android.view.View#getMeasuredHeight()} values must be set, along
+   with those for all of that {@link android.view.View} object's descendants.
+A {@link android.view.View} object's measured width and
+measured height values must respect the constraints imposed by the
 {@link android.view.View} object's parents. This guarantees
    that at the end of the measure pass, all parents accept all of their
-   children's measurements. A parent {@link android.view.View} may call 
+   children's measurements. A parent {@link android.view.View} may call
 {@link android.view.View#measure(int, int) measure()} more than once on
    its children. For example, the parent may measure each child once with
    unspecified dimensions to find out how big they want to be, then call
-   {@link android.view.View#measure(int, int) measure()} on them again with 
+   {@link android.view.View#measure(int, int) measure()} on them again with
 actual numbers if the sum of all the children's
-   unconstrained sizes is too big or too small (that is, if the children 
+   unconstrained sizes is too big or too small (that is, if the children
 don't agree among themselves
-  as to how much space they each get, the parent will intervene and set 
+  as to how much space they each get, the parent will intervene and set
 the rules on the second pass).
    </p>
-   
+
 <div class="sidebox-wrapper">
 <div class="sidebox"><p>
-   To initiate a layout, call {@link android.view.View#requestLayout}. 
+   To initiate a layout, call {@link android.view.View#requestLayout}.
 This method is typically
-   called by a {@link android.view.View} on itself 
+   called by a {@link android.view.View} on itself
 when it believes that is can no longer fit within
    its current bounds.</p>
 </div>
@@ -80,54 +80,54 @@
 
    <p>
    The measure pass uses two classes to communicate dimensions. The
-   {@link android.view.ViewGroup.LayoutParams} class is used by 
+   {@link android.view.ViewGroup.LayoutParams} class is used by
 {@link android.view.View} objects to tell their parents how they
-   want to be measured and positioned. The base 
+   want to be measured and positioned. The base
 {@link android.view.ViewGroup.LayoutParams}  class just
-   describes how big the {@link android.view.View} wants to be for both 
+   describes how big the {@link android.view.View} wants to be for both
 width and height. For each
    dimension, it can specify one of:</p>
    <ul>
     <li> an exact number
-    <li>{@link android.view.ViewGroup.LayoutParams#MATCH_PARENT MATCH_PARENT}, 
+    <li>{@link android.view.ViewGroup.LayoutParams#MATCH_PARENT MATCH_PARENT},
 which means the {@link android.view.View} wants to be as big as its parent
     (minus padding)</li>
-    <li>{@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT WRAP_CONTENT}, 
+    <li>{@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT WRAP_CONTENT},
 which means that the {@link android.view.View} wants to be just big enough to
     enclose its content (plus padding).</li>
    </ul>
-  <p>There are subclasses of {@link android.view.ViewGroup.LayoutParams} for 
+  <p>There are subclasses of {@link android.view.ViewGroup.LayoutParams} for
 different subclasses of {@link android.view.ViewGroup}.
-   For example, {@link android.widget.RelativeLayout} has its own subclass of 
+   For example, {@link android.widget.RelativeLayout} has its own subclass of
 {@link android.view.ViewGroup.LayoutParams}, which includes
-   the ability to center child {@link android.view.View} objects 
+   the ability to center child {@link android.view.View} objects
 horizontally and vertically.
    </p>
-   
+
    <p>
-   {@link android.view.View.MeasureSpec MeasureSpec} objects are used to push 
+   {@link android.view.View.MeasureSpec MeasureSpec} objects are used to push
 requirements down the tree from parent to
-   child. A {@link android.view.View.MeasureSpec MeasureSpec} can be in one of 
+   child. A {@link android.view.View.MeasureSpec MeasureSpec} can be in one of
 three modes:</p>
    <ul>
-    <li>{@link android.view.View.MeasureSpec#UNSPECIFIED UNSPECIFIED}: This is 
+    <li>{@link android.view.View.MeasureSpec#UNSPECIFIED UNSPECIFIED}: This is
 used by a parent to determine the desired dimension
-    of a child {@link android.view.View}. For example, a 
-{@link android.widget.LinearLayout} may call 
+    of a child {@link android.view.View}. For example, a
+{@link android.widget.LinearLayout} may call
 {@link android.view.View#measure(int, int) measure()} on its child
-    with the height set to {@link android.view.View.MeasureSpec#UNSPECIFIED UNSPECIFIED} 
-and a width of {@link android.view.View.MeasureSpec#EXACTLY EXACTLY} 240 to 
-find out how tall the child {@link android.view.View} wants to be given a 
+    with the height set to {@link android.view.View.MeasureSpec#UNSPECIFIED UNSPECIFIED}
+and a width of {@link android.view.View.MeasureSpec#EXACTLY EXACTLY} 240 to
+find out how tall the child {@link android.view.View} wants to be given a
 width of 240 pixels.</li>
-    <li>{@link android.view.View.MeasureSpec#EXACTLY EXACTLY}: This is used 
+    <li>{@link android.view.View.MeasureSpec#EXACTLY EXACTLY}: This is used
 by the parent to impose an exact size on the
     child. The child must use this size, and guarantee that all of its
     descendants will fit within this size.</li>
-    <li>{@link android.view.View.MeasureSpec#AT_MOST AT MOST}: This is used by 
+    <li>{@link android.view.View.MeasureSpec#AT_MOST AT MOST}: This is used by
 the parent to impose a maximum size on the
     child. The child must guarantee that it and all of its descendants will fit
     within this size.</li>
    </ul>
-   
+
 
 
diff --git a/docs/html/guide/topics/ui/index.jd b/docs/html/guide/topics/ui/index.jd
index 0725eb7..ccdf200 100644
--- a/docs/html/guide/topics/ui/index.jd
+++ b/docs/html/guide/topics/ui/index.jd
@@ -1,6 +1,6 @@
 page.title=User Interface
 page.landing=true
-page.landing.intro=Your app's user interface is everything that the user can see and interact with. Android provides a variety of pre-built UI components such as structured layout objects and UI controls that allow you to build the graphical user interface for your app. Android also provides other UI modules for special interfaces such as dialogs, notifications, and menus.  
+page.landing.intro=Your app's user interface is everything that the user can see and interact with. Android provides a variety of pre-built UI components such as structured layout objects and UI controls that allow you to build the graphical user interface for your app. Android also provides other UI modules for special interfaces such as dialogs, notifications, and menus.
 page.landing.image=images/ui/ui_index.png
 page.landing.next=overview.html
 
diff --git a/docs/html/guide/topics/ui/layout/grid.jd b/docs/html/guide/topics/ui/layout/grid.jd
index 3474f48..31f9b9c 100644
--- a/docs/html/guide/topics/ui/layout/grid.jd
+++ b/docs/html/guide/topics/ui/layout/grid.jd
@@ -32,7 +32,7 @@
 Each row has zero or more cells, each of which is defined by any kind of other View. So, the cells of a row may be
 composed of a variety of View objects, like ImageView or TextView objects.
 A cell may also be a ViewGroup object (for example, you can nest another TableLayout as a cell).</p>
-<p>The following sample layout has two rows and two cells in each. The accompanying screenshot shows the 
+<p>The following sample layout has two rows and two cells in each. The accompanying screenshot shows the
 result, with cell borders displayed as dotted lines (added for visual effect). </p>
 
 <table class="columns">
@@ -71,7 +71,7 @@
 
 <p>Columns can be hidden, marked to stretch and fill the available screen space,
     or can be marked as shrinkable to force the column to shrink until the table
-    fits the screen. See the {@link android.widget.TableLayout TableLayout reference} 
+    fits the screen. See the {@link android.widget.TableLayout TableLayout reference}
 documentation for more details. </p>
 
 
diff --git a/docs/html/guide/topics/ui/layout/linear.jd b/docs/html/guide/topics/ui/layout/linear.jd
index 7441782..4224d17 100644
--- a/docs/html/guide/topics/ui/layout/linear.jd
+++ b/docs/html/guide/topics/ui/layout/linear.jd
@@ -59,7 +59,7 @@
 >{@code android:layout_weight}</a> attribute.
 This attribute assigns an "importance" value to a view in
 terms of how much space it should occupy on the screen. A larger weight value allows it to expand
-to fill any remaining space in the parent view. 
+to fill any remaining space in the parent view.
 Child views can specify a weight value, and then any remaining space in the view group is
 assigned to children in the proportion of their declared weight. Default
 weight is zero.</p>
diff --git a/docs/html/guide/topics/ui/layout/listview.jd b/docs/html/guide/topics/ui/layout/listview.jd
index 3c6e32c..e6e5578 100644
--- a/docs/html/guide/topics/ui/layout/listview.jd
+++ b/docs/html/guide/topics/ui/layout/listview.jd
@@ -80,7 +80,7 @@
             ContactsContract.Data.DISPLAY_NAME};
 
     // This is the select criteria
-    static final String SELECTION = "((" + 
+    static final String SELECTION = "((" +
             ContactsContract.Data.DISPLAY_NAME + " NOTNULL) AND (" +
             ContactsContract.Data.DISPLAY_NAME + " != '' ))";
 
@@ -105,7 +105,7 @@
 
         // Create an empty adapter we will use to display the loaded data.
         // We pass null for the cursor, then update it in onLoadFinished()
-        mAdapter = new SimpleCursorAdapter(this, 
+        mAdapter = new SimpleCursorAdapter(this,
                 android.R.layout.simple_list_item_1, null,
                 fromColumns, toViews, 0);
         setListAdapter(mAdapter);
@@ -138,7 +138,7 @@
         mAdapter.swapCursor(null);
     }
 
-    &#64;Override 
+    &#64;Override
     public void onListItemClick(ListView l, View v, int position, long id) {
         // Do something when a list item is clicked
     }
diff --git a/docs/html/guide/topics/ui/layout/relative.jd b/docs/html/guide/topics/ui/layout/relative.jd
index ca5cb48..92735ae 100644
--- a/docs/html/guide/topics/ui/layout/relative.jd
+++ b/docs/html/guide/topics/ui/layout/relative.jd
@@ -38,7 +38,7 @@
 views are drawn at the top-left of the layout, so you must define the position of each view
 using the various layout properties available from {@link
 android.widget.RelativeLayout.LayoutParams}.</p>
- 
+
 <p>Some of the many layout properties available to views in a {@link android.widget.RelativeLayout}
 include:</p>
 <dl>
diff --git a/docs/html/guide/topics/ui/menus.jd b/docs/html/guide/topics/ui/menus.jd
index ad2aa9b..73dec209 100644
--- a/docs/html/guide/topics/ui/menus.jd
+++ b/docs/html/guide/topics/ui/menus.jd
@@ -77,9 +77,9 @@
 "Search," "Compose email," and "Settings."
   <p>See the section about <a href="#options-menu">Creating an Options Menu</a>.</p>
     </dd>
-    
+
   <dt><strong>Context menu and contextual action mode</strong></dt>
-  
+
    <dd>A context menu is a <a href="#FloatingContextMenu">floating menu</a> that appears when the
 user performs a long-click on an element. It provides actions that affect the selected content or
 context frame.
@@ -88,7 +88,7 @@
 to select multiple items.</p>
   <p>See the section about <a href="#context-menu">Creating Contextual Menus</a>.</p>
 </dd>
-    
+
   <dt><strong>Popup menu</strong></dt>
     <dd>A popup menu displays a list of items in a vertical list that's anchored to the view that
 invoked the menu. It's good for providing an overflow of actions that relate to specific content or
@@ -130,7 +130,7 @@
   <dt><code>&lt;item></code></dt>
     <dd>Creates a {@link android.view.MenuItem}, which represents a single item in a menu. This
 element may contain a nested <code>&lt;menu></code> element in order to create a submenu.</dd>
-    
+
   <dt><code>&lt;group></code></dt>
     <dd>An optional, invisible container for {@code &lt;item&gt;} elements. It allows you to
 categorize menu items so they share properties such as active state and visibility. For more
@@ -224,7 +224,7 @@
 <em>More</em>.</li>
 
   <li>If you've developed your application for <strong>Android 3.0 (API level 11) and
-higher</strong>, items from the options menu are available in the 
+higher</strong>, items from the options menu are available in the
 app bar. By default, the system
 places all items in the action overflow, which the user can reveal with the action overflow icon on
 the right side of the app bar (or by pressing the device <em>Menu</em> button, if available). To
@@ -343,7 +343,7 @@
 android.app.Activity#onCreateOptionsMenu(Menu) onCreateOptionsMenu()} only to create the initial
 menu state and not to make changes during the activity lifecycle.</p>
 
-<p>If you want to modify the options menu based on 
+<p>If you want to modify the options menu based on
 events that occur during the activity lifecycle, you can do so in
 the {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()} method. This
 method passes you the {@link android.view.Menu} object as it currently exists so you can modify it,
@@ -360,7 +360,7 @@
 call {@link android.app.Activity#invalidateOptionsMenu invalidateOptionsMenu()} to request that the
 system call {@link android.app.Activity#onPrepareOptionsMenu(Menu) onPrepareOptionsMenu()}.</p>
 
-<p class="note"><strong>Note:</strong> 
+<p class="note"><strong>Note:</strong>
 You should never change items in the options menu based on the {@link android.view.View} currently
 in focus. When in touch mode (when the user is not using a trackball or d-pad), views
 cannot take focus, so you should never use focus as the basis for modifying
@@ -738,8 +738,8 @@
 
 <pre>
 &lt;ImageButton
-    android:layout_width="wrap_content" 
-    android:layout_height="wrap_content" 
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
     android:src="@drawable/ic_overflow_holo_dark"
     android:contentDescription="@string/descr_overflow_button"
     android:onClick="showPopup" />
@@ -1023,6 +1023,6 @@
 <p>Read more about writing intent filters in the
 <a href="/guide/components/intents-filters.html">Intents and Intent Filters</a> document.</p>
 
-<p>For a sample application using this technique, see the 
+<p>For a sample application using this technique, see the
 <a href="{@docRoot}resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html">Note
 Pad</a> sample code.</p>
diff --git a/docs/html/guide/topics/ui/notifiers/toasts.jd b/docs/html/guide/topics/ui/notifiers/toasts.jd
index e5d4a0a..d962727 100644
--- a/docs/html/guide/topics/ui/notifiers/toasts.jd
+++ b/docs/html/guide/topics/ui/notifiers/toasts.jd
@@ -2,14 +2,14 @@
 @jd:body
 
 <div id="qv-wrapper">
-  <div id="qv">    
+  <div id="qv">
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
       <li><a href="#Positioning">Positioning your Toast</a></li>
       <li><a href="#CustomToastView">Creating a Custom Toast View</a></li>
     </ol>
-    
+
     <h2>Key classes</h2>
     <ol>
       <li>{@link android.widget.Toast}</li>
@@ -19,14 +19,14 @@
 
 <p>A toast provides simple feedback about an operation in a small popup.
 It only fills the amount of space required for the message and the current
-activity remains visible and interactive. 
-For example, navigating away from an email before you send it triggers a 
-"Draft saved" toast to let you know that you can continue editing later. 
+activity remains visible and interactive.
+For example, navigating away from an email before you send it triggers a
+"Draft saved" toast to let you know that you can continue editing later.
 Toasts automatically disappear after a timeout.</p>
 
 <img src="{@docRoot}images/toast.png" alt="" />
 
-<p>If user response to a status message is required, consider instead using a 
+<p>If user response to a status message is required, consider instead using a
 <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Notification</a>.</p>
 
 
@@ -49,8 +49,8 @@
 </pre>
 
 <p>This example demonstrates everything you need for most toast notifications.
-You should rarely need anything else. You may, however, want to position the 
-toast differently or even use your own layout instead of a simple text message. 
+You should rarely need anything else. You may, however, want to position the
+toast differently or even use your own layout instead of a simple text message.
 The following sections describe how you can do these things.</p>
 
 <p>You can also chain your methods and avoid holding on to the Toast object, like this:</p>
@@ -61,7 +61,7 @@
 
 <p>A standard toast notification appears near the bottom of the screen, centered horizontally.
 You can change this position with the {@link android.widget.Toast#setGravity(int,int,int)}
-method. This accepts three parameters: a {@link android.view.Gravity} constant, 
+method. This accepts three parameters: a {@link android.view.Gravity} constant,
 an x-position offset, and a y-position offset.</p>
 
 <p>For example, if you decide that the toast should appear in the top-left corner, you can set the
@@ -70,7 +70,7 @@
 toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
 </pre>
 
-<p>If you want to nudge the position to the right, increase the value of the second parameter. 
+<p>If you want to nudge the position to the right, increase the value of the second parameter.
 To nudge it down, increase the value of the last parameter.
 
 
@@ -103,7 +103,7 @@
               android:textColor="#FFF"
               />
 &lt;/LinearLayout>
-</pre> 
+</pre>
 
 <p>Notice that the ID of the LinearLayout element is "toast_layout_root". You must use this
 ID to inflate the layout from the XML, as shown here:</p>
@@ -123,21 +123,21 @@
 toast.show();
 </pre>
 
-<p>First, retrieve the {@link android.view.LayoutInflater} with 
-{@link android.app.Activity#getLayoutInflater()} 
+<p>First, retrieve the {@link android.view.LayoutInflater} with
+{@link android.app.Activity#getLayoutInflater()}
 (or {@link android.content.Context#getSystemService(String) getSystemService()}),
-and then inflate the layout from XML using 
+and then inflate the layout from XML using
 {@link android.view.LayoutInflater#inflate(int, ViewGroup)}. The first parameter
 is the layout resource ID and the second is the root View. You can use
-this inflated layout to find more View objects in the layout, so now capture and 
+this inflated layout to find more View objects in the layout, so now capture and
 define the content for the ImageView and TextView elements. Finally, create
 a new Toast with {@link android.widget.Toast#Toast(Context)} and set some properties
 of the toast, such as the gravity and duration. Then call
 {@link android.widget.Toast#setView(View)} and pass it the inflated layout.
-You can now display the toast with your custom layout by calling 
+You can now display the toast with your custom layout by calling
 {@link android.widget.Toast#show()}.</p>
 
-<p class="note"><strong>Note:</strong> Do not use the public constructor for a Toast 
+<p class="note"><strong>Note:</strong> Do not use the public constructor for a Toast
 unless you are going to define the layout with {@link android.widget.Toast#setView(View)}.
 If you do not have a custom layout to use, you must use
 {@link android.widget.Toast#makeText(Context,int,int)} to create the Toast.</p>
diff --git a/docs/html/guide/topics/ui/overview.jd b/docs/html/guide/topics/ui/overview.jd
index 85c5756..f323d6c 100644
--- a/docs/html/guide/topics/ui/overview.jd
+++ b/docs/html/guide/topics/ui/overview.jd
@@ -39,7 +39,7 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="fill_parent" 
+              android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:orientation="vertical" >
     &lt;TextView android:id="@+id/text"
@@ -60,7 +60,7 @@
 <p>For a complete guide to creating a UI layout, see <a href="declaring-layout.html">XML
 Layouts</a>.
 
-  
+
 <h2 id="UIComponents">User Interface Components</h2>
 
 <p>You don't have to build all of your UI using {@link android.view.View} and {@link
diff --git a/docs/html/guide/topics/ui/settings.jd b/docs/html/guide/topics/ui/settings.jd
index 243c1c3..9e304a3 100644
--- a/docs/html/guide/topics/ui/settings.jd
+++ b/docs/html/guide/topics/ui/settings.jd
@@ -84,7 +84,7 @@
 
 <img src="{@docRoot}images/ui/settings/settings.png" alt="" width="435" />
 <p class="img-caption"><strong>Figure 1.</strong> Screenshots from the Android Messaging app's
-settings. Selecting an item defined by a {@link android.preference.Preference} 
+settings. Selecting an item defined by a {@link android.preference.Preference}
 opens an interface to change the setting.</p>
 
 
@@ -230,7 +230,7 @@
   <dt>{@code android:key}</dt>
   <dd>This attribute is required for preferences that persist a data value. It specifies the unique
 key (a string) the system uses when saving this setting's value in the {@link
-android.content.SharedPreferences}. 
+android.content.SharedPreferences}.
   <p>The only instances in which this attribute is <em>not required</em> is when the preference is a
 {@link android.preference.PreferenceCategory} or {@link android.preference.PreferenceScreen}, or the
 preference specifies an {@link android.content.Intent} to invoke (with an <a
@@ -291,7 +291,7 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;PreferenceCategory 
+    &lt;PreferenceCategory
         android:title="&#64;string/pref_sms_storage_title"
         android:key="pref_key_storage_settings">
         &lt;CheckBoxPreference
@@ -299,12 +299,12 @@
             android:summary="&#64;string/pref_summary_auto_delete"
             android:title="&#64;string/pref_title_auto_delete"
             android:defaultValue="false"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_sms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
             android:title="&#64;string/pref_title_sms_delete"... />
-        &lt;Preference 
+        &lt;Preference
             android:key="pref_key_mms_delete_limit"
             android:dependency="pref_key_auto_delete"
             android:summary="&#64;string/pref_summary_delete_limit"
@@ -594,11 +594,11 @@
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
@@ -678,15 +678,15 @@
 load.</p>
 
 <p>For example, here's an XML file for preference headers that is used on Android 3.0
-and higher ({@code res/xml/preference_headers.xml}):</p> 
+and higher ({@code res/xml/preference_headers.xml}):</p>
 
 <pre>
 &lt;preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentOne"
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one" />
-    &lt;header 
+    &lt;header
         android:fragment="com.example.prefs.SettingsFragmentTwo"
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" />
@@ -698,18 +698,18 @@
 
 <pre>
 &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_one"
         android:summary="@string/prefs_summ_category_one"  >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_ONE" />
     &lt;/Preference>
-    &lt;Preference 
+    &lt;Preference
         android:title="@string/prefs_category_two"
         android:summary="@string/prefs_summ_category_two" >
-        &lt;intent 
+        &lt;intent
             android:targetPackage="com.example.prefs"
             android:targetClass="com.example.prefs.SettingsActivity"
             android:action="com.example.prefs.PREFS_TWO" />
@@ -982,11 +982,11 @@
 public class NumberPickerPreference extends DialogPreference {
     public NumberPickerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        
+
         setDialogLayoutResource(R.layout.numberpicker_dialog);
         setPositiveButtonText(android.R.string.ok);
         setNegativeButtonText(android.R.string.cancel);
-        
+
         setDialogIcon(null);
     }
     ...
@@ -1201,7 +1201,7 @@
     // Cast state to custom BaseSavedState and pass to superclass
     SavedState myState = (SavedState) state;
     super.onRestoreInstanceState(myState.getSuperState());
-    
+
     // Set this Preference's widget to reflect the restored state
     mNumberPicker.setValue(myState.value);
 }
diff --git a/docs/html/guide/topics/ui/themes.jd b/docs/html/guide/topics/ui/themes.jd
index f932dbd..436b789 100644
--- a/docs/html/guide/topics/ui/themes.jd
+++ b/docs/html/guide/topics/ui/themes.jd
@@ -177,7 +177,7 @@
 <p>The best place to find properties that apply to a specific {@link android.view.View} is the
 corresponding class reference, which lists all of the supported XML attributes. For example, all of the
 attributes listed in the table of
-<a href="{@docRoot}reference/android/widget/TextView.html#lattrs">TextView XML 
+<a href="{@docRoot}reference/android/widget/TextView.html#lattrs">TextView XML
 attributes</a> can be used in a style definition for a {@link android.widget.TextView} element (or one of
 its subclasses). One of the attributes listed in the reference is <a
 href="{@docRoot}reference/android/widget/TextView.html#attr_android:inputType">{@code
@@ -279,14 +279,14 @@
 <h3 id="ApplyATheme">Apply a theme to an Activity or application</h3>
 
 <p>To set a theme for all the activities of your application, open the {@code AndroidManifest.xml} file and
-edit the <code>&lt;application></code> tag to include the <code>android:theme</code> attribute with the 
+edit the <code>&lt;application></code> tag to include the <code>android:theme</code> attribute with the
 style name. For example:</p>
 
 <pre>
 &lt;application android:theme="@style/CustomTheme">
 </pre>
 
-<p>If you want a theme applied to just one Activity in your application, then add the 
+<p>If you want a theme applied to just one Activity in your application, then add the
 <code>android:theme</code> attribute to the <code>&lt;activity></code> tag instead.</p>
 
 <p>Just as Android provides other built-in resources, there are many pre-defined themes that you can use, to avoid
@@ -374,9 +374,9 @@
 for you to change your theme programatically (perhaps based on a user preference), you can.</p>
 
 <p>To set the theme in your program code, use the {@link android.content.ContextWrapper#setTheme(int)}
-method and pass it the theme resource ID. Note that, when doing so, you must be sure to set the theme <em>before</em> 
-instantiating any Views in the context, for example, before calling 
-<code>setContentView(View)</code> or <code>inflate(int, ViewGroup)</code>. This ensures that 
+method and pass it the theme resource ID. Note that, when doing so, you must be sure to set the theme <em>before</em>
+instantiating any Views in the context, for example, before calling
+<code>setContentView(View)</code> or <code>inflate(int, ViewGroup)</code>. This ensures that
 the system applies the same theme for all of your UI screens. Here's an example:</p>
 
 <pre>
@@ -391,7 +391,7 @@
 <p>If you are considering loading a theme programmatically for the main
 screen of your application, note that the theme would not be applied
 in any animations the system would use to start the activity, which
-would take place before your application opens. In most cases, if 
+would take place before your application opens. In most cases, if
 you want to apply a theme to your main screen, doing so in XML
  is a better approach. </p>
 
diff --git a/docs/html/guide/topics/ui/ui-events.jd b/docs/html/guide/topics/ui/ui-events.jd
index 6d41b15..7dd24a4 100644
--- a/docs/html/guide/topics/ui/ui-events.jd
+++ b/docs/html/guide/topics/ui/ui-events.jd
@@ -20,8 +20,8 @@
 When considering events within your user interface, the approach is to capture the events from
 the specific View object that the user interacts with. The View class provides the means to do so.</p>
 
-<p>Within the various View classes that you'll use to compose your layout, you may notice several public callback 
-methods that look useful for UI events. These methods are called by the Android framework when the 
+<p>Within the various View classes that you'll use to compose your layout, you may notice several public callback
+methods that look useful for UI events. These methods are called by the Android framework when the
 respective action occurs on that object. For instance, when a View (such as a Button) is touched,
 the <code>onTouchEvent()</code> method is called on that object. However, in order to intercept this, you must extend
 the class and override the method. However, extending every View object
@@ -30,7 +30,7 @@
 called <a href="#EventListeners">event listeners</a>, are your ticket to capturing the user interaction with your UI.</p>
 
 <p>While you will more commonly use the event listeners to listen for user interaction, there may
-come a time when you do want to extend a View class, in order to build a custom component. 
+come a time when you do want to extend a View class, in order to build a custom component.
 Perhaps you want to extend the {@link android.widget.Button}
 class to make something more fancy. In this case, you'll be able to define the default event behaviors for your
 class using the class <a href="#EventHandlers">event handlers</a>.</p>
@@ -38,7 +38,7 @@
 
 <h2 id="EventListeners">Event Listeners</h2>
 
-<p>An event listener is an interface in the {@link android.view.View} class that contains a single 
+<p>An event listener is an interface in the {@link android.view.View} class that contains a single
 callback method. These methods will be called by the Android framework when the View to which the listener has
 been registered is triggered by user interaction with the item in the UI.</p>
 
@@ -46,27 +46,27 @@
 
 <dl>
   <dt><code>onClick()</code></dt>
-    <dd>From {@link android.view.View.OnClickListener}. 
-    This is called when the user either touches the item 
+    <dd>From {@link android.view.View.OnClickListener}.
+    This is called when the user either touches the item
     (when in touch mode), or focuses upon the item with the navigation-keys or trackball and
     presses the suitable "enter" key or presses down on the trackball.</dd>
   <dt><code>onLongClick()</code></dt>
-    <dd>From {@link android.view.View.OnLongClickListener}. 
-    This is called when the user either touches and holds the item (when in touch mode), or 
+    <dd>From {@link android.view.View.OnLongClickListener}.
+    This is called when the user either touches and holds the item (when in touch mode), or
     focuses upon the item with the navigation-keys or trackball and
     presses and holds the suitable "enter" key or presses and holds down on the trackball (for one second).</dd>
   <dt><code>onFocusChange()</code></dt>
-    <dd>From {@link android.view.View.OnFocusChangeListener}. 
+    <dd>From {@link android.view.View.OnFocusChangeListener}.
     This is called when the user navigates onto or away from the item, using the navigation-keys or trackball.</dd>
   <dt><code>onKey()</code></dt>
-    <dd>From {@link android.view.View.OnKeyListener}. 
+    <dd>From {@link android.view.View.OnKeyListener}.
     This is called when the user is focused on the item and presses or releases a hardware key on the device.</dd>
   <dt><code>onTouch()</code></dt>
-    <dd>From {@link android.view.View.OnTouchListener}. 
+    <dd>From {@link android.view.View.OnTouchListener}.
     This is called when the user performs an action qualified as a touch event, including a press, a release,
     or any movement gesture on the screen (within the bounds of the item).</dd>
   <dt><code>onCreateContextMenu()</code></dt>
-    <dd>From {@link android.view.View.OnCreateContextMenuListener}. 
+    <dd>From {@link android.view.View.OnCreateContextMenuListener}.
     This is called when a Context Menu is being built (as the result of a sustained "long click"). See the discussion
     on context menus in the <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menus</a>
     developer guide.</dd>
@@ -75,8 +75,8 @@
 <p>These methods are the sole inhabitants of their respective interface. To define one of these methods
 and handle your events, implement the nested interface in your Activity or define it as an anonymous class.
 Then, pass an instance of your implementation
-to the respective <code>View.set...Listener()</code> method. (E.g., call 
-<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code> 
+to the respective <code>View.set...Listener()</code> method. (E.g., call
+<code>{@link android.view.View#setOnClickListener(View.OnClickListener) setOnClickListener()}</code>
 and pass it your implementation of the {@link android.view.View.OnClickListener OnClickListener}.)</p>
 
 <p>The example below shows how to register an on-click listener for a Button. </p>
@@ -121,17 +121,17 @@
 no return value, but some other event listener methods must return a boolean. The reason
 depends on the event. For the few that do, here's why:</p>
 <ul>
-  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> - 
-    This returns a boolean to indicate whether you have consumed the event and it should not be carried further. 
-    That is, return <em>true</em> to indicate that you have handled the event and it should stop here; 
+  <li><code>{@link android.view.View.OnLongClickListener#onLongClick(View) onLongClick()}</code> -
+    This returns a boolean to indicate whether you have consumed the event and it should not be carried further.
+    That is, return <em>true</em> to indicate that you have handled the event and it should stop here;
     return <em>false</em> if you have not handled it and/or the event should continue to any other
     on-click listeners.</li>
-  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> - 
+  <li><code>{@link android.view.View.OnKeyListener#onKey(View,int,KeyEvent) onKey()}</code> -
     This returns a boolean to indicate whether you have consumed the event and it should not be carried further.
-    That is, return <em>true</em> to indicate that you have handled the event and it should stop here; 
+    That is, return <em>true</em> to indicate that you have handled the event and it should stop here;
     return <em>false</em> if you have not handled it and/or the event should continue to any other
     on-key listeners.</li>
-  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> - 
+  <li><code>{@link android.view.View.OnTouchListener#onTouch(View,MotionEvent) onTouch()}</code> -
     This returns a boolean to indicate whether your listener consumes this event. The important thing is that
     this event can have multiple actions that follow each other. So, if you return <em>false</em> when the
     down action event is received, you indicate that you have not consumed the event and are also
@@ -142,7 +142,7 @@
 <p>Remember that hardware key events are always delivered to the View currently in focus. They are dispatched starting from the top
 of the View hierarchy, and then down, until they reach the appropriate destination. If your View (or a child of your View)
 currently has focus, then you can see the event travel through the <code>{@link android.view.View#dispatchKeyEvent(KeyEvent)
-dispatchKeyEvent()}</code> method. As an alternative to capturing key events through your View, you can also receive 
+dispatchKeyEvent()}</code> method. As an alternative to capturing key events through your View, you can also receive
 all of the events inside your Activity with <code>{@link android.app.Activity#onKeyDown(int,KeyEvent) onKeyDown()}</code>
 and <code>{@link android.app.Activity#onKeyUp(int,KeyEvent) onKeyUp()}</code>.</p>
 
@@ -176,19 +176,19 @@
   <li><code>{@link  android.view.View#onTouchEvent}</code> - Called when a touch screen motion event occurs.</li>
   <li><code>{@link  android.view.View#onFocusChanged}</code> - Called when the view gains or loses focus.</li>
 </ul>
-<p>There are some other methods that you should be aware of, which are not part of the View class, 
-but can directly impact the way you're able to handle events. So, when managing more complex events inside 
+<p>There are some other methods that you should be aware of, which are not part of the View class,
+but can directly impact the way you're able to handle events. So, when managing more complex events inside
 a layout, consider these other methods:</p>
 <ul>
   <li><code>{@link  android.app.Activity#dispatchTouchEvent(MotionEvent)
-    Activity.dispatchTouchEvent(MotionEvent)}</code> - This allows your {@link 
+    Activity.dispatchTouchEvent(MotionEvent)}</code> - This allows your {@link
     android.app.Activity} to intercept all touch events before they are dispatched to the window.</li>
   <li><code>{@link  android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)
     ViewGroup.onInterceptTouchEvent(MotionEvent)}</code> - This allows a {@link
     android.view.ViewGroup} to watch events as they are dispatched to child Views.</li>
   <li><code>{@link  android.view.ViewParent#requestDisallowInterceptTouchEvent(boolean)
     ViewParent.requestDisallowInterceptTouchEvent(boolean)}</code> - Call this
-    upon a parent View to indicate that it should not intercept touch events with <code>{@link 
+    upon a parent View to indicate that it should not intercept touch events with <code>{@link
     android.view.ViewGroup#onInterceptTouchEvent(MotionEvent)}</code>.</li>
 </ul>
 
@@ -199,7 +199,7 @@
 what will accept input.  If the device has touch capabilities, however, and the user
 begins interacting with the interface by touching it, then it is no longer necessary to
 highlight items, or give focus to a particular View.  Thus, there is a mode
-for interaction named "touch mode." 
+for interaction named "touch mode."
 </p>
 <p>
 For a touch-capable device, once the user touches the screen, the device
@@ -214,7 +214,7 @@
 with the user interface without touching the screen.
 </p>
 <p>
-The touch mode state is maintained throughout the entire system (all windows and activities). 
+The touch mode state is maintained throughout the entire system (all windows and activities).
 To query the current state, you can call
 {@link android.view.View#isInTouchMode} to see whether the device is currently in touch mode.
 </p>
@@ -254,10 +254,10 @@
 
 <p>Ordinarily, in this vertical layout, navigating up from the first Button would not go
 anywhere, nor would navigating down from the second Button. Now that the top Button has
-defined the bottom one as the <var>nextFocusUp</var> (and vice versa), the navigation focus will 
+defined the bottom one as the <var>nextFocusUp</var> (and vice versa), the navigation focus will
 cycle from top-to-bottom and bottom-to-top.</p>
 
-<p>If you'd like to declare a View as focusable in your UI (when it is traditionally not), 
+<p>If you'd like to declare a View as focusable in your UI (when it is traditionally not),
 add the <code>android:focusable</code> XML attribute to the View, in your layout declaration.
 Set the value <var>true</var>. You can also declare a View
 as focusable while in Touch Mode with <code>android:focusableInTouchMode</code>.</p>
@@ -282,7 +282,7 @@
     the framework will take care of measuring, laying out, and drawing the tree
     as appropriate.</li>
    </ol>
-   
+
    <p class="note"><strong>Note:</strong> The entire View tree is single threaded. You must always be on
    the UI thread when calling any method on any View.
    If you are doing work on other threads and want to update the state of a View
diff --git a/docs/html/guide/webapps/debugging.jd b/docs/html/guide/webapps/debugging.jd
index a74797d..9e8e113 100755
--- a/docs/html/guide/webapps/debugging.jd
+++ b/docs/html/guide/webapps/debugging.jd
@@ -92,7 +92,7 @@
 <h2 id="WebView">Using Console APIs in WebView</h2>
 
 <p>All the console APIs shown above are also
-supported when debugging in {@link android.webkit.WebView}. 
+supported when debugging in {@link android.webkit.WebView}.
 If you're targeting Android 2.1 (API level 7) and higher, you must
 provide a {@link android.webkit.WebChromeClient}
 that implements the {@link android.webkit.WebChromeClient#onConsoleMessage(String,int,String)
diff --git a/docs/html/guide/webapps/targeting.jd b/docs/html/guide/webapps/targeting.jd
index 4a2ea17..10259b1 100644
--- a/docs/html/guide/webapps/targeting.jd
+++ b/docs/html/guide/webapps/targeting.jd
@@ -108,7 +108,7 @@
 
 
 <p>When optimizing your site for mobile devices, you should usually set the width to
-{@code "device-width"} so the size fits exactly on all devices, then use CSS media queries to 
+{@code "device-width"} so the size fits exactly on all devices, then use CSS media queries to
 flexibly adapt layouts to suit different screen sizes.
 
 <p class="note"><strong>Note:</strong> You should disable user scaling only when you're certain
diff --git a/docs/html/license.jd b/docs/html/license.jd
index 4f4036b..e843c6b 100644
--- a/docs/html/license.jd
+++ b/docs/html/license.jd
@@ -9,7 +9,7 @@
 <p>For the purposes of licensing, the content of this web site is divided
 into two categories:</p>
 <ul>
-  <li>Documentation content, including both static documentation and content extracted from source 
+  <li>Documentation content, including both static documentation and content extracted from source
   code modules, as well as sample code, and </li>
 <li>All other site content</li>
 </ul>
@@ -66,7 +66,7 @@
 license, note that proprietary trademarks and brand features are not
 included in that license.</li>
 
-<li>Google's trademarks and other brand features (including the 	
+<li>Google's trademarks and other brand features (including the
 <img src="images/android-logo.png" alt="Android"
 style="margin:0;padding:0 2px;vertical-align:baseline" /> stylized typeface logo) are not included
 in the license.
@@ -74,7 +74,7 @@
 href="{@docRoot}distribute/tools/promote/brand.html">Brand Guidelines</a> for
 information about this usage. </li>
 
-<li>In some cases, a page may include content, such as an image, that is not 
+<li>In some cases, a page may include content, such as an image, that is not
 covered by the license. In that case, we will label the content that is not licensed. </li>
 
 <li>In addition, content linked from a page on this site is not covered
@@ -92,22 +92,22 @@
 versions of content that appears on a page made available under the
 terms of the Creative Commons Attribution license. On this site, the
 requirement for attribution applies only to the non-documentation
-content, as described earlier in this document. The complete 
-requirements for attribution can be found in section 4b of the 
+content, as described earlier in this document. The complete
+requirements for attribution can be found in section 4b of the
 <a href="http://creativecommons.org/licenses/by/2.5/legalcode">
 Creative Commons legal code</a>.
 </p>
 <p>
  In practice we ask that you provide attribution to the Android Open
- Source project to the best of the ability of the medium in which you 
- are producing the work. There are several typical ways in which this 
+ Source project to the best of the ability of the medium in which you
+ are producing the work. There are several typical ways in which this
  might apply:
 </p>
 <h3>Exact Reproductions</h3>
 <p>
  If your online work <em>exactly reproduces</em> text or images from this
  site, in whole or in part, please include a paragraph at the bottom
- of your page that reads: 
+ of your page that reads:
 </p>
 <p style="margin-left:20px;font-style:italic">
  Portions of this page are reproduced from work created and <a
diff --git a/docs/html/samples/index.jd b/docs/html/samples/index.jd
index 5885086..240a54c 100644
--- a/docs/html/samples/index.jd
+++ b/docs/html/samples/index.jd
@@ -35,7 +35,7 @@
   from GitHub as a new project.
 </p>
 
-<p>To view the Android code samples that you can import, see the 
+<p>To view the Android code samples that you can import, see the
 <a class="external-link" href="https://github.com/googlesamples/">Google Samples page</a> on GitHub.</p>
 
 <h2>Download Samples</h2>
@@ -69,6 +69,6 @@
 
 <p class="note">
   <strong>Note:</strong> At this time, the downloadable projects are designed for use with Gradle
-    and Android Studio. 
+    and Android Studio.
 </p>
 
diff --git a/docs/html/sdk/OLD_RELEASENOTES.jd b/docs/html/sdk/OLD_RELEASENOTES.jd
index b7fd12f..dfbeaeb 100644
--- a/docs/html/sdk/OLD_RELEASENOTES.jd
+++ b/docs/html/sdk/OLD_RELEASENOTES.jd
@@ -14,7 +14,7 @@
 <a name="0.9_r1" id="0.9_r1"></a>
 <h2>Android 0.9 SDK Beta (r1)</h2>
 
-<p>This beta SDK release contains a large number of bug fixes and improvements from the early-look SDKs.&nbsp; 
+<p>This beta SDK release contains a large number of bug fixes and improvements from the early-look SDKs.&nbsp;
 The sections below describe the highlights of the release.
 
 <h3>New Features and Notable Changes</h3>
@@ -109,7 +109,7 @@
 </ul>
 
 <p>Known issues/limitations for Graphical Layout Editor include:</p>
-	
+
 		<ul>
 			<li>Font display is very close but not equals to on-device rendering since the font engine in Java slightly differs from the font engine in Android. This should not have any impact on your layouts.
 			</li>
@@ -123,7 +123,7 @@
 			</li>
 			<li>No support for WebView, MapView and SurfaceView.
 			</li>
-			<li>No UI support for &lt;merge&gt;, &lt;include&gt;, &lt;ViewStub&gt; elements. You can add these elements to your manifest using the xml editor only. 
+			<li>No UI support for &lt;merge&gt;, &lt;include&gt;, &lt;ViewStub&gt; elements. You can add these elements to your manifest using the xml editor only.
 			</li>
 			<li>If a layout fails to render in a way that prevents the whole editor from opening, you can:
 
@@ -221,7 +221,7 @@
 	</li>
 	<li>The DDMS utility has been refactored into library form. This is not of direct interest to application developers, but may be of interest to vendors interested in integrating the Android SDK into their products. Watch for more information about the ddmlib library soon.
 	</li>
-	<li>For performance and maintainability reasons, some APIs were moved into separate modules that must be explicitly included in the application via a directive in AndroidManifest.xml.&nbsp; Notable APIs that fall into this category are the MapView, and the java.awt.* classes, which each now reside in separate modules that must be imported.&nbsp; Developers who overlook this requirement will see ClassNotFoundExceptions that seem spurious. 
+	<li>For performance and maintainability reasons, some APIs were moved into separate modules that must be explicitly included in the application via a directive in AndroidManifest.xml.&nbsp; Notable APIs that fall into this category are the MapView, and the java.awt.* classes, which each now reside in separate modules that must be imported.&nbsp; Developers who overlook this requirement will see ClassNotFoundExceptions that seem spurious.
 	</li>
 	<li>Developers who use 'adb push' to install applications must now use 'adb install', since the full package manager is now implemented. 'adb push' will no longer work to install .apk files.
 	</li>
@@ -386,14 +386,14 @@
 
 <h4>Emulator Console</h4>
 <ul>
-<li>Now provides support for emulating inbound SMS messages. The ADT plugin and DDMS provide integrated access to 
-this capability. For more information about how to emulate inbound SMS from the console, 
+<li>Now provides support for emulating inbound SMS messages. The ADT plugin and DDMS provide integrated access to
+this capability. For more information about how to emulate inbound SMS from the console,
 see <a href="{@docRoot}tools/help/emulator.html#sms">SMS Emulation</a>. </li>
 </ul>
 
 <h4>Emulator</h4>
-<ul><li>The default emulator skin has been changed to HVGA-P from QVGA-L. For information 
-about emulator skins and how to load a specific skin when starting the emulator, see 
+<ul><li>The default emulator skin has been changed to HVGA-P from QVGA-L. For information
+about emulator skins and how to load a specific skin when starting the emulator, see
 <a href="{@docRoot}tools/help/emulator.html#skins">Using Emulator Skins</a>.</li>
 </ul>
 
diff --git a/docs/html/sdk/RELEASENOTES.jd b/docs/html/sdk/RELEASENOTES.jd
index 8f124a5..d9df406 100644
--- a/docs/html/sdk/RELEASENOTES.jd
+++ b/docs/html/sdk/RELEASENOTES.jd
@@ -64,13 +64,13 @@
     <li>Emulator support for multiple screen sizes/densities, including new
 skins. </li>
     <li>Android SDK and AVD Manager, a graphical UI to let you manage your
-SDK and AVD environments more easily. The tool lets you create and manage 
+SDK and AVD environments more easily. The tool lets you create and manage
 your <a href="{@docRoot}tools/devices/managing-avds.html">Android Virtual
-Devices</a> and download new SDK packages (such as platform versions and 
+Devices</a> and download new SDK packages (such as platform versions and
 add-ons) into your environment.</li>
     <li>Improved support for test packages in New Project Wizard</li>
-    <li>The reference documentation now offers a "Filter by API Level" 
-capability that lets you display only the parts of the API that are actually 
+    <li>The reference documentation now offers a "Filter by API Level"
+capability that lets you display only the parts of the API that are actually
 available to your application, based on the <code>android:minSdkVersion</code>
 value the application declares in its manifest. For more information, see
 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a></li>
@@ -114,7 +114,7 @@
 
 <h3>Android SDK and AVD Manager</h3>
 
-<p>The SDK offers a new tool called Android SDK and AVD Manager that lets you 
+<p>The SDK offers a new tool called Android SDK and AVD Manager that lets you
 manage your SDK and AVD environments more efficiently. </p>
 
 <p>Using the tool, you can quickly check what Android platforms, add-ons,
@@ -129,15 +129,15 @@
 <p>The tool also lets you quickly create new AVDs, manage
 their properties, and run a target AVD from a single window. </p>
 
-<p>If you are developing in Eclipse with ADT, you can access the Android SDK 
+<p>If you are developing in Eclipse with ADT, you can access the Android SDK
 and AVD Manager from the <strong>Window</strong> menu. </p>
 
-<p>If you are developing in another IDE, you can access the Android SDK and 
+<p>If you are developing in another IDE, you can access the Android SDK and
 AVD Manager through the <code>android</code> command-line tool, located in the
 &lt;sdk&gt;/tools directory. You can launch the tool with a graphical UI by
 using the <code>android</code> command without specifying any options. You can
 also simply double-click the android.bat (Windows) or android (OS X/Linux) file.
-You can still use <code>android</code> commands to create and manage AVDs, 
+You can still use <code>android</code> commands to create and manage AVDs,
 including AVDs with custom hardware configurations.</p>
 
 <h3>Integration with zipalign</h3>
@@ -160,9 +160,9 @@
   <li>If you are developing in Eclipse with ADT, support for
 <code>zipalign</code> is integrated into the Export Wizard. When you use the
 Wizard to export a signed application package, ADT signs and then automatically
-runs <code>zipalign</code> against the exported package. If you use the Wizard 
-to export an unsigned application package, then it will not zipalign the 
-package because zipalign must be performed only after the APK has been signed. 
+runs <code>zipalign</code> against the exported package. If you use the Wizard
+to export an unsigned application package, then it will not zipalign the
+package because zipalign must be performed only after the APK has been signed.
 You must manually sign and zipalign the package after export. </li>
   <li>If you are developing using Ant and are compiling in release mode, the
 build tools will automatically sign and then <code>zipalign</code> the
@@ -182,14 +182,14 @@
 <h3>Support for Test Packages in New Project Wizard</h3>
 
 <p>The New Project Wizard available in the ADT 0.9.3 now lets you add a test
-package containing Instrumentation or other classes of tests while you are 
+package containing Instrumentation or other classes of tests while you are
 creating or importing a new Android application project. </p>
 
 <h3>New USB Driver for Windows</h3>
 
 <p>If you are using Windows and want to develop or test your application on an
 Android-powered device (such as the T-Mobile G1), you need an appropriate USB
-driver. 
+driver.
 
 <p>The Windows version of the Android 1.6 SDK includes a new, WinUSB-based
 driver that you can install. The driver is compatible with both 32- and 64-bit
@@ -241,19 +241,19 @@
 <h2 id="1.5_r3">Android 1.5 SDK, Release 3</h2>
 
 <p>Provides an updated Android 1.5 system image that includes permissions
-fixes, as described below, and a new application &mdash; an IME for Japanese 
-text input. Also provides the same set of developer tools included in the 
+fixes, as described below, and a new application &mdash; an IME for Japanese
+text input. Also provides the same set of developer tools included in the
 previous SDK, but with bug fixes and several new features.</p>
 
 <h3>Permissions Fixes</h3>
 
-<p>The latest version of the Android platform, deployable to 
+<p>The latest version of the Android platform, deployable to
 Android-powered devices, includes fixes to the permissions-checking
 in certain areas of the framework. Specifically, the Android system
 now properly checks and enforces several existing permissions where it
-did not do so in the previous release. Because of these changes in 
-enforcement, you are strongly encouraged to test your application 
-against the new Android 1.5 system image included in this SDK, to ensure 
+did not do so in the previous release. Because of these changes in
+enforcement, you are strongly encouraged to test your application
+against the new Android 1.5 system image included in this SDK, to ensure
 that it functions normally. </p>
 
 <p>In particular, if your application uses any of the system areas listed below,
@@ -292,14 +292,14 @@
 href="http://code.google.com/android/add-ons/google-apis">http://code.google.com/android/add-ons/google-apis</a> </p></li>
 
 <li>The SDK add-on architecture now lets device manufacturers specify a USB
-Vendor ID in their add-ons. 
+Vendor ID in their add-ons.
 <li>The <code>android</code> tool provides a new command that scans SDK add-ons
 for their USB Vendor IDs and makes them available to adb (OS X and Linux
 versions of the SDK only). The command is  <code>android update adb</code>. On
 Windows versions of the SDK, a custom USB driver is included that supports the
 "Google" and "HTC" Vendor IDs, which allow adb to recognize G1 and HTC
-Magic devices. For other devices, contact the device manufacturer 
-to obtain a USB driver, especially if you have an SDK add-on that defines 
+Magic devices. For other devices, contact the device manufacturer
+to obtain a USB driver, especially if you have an SDK add-on that defines
 a new USB Vendor ID.</li>
 <li>The telephony, sensor, and geo fix issues in the emulator are now
 fixed.</li>
@@ -329,12 +329,12 @@
   <ul>
     <li>Multiple versions of the Android platform are included (Android 1.1,
 Android 1.5). The tools are updated to let you deploy your application
-on any platform in the SDK, which helps you ensure forward-compatibility and, 
+on any platform in the SDK, which helps you ensure forward-compatibility and,
 if applicable, backward-compatibility.</li>
     <li>Introduces <a href="{@docRoot}tools/devices/managing-avds.html">Android
 Virtual Devices</a> &mdash; (AVD) configurations of options that you
 run in the emulator to better model actual devices. Each AVD gets its
-own dedicated storage area, making it much easier to work with multiple emulators 
+own dedicated storage area, making it much easier to work with multiple emulators
 that are running concurrently.</li>
     <li>Support for SDK add-ons, which extend the
 Android SDK to give you access to one or more external Android libraries and/or
@@ -383,13 +383,13 @@
 includes an external library, a system image, as well as custom emulator skins
 and system properties. The add-on differs in that the Android platform it
 provides may include customized UI, resources, or behaviors, a different set of
-preinstalled applications, or other similar modifications. 
+preinstalled applications, or other similar modifications.
 
 <p>The SDK includes a single SDK add-on &mdash; the Google APIs add-on. The
 Google APIs add-on gives your application access to the com.google.android.maps
-external library that is included on many (if not most) Android-powered devices. 
+external library that is included on many (if not most) Android-powered devices.
 The Google APIs add-on also includes a {@link android.location.Geocoder Geocoder}
-backend service implementation. For more information, see the "Maps External 
+backend service implementation. For more information, see the "Maps External
 Library" section below. </p>
 
 <h3>Android Virtual Devices (AVDs)</h3>
@@ -401,7 +401,7 @@
 <li>Targets that represent core Android platform versions. </li>
 <li>Targets that are SDK add-ons, which typically provide application access to
 one or more external libraries and/or a customized (but compliant) system image
-that can run in the emulator. 
+that can run in the emulator.
 </ul>
 
 <p>A new tool called "android" lets you discover what targets and AVDs are
@@ -427,7 +427,7 @@
 
 <p>For your convenience, the Google APIs add-on is included in the SDK. </p>
 
-<p>For information about how to register for a Maps API Key, see 
+<p>For information about how to register for a Maps API Key, see
 <a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">
 Obtaining a Maps API Key</a>.</p>
 
@@ -566,8 +566,8 @@
 for authentication to the server.</p>
 
 <p>Developers should note that the registration service for MapView is now
-active and Google Maps is actively enforcing the Maps API Key requirement. 
-For information about how to register for a Maps API Key, see 
+active and Google Maps is actively enforcing the Maps API Key requirement.
+For information about how to register for a Maps API Key, see
 <a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">
 Obtaining a Maps API Key</a>.</p>
 
@@ -615,21 +615,21 @@
 <li>In some cases, you may encounter problems when using the browser on an
 emulator started with the command-line option <code>-http-proxy</code>. </li>
 <li>On the OSX platform, if you manually remove the ~/.android directory
-using <code>rm -rf ~/.android</code>, then try to run 
-the emulator, it crashes. This happens because the emulator fails to create 
+using <code>rm -rf ~/.android</code>, then try to run
+the emulator, it crashes. This happens because the emulator fails to create
 a new .android directory before attempting to create the child SDK1.0 directory.
 To work around this issue, manually create a new .android directory using
-<code>mkdir ~/.android</code>, then run the emulator. The emulator 
+<code>mkdir ~/.android</code>, then run the emulator. The emulator
 creates the SDK1.0 directory and starts normally. </li>
-<li>We regret to inform developers that Android 1.1 will not include support 
+<li>We regret to inform developers that Android 1.1 will not include support
 for ARCNet network interfaces.</li>
 <li>The final set of Intent patterns honored by Android 1.0 has not yet been
 fully documented. Documentation will be provided in future releases.</li>
 <li>In ADT Editor, you can add at most ten new resource values at a time,
-in a given res/values/*.xml, using the form in the Android Resources pane. 
+in a given res/values/*.xml, using the form in the Android Resources pane.
 If you add more than ten, the Android Resources pane will not display the
-attributes fields for the additional resource entries. To work around this 
-problem, you can close the file in the editor and open it again, or you 
+attributes fields for the additional resource entries. To work around this
+problem, you can close the file in the editor and open it again, or you
 can edit the resource entries in the XML text mode. </li>
 <li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
 are not working in this release.</li>
@@ -657,7 +657,7 @@
 
 <p><strong>T-Mobile G1 Compatibility</strong></p>
 
-<p>This version of the SDK has been tested for compatibility with the first 
+<p>This version of the SDK has been tested for compatibility with the first
 Android-powered mobile device, the T-Mobile
 G1. </p>
 
@@ -679,7 +679,7 @@
 Android-powered device (such as the T-Mobile G1), you need an appropriate USB
 driver. For your convenience, the Windows version of the Android SDK includes a
 USB driver that you can install, to let you develop on the device. The USB
-driver files are located in the <code>&lt;SDK&gt;/usb_driver</code> directory. 
+driver files are located in the <code>&lt;SDK&gt;/usb_driver</code> directory.
 
 </p>
 
@@ -694,23 +694,23 @@
 still access the platform's styleable attributes from your resources or code. To
 do so, declare a custom resource element using a
 <code>&lt;declare-styleable&gt;</code> in your project's res/values/R.attrs
-file, then declare the attribute inside. For examples, see 
+file, then declare the attribute inside. For examples, see
 &lt;sdk&gt;/samples/ApiDemos/res/values/attrs.xml. For more information about
 custom resources, see <a
 href="{@docRoot}guide/topics/resources/available-resources.html#customresources">Custom
 Layout Resources</a>. Note that the android.R.styleable documentation is still
 provided in the SDK, but only as a reference of the platform's styleable
 attributes for the various elements.</li>
-<li>The VM now properly ensures that private classes are not 
+<li>The VM now properly ensures that private classes are not
 available to applications through reflection. If you were using reflection
-to access private classes in a previous release, you will now get a run-time 
+to access private classes in a previous release, you will now get a run-time
 error. </li>
 
 <li>The Settings and Email applications are now included in the SDK and
 available in the emulator.</li>
-<li>We regret to inform developers that SDK 1.0_r2 does not support MFM, RLL, 
+<li>We regret to inform developers that SDK 1.0_r2 does not support MFM, RLL,
 or Winchester hard disk drives.</li>
-<li>In the emulator, the control key for enabling/disabling trackball mode 
+<li>In the emulator, the control key for enabling/disabling trackball mode
 is changed from Control-T to F6. You can also enter trackball mode temporarily
 using the Delete key. While the key is pressed, you can send trackball events.</li>
 </ul>
@@ -783,19 +783,19 @@
 <li>We regret to inform developers that Android 1.0 will not include support for
 dot-matrix printers.</li>
 <li>On the OSX platform, if you manually remove the ~/.android directory
-using <code>rm -rf ~/.android</code>, then try to run 
-the emulator, it crashes. This happens because the emulator fails to create 
+using <code>rm -rf ~/.android</code>, then try to run
+the emulator, it crashes. This happens because the emulator fails to create
 a new .android directory before attempting to create the child SDK1.0 directory.
 To work around this issue, manually create a new .android directory using
-<code>mkdir ~/.android</code>, then run the emulator. The emulator 
+<code>mkdir ~/.android</code>, then run the emulator. The emulator
 creates the SDK1.0 directory and starts normally. </li>
 <li>The final set of Intent patterns honored by Android 1.0 has not yet been
 fully documented. Documentation will be provided in future releases.</li>
 <li>In ADT Editor, you can add at most ten new resource values at a time,
-in a given res/values/*.xml, using the form in the Android Resources pane. 
+in a given res/values/*.xml, using the form in the Android Resources pane.
 If you add more than ten, the Android Resources pane will not display the
-attributes fields for the additional resource entries. To work around this 
-problem, you can close the file in the editor and open it again, or you 
+attributes fields for the additional resource entries. To work around this
+problem, you can close the file in the editor and open it again, or you
 can edit the resource entries in the XML text mode. </li>
 <li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
 are not working in this release.</li>
diff --git a/docs/html/sdk/older_releases.jd b/docs/html/sdk/older_releases.jd
index bb64feb..c4ed594 100644
--- a/docs/html/sdk/older_releases.jd
+++ b/docs/html/sdk/older_releases.jd
@@ -74,7 +74,7 @@
     <td>238224860 bytes</td>
     <td>b4bf0e610ff6db2fb6fb09c49cba1e79</td>
   </tr>
-  
+
   </table>
 
 
@@ -119,7 +119,7 @@
     <td>178117561 bytes</td>
     <td>350d0211678ced38da926b8c9ffa4fac</td>
   </tr>
-  
+
   </table>
 
 
@@ -167,7 +167,7 @@
     <td>79345522 bytes</td>
     <td>ebcb16b0cd4aef198b4dd9a1418efbf1</td>
   </tr>
-  
+
   </table>
 
 
@@ -215,7 +215,7 @@
     <td>94186463 bytes</td>
     <td>a1f3b6d854596f850f5008856d0f380e</td>
   </tr>
-  
+
   </table>
 
 
@@ -268,7 +268,7 @@
     <td>165035130 bytes</td>
     <td>1d3c3d099e95a31c43a7b3e6ae307ed3</td>
   </tr>
-  
+
   </table>
 
 
@@ -313,7 +313,7 @@
     <td>162938845 bytes</td>
     <td>2addfd315da0ad8b5bde6b09d5ff3b06</td>
   </tr>
-  
+
   </table>
 
 
@@ -358,7 +358,7 @@
     <td>87.8 MB bytes</td>
     <td>2660b4029039b7d714e59827e9a9a11d</td>
   </tr>
-  
+
   </table>
 
 
diff --git a/docs/html/topic/libraries/data-binding/index.jd b/docs/html/topic/libraries/data-binding/index.jd
index 293de51..ec6e58c 100644
--- a/docs/html/topic/libraries/data-binding/index.jd
+++ b/docs/html/topic/libraries/data-binding/index.jd
@@ -515,8 +515,8 @@
 
 <h5>Avoid Complex Listeners</h5>
 Listener expressions are very powerful and can make your code very easy to read.
-On the other hand, listeners containing complex expressions make your layouts hard to read and unmaintainable. 
-These expressions should be as simple as passing available data from your UI to your callback method. You should implement 
+On the other hand, listeners containing complex expressions make your layouts hard to read and unmaintainable.
+These expressions should be as simple as passing available data from your UI to your callback method. You should implement
 any business logic inside the callback method that you invoked from the listener expression.
 
 <p>
diff --git a/docs/html/topic/performance/optimizing-view-hierarchies.jd b/docs/html/topic/performance/optimizing-view-hierarchies.jd
index 1738acb..27d3d16 100644
--- a/docs/html/topic/performance/optimizing-view-hierarchies.jd
+++ b/docs/html/topic/performance/optimizing-view-hierarchies.jd
@@ -381,7 +381,7 @@
 <p>
 For example, you may find that a {@link android.widget.TableLayout}
 provides the same functionality as a more complex layout with many
-positional dependencies. In the N release of Android, the 
+positional dependencies. In the N release of Android, the
 <a
 href="http://tools.android.com/tech-docs/layout-editor">{@code ConstraintLayout}</a> class provides similar functionality to
 {@link android.widget.RelativeLayout}, but at a significantly lower cost.
diff --git a/docs/html/topic/performance/scheduling.jd b/docs/html/topic/performance/scheduling.jd
index b6f0fdc..c11cf9b 100644
--- a/docs/html/topic/performance/scheduling.jd
+++ b/docs/html/topic/performance/scheduling.jd
@@ -264,7 +264,7 @@
    Internet-connectivity detection problems. A library or API may think the
    Internet is available, but your service may not be accessible. Fail
    gracefully and reschedule as few of your tasks as possible.</li>
-   <li>Depending on the conditions you assign for running a task, 
+   <li>Depending on the conditions you assign for running a task,
    such as network availability, after the task is triggered, a
    change may occur so that those conditions are no longer met.
    In such a case, your operation may fail unexpectedly and repeatedly.
diff --git a/docs/html/training/accessibility/accessible-app.jd b/docs/html/training/accessibility/accessible-app.jd
index dd26feb..54c185c 100644
--- a/docs/html/training/accessibility/accessible-app.jd
+++ b/docs/html/training/accessibility/accessible-app.jd
@@ -55,7 +55,7 @@
 If you have a label that's likely not to change during the lifecycle of the
 application (such as "Pause" or "Purchase"), you can add it via the XML layout,
 by setting a UI element's <a
- 
+
 href="{@docRoot}reference/android/view/View.html#attr_android:contentDescription"
 >{@code android:contentDescription}</a> attribute, like in this
 example:</p>
@@ -163,7 +163,7 @@
 android.view.accessibility.AccessibilityEvent} reference documentation.
 
 <p>As an example, if you want to extend an image view such that you can write
-captions by typing on the keyboard when it has focus, it makes sense to fire an 
+captions by typing on the keyboard when it has focus, it makes sense to fire an
 {@link android.view.accessibility.AccessibilityEvent#TYPE_VIEW_TEXT_CHANGED}
 event, even though that's not normally built into image views.  The code to
 generate that event would look like this:</p>
diff --git a/docs/html/training/accessibility/service.jd b/docs/html/training/accessibility/service.jd
index 5b99c46..9935c97 100755
--- a/docs/html/training/accessibility/service.jd
+++ b/docs/html/training/accessibility/service.jd
@@ -67,7 +67,7 @@
 
 <p>Like any other service, you also declare it in the manifest file.
 Remember to specify that it handles the {@code android.accessibilityservice} intent,
-so that the service is called when applications fire an 
+so that the service is called when applications fire an
 {@link android.view.accessibility.AccessibilityEvent}.</p>
 
 <pre>
diff --git a/docs/html/training/animation/screen-slide.jd b/docs/html/training/animation/screen-slide.jd
index a68d475..d953c07 100644
--- a/docs/html/training/animation/screen-slide.jd
+++ b/docs/html/training/animation/screen-slide.jd
@@ -218,7 +218,7 @@
   position of the page on the screen, which is obtained from the <code>position</code> parameter
   of the {@link android.support.v4.view.ViewPager.PageTransformer#transformPage transformPage()} method.</p>
 
-<p>The <code>position</code> parameter indicates where a given page is located relative to the center of the screen. 
+<p>The <code>position</code> parameter indicates where a given page is located relative to the center of the screen.
 It is a dynamic property that changes as the user scrolls through the pages. When a page fills the screen, its position value is <code>0</code>.
 When a page is drawn just off the right side of the screen, its position value is <code>1</code>. If the user scrolls halfway between pages one and two, page one has a position of -0.5 and page two has a position of 0.5. Based on the position of the pages on the screen, you can create custom slide animations by setting page properties with methods such as {@link android.view.View#setAlpha setAlpha()}, {@link android.view.View#setTranslationX setTranslationX()}, or
   {@link android.view.View#setScaleY setScaleY()}.</p>
diff --git a/docs/html/training/animation/zoom.jd b/docs/html/training/animation/zoom.jd
index 6a38e7d..60de70e 100644
--- a/docs/html/training/animation/zoom.jd
+++ b/docs/html/training/animation/zoom.jd
@@ -297,13 +297,13 @@
             set.play(ObjectAnimator
                         .ofFloat(expandedImageView, View.X, startBounds.left))
                         .with(ObjectAnimator
-                                .ofFloat(expandedImageView, 
+                                .ofFloat(expandedImageView,
                                         View.Y,startBounds.top))
                         .with(ObjectAnimator
-                                .ofFloat(expandedImageView, 
+                                .ofFloat(expandedImageView,
                                         View.SCALE_X, startScaleFinal))
                         .with(ObjectAnimator
-                                .ofFloat(expandedImageView, 
+                                .ofFloat(expandedImageView,
                                         View.SCALE_Y, startScaleFinal));
             set.setDuration(mShortAnimationDuration);
             set.setInterpolator(new DecelerateInterpolator());
diff --git a/docs/html/training/app-indexing/deep-linking.jd b/docs/html/training/app-indexing/deep-linking.jd
index 2c4a131..a68e5a3 100644
--- a/docs/html/training/app-indexing/deep-linking.jd
+++ b/docs/html/training/app-indexing/deep-linking.jd
@@ -69,7 +69,7 @@
         &lt;!-- Accepts URIs that begin with "example://gizmos” --&gt;
         &lt;data android:scheme="example"
               android:host="gizmos" /&gt;
-        
+
     &lt;/intent-filter&gt;
 &lt;/activity&gt;
 </pre>
diff --git a/docs/html/training/articles/perf-anr.jd b/docs/html/training/articles/perf-anr.jd
index bbebec5..2eda4fa 100644
--- a/docs/html/training/articles/perf-anr.jd
+++ b/docs/html/training/articles/perf-anr.jd
@@ -64,10 +64,10 @@
 and Window Manager system services. Android will display the ANR dialog
 for a particular application when it detects one of the following
 conditions:</p>
-<ul>  
-    <li>No response to an input event (such as key press or screen touch events) 
+<ul>
+    <li>No response to an input event (such as key press or screen touch events)
     within 5 seconds.</li>
-    <li>A {@link android.content.BroadcastReceiver BroadcastReceiver} 
+    <li>A {@link android.content.BroadcastReceiver BroadcastReceiver}
     hasn't finished executing within 10 seconds.</li>
 </ul>
 
@@ -100,7 +100,7 @@
  {@link android.os.AsyncTask#onProgressUpdate onProgressUpdate()} callback method. From your
  implementation of {@link android.os.AsyncTask#onProgressUpdate onProgressUpdate()} (which
  runs on the UI thread), you can notify the user. For example:</p>
- 
+
 <pre>
 private class DownloadFilesTask extends AsyncTask&lt;URL, Integer, Long> {
     // Do the long-running work in here
@@ -127,14 +127,14 @@
     }
 }
 </pre>
- 
+
  <p>To execute this worker thread, simply create an instance and
  call {@link android.os.AsyncTask#execute execute()}:</p>
- 
+
 <pre>
 new DownloadFilesTask().execute(url1, url2, url3);
 </pre>
- 
+
 
 <p>Although it's more complicated than {@link android.os.AsyncTask}, you might want to instead
 create your own {@link java.lang.Thread} or {@link android.os.HandlerThread} class. If you do,
@@ -143,7 +143,7 @@
 android.os.Process#THREAD_PRIORITY_BACKGROUND}. If you don't set the thread to a lower priority
 this way, then the thread could still slow down your app because it operates at the same priority
 as the UI thread by default.</p>
- 
+
 <p>If you implement {@link java.lang.Thread} or {@link android.os.HandlerThread},
 be sure that your UI thread does not block while waiting for the worker thread to
 complete&mdash;do not call {@link java.lang.Thread#wait Thread.wait()} or
@@ -183,16 +183,16 @@
     <li>If your application is doing work in the background in response to
     user input, show that progress is being made (such as with a {@link
     android.widget.ProgressBar} in your UI).</li>
-    
+
     <li>For games specifically, do calculations for moves in a worker
     thread.</li>
-    
+
     <li>If your application has a time-consuming initial setup phase, consider
     showing a splash screen or rendering the main view as quickly as possible, indicate that
     loading is in progress and fill the information asynchronously. In either case, you should
     indicate somehow that progress is being made, lest the user perceive that
     the application is frozen.</li>
-    
+
     <li>Use performance tools such as <a href="{@docRoot}tools/help/systrace.html">Systrace</a>
     and <a href="{@docRoot}tools/help/traceview.html">Traceview</a> to determine bottlenecks
     in your app's responsiveness.</li>
diff --git a/docs/html/training/articles/perf-jni.jd b/docs/html/training/articles/perf-jni.jd
index 5a9fa1e..8d2fd9b 100644
--- a/docs/html/training/articles/perf-jni.jd
+++ b/docs/html/training/articles/perf-jni.jd
@@ -564,9 +564,9 @@
     that looked through the weak globals table, the arguments, the locals
     table, and the globals table in that order. The first time it found your
     direct pointer, it would report that your reference was of the type it
-    happened to be examining. This meant, for example, that if 
+    happened to be examining. This meant, for example, that if
     you called <code>GetObjectRefType</code> on a global jclass that happened
-    to be the same as the jclass passed as an implicit argument to your static 
+    to be the same as the jclass passed as an implicit argument to your static
     native method, you'd get <code>JNILocalRefType</code> rather than
     <code>JNIGlobalRefType</code>.
 </ul>
diff --git a/docs/html/training/articles/smp.jd b/docs/html/training/articles/smp.jd
index 0b45987..a95931b 100644
--- a/docs/html/training/articles/smp.jd
+++ b/docs/html/training/articles/smp.jd
@@ -75,7 +75,7 @@
 multiprocessor architectures. This document introduces issues that
 can arise when writing code for symmetric multiprocessor systems in C, C++, and the Java
 programming language (hereafter referred to simply as “Java” for the sake of
-brevity). It's intended as a primer for Android app developers, not as a complete 
+brevity). It's intended as a primer for Android app developers, not as a complete
 discussion on the subject. The focus is on the ARM CPU architecture.</p>
 
 <p>If you’re in a hurry, you can skip the <a href="#theory">Theory</a> section
diff --git a/docs/html/training/articles/user-data-overview.jd b/docs/html/training/articles/user-data-overview.jd
index 8715d36..dc0df20 100644
--- a/docs/html/training/articles/user-data-overview.jd
+++ b/docs/html/training/articles/user-data-overview.jd
@@ -266,4 +266,4 @@
     href="http://stackoverflow.com/questions/24374701/alternative-to-read-phone-state-permission-for-getting-notified-of-call">source</a>)</em></p>
 <p>[2] <em>Using Personal Examples to Improve Risk Communication for Security and Privacy Decisions</em>, by M. Harbach, M. Hettig, S. Weber, and M. Smith. In Proceedings of ACM CHI 2014.</p>
 <p>[3] <em>Modeling Users’ Mobile App Privacy Preferences: Restoring Usability in a Sea of Permission Settings</em>, by J. Lin B. Liu, N. Sadeh and J. Hong. In Proceedings of SOUPS 2014.</p>
-<p>[4] <em>Teens and Mobile Apps Privacy. (<a href="http://www.pewinternet.org/files/old-media/Files/Reports/2013/PIP_Teens%20and%20Mobile%20Apps%20Privacy.pdf">source</a>)</em></p> 
+<p>[4] <em>Teens and Mobile Apps Privacy. (<a href="http://www.pewinternet.org/files/old-media/Files/Reports/2013/PIP_Teens%20and%20Mobile%20Apps%20Privacy.pdf">source</a>)</em></p>
diff --git a/docs/html/training/articles/user-data-permissions.jd b/docs/html/training/articles/user-data-permissions.jd
index edc7558..ace5f7f 100644
--- a/docs/html/training/articles/user-data-permissions.jd
+++ b/docs/html/training/articles/user-data-permissions.jd
@@ -56,7 +56,7 @@
   see <a href="{@docRoot}training/permissions/index.html">Working with System Permissions</a>.
   For best practices for working with unique identifiers, please see <a href=
   "{@docRoot}training/articles/user-data-ids.html">Best Practices for
-  Unique Identifiers</a>. 
+  Unique Identifiers</a>.
 </p>
 
 <h2 id="tenets_of_working_with_android_permissions">Tenets of Working
diff --git a/docs/html/training/basics/activity-lifecycle/index.jd b/docs/html/training/basics/activity-lifecycle/index.jd
index afeab86..95ed21e 100644
--- a/docs/html/training/basics/activity-lifecycle/index.jd
+++ b/docs/html/training/basics/activity-lifecycle/index.jd
@@ -41,7 +41,7 @@
 lifecycle. For instance, when your
 activity starts for the first time, it comes to the foreground of the system and receives user
 focus. During this process, the Android system calls a series of lifecycle methods on the
-activity in which you set up the user interface and other components. If the user performs an 
+activity in which you set up the user interface and other components. If the user performs an
 action that starts another activity or switches to another app, the system calls another set of
 lifecycle methods on your activity as it moves into the background (where the activity is no
 longer visible, but the instance and its state remains intact).</p>
@@ -57,7 +57,7 @@
 user expects and does not consume system resources when your activity doesn't need them.</p>
 
 <h2>Lessons</h2>
- 
+
 <dl>
   <dt><b><a href="starting.html">Starting an Activity</a></b></dt>
   <dd>Learn the basics about the activity lifecycle, how the user can launch your app, and how
@@ -70,5 +70,5 @@
   <dt><b><a href="recreating.html">Recreating an Activity</a></b></dt>
   <dd>Learn what happens when your activity is destroyed and how you can rebuild the activity
 state when necessary.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html/training/basics/activity-lifecycle/pausing.jd b/docs/html/training/basics/activity-lifecycle/pausing.jd
index 223e41a..7ca97aa 100644
--- a/docs/html/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html/training/basics/activity-lifecycle/pausing.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#Pause">Pause Your Activity</a></li>
       <li><a href="#Resume">Resume Your Activity</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activities</a>
@@ -32,7 +32,7 @@
   </div>
 </div>
 
-<p>During normal app use, the foreground activity is sometimes obstructed by other 
+<p>During normal app use, the foreground activity is sometimes obstructed by other
 visual components that cause the activity to <em>pause</em>.  For example, when a semi-transparent
 activity opens (such as one in the style of a dialog), the previous activity pauses. As long as the
 activity is still partially visible but currently not the activity in focus, it remains paused.</p>
@@ -60,7 +60,7 @@
 
 
 <h2 id="Pause">Pause Your Activity</h2>
-      
+
 <p>When the system calls {@link android.app.Activity#onPause()} for your activity, it
 technically means your activity is still partially visible, but most often is an indication that
 the user is leaving the activity and it will soon enter the Stopped state.  You should usually use
diff --git a/docs/html/training/basics/activity-lifecycle/recreating.jd b/docs/html/training/basics/activity-lifecycle/recreating.jd
index a52d5fd..60a33774 100644
--- a/docs/html/training/basics/activity-lifecycle/recreating.jd
+++ b/docs/html/training/basics/activity-lifecycle/recreating.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#SaveState">Save Your Activity State</a></li>
       <li><a href="#RestoreState">Restore Your Activity State</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">Supporting
@@ -106,7 +106,7 @@
     // Save the user's current game state
     savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
     savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
-    
+
     // Always call the superclass so it can save the view hierarchy state
     super.onSaveInstanceState(savedInstanceState);
 }
@@ -139,7 +139,7 @@
 &#64;Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState); // Always call the superclass first
-   
+
     // Check whether we're recreating a previously destroyed instance
     if (savedInstanceState != null) {
         // Restore value of members from saved state
@@ -158,12 +158,12 @@
 after the {@link android.app.Activity#onStart()} method. The system calls {@link
 android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} only if there is a saved
 state to restore, so you do not need to check whether the {@link android.os.Bundle} is null:</p>
-        
+
 <pre>
 public void onRestoreInstanceState(Bundle savedInstanceState) {
     // Always call the superclass so it can restore the view hierarchy
     super.onRestoreInstanceState(savedInstanceState);
-   
+
     // Restore state members from saved instance
     mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
     mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
diff --git a/docs/html/training/basics/activity-lifecycle/starting.jd b/docs/html/training/basics/activity-lifecycle/starting.jd
index 5b238b8..06f3a6c 100644
--- a/docs/html/training/basics/activity-lifecycle/starting.jd
+++ b/docs/html/training/basics/activity-lifecycle/starting.jd
@@ -9,7 +9,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
 <ol>
   <li><a href="#lifecycle-states">Understand the Lifecycle Callbacks</a></li>
@@ -17,7 +17,7 @@
   <li><a href="#Create">Create a New Instance</a></li>
   <li><a href="#Destroy">Destroy the Activity</a></li>
 </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activities</a></li>
@@ -84,7 +84,7 @@
 </ul>
 
 <!--
-<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback 
+<p class="table-caption"><strong>Table 1.</strong> Activity lifecycle state pairs and callback
 methods.</p>
 <table>
   <tr>
@@ -139,7 +139,7 @@
 
 
 
-<h2 id="launching-activity">Specify Your App's Launcher Activity</h2> 
+<h2 id="launching-activity">Specify Your App's Launcher Activity</h2>
 
 <p>When the user selects your app icon from the Home screen, the system calls the {@link
 android.app.Activity#onCreate onCreate()} method for the {@link android.app.Activity} in your app
@@ -154,7 +154,7 @@
 href="{@docRoot}guide/topics/manifest/intent-filter-element.html">{@code
 <intent-filter>}</a> that includes the {@link
 android.content.Intent#ACTION_MAIN MAIN} action and
-{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} category. For example:</p> 
+{@link android.content.Intent#CATEGORY_LAUNCHER LAUNCHER} category. For example:</p>
 
 <pre>
 &lt;activity android:name=".MainActivity" android:label="&#64;string/app_name">
@@ -203,10 +203,10 @@
     // Set the user interface layout for this Activity
     // The layout file is defined in the project res/layout/main_activity.xml file
     setContentView(R.layout.main_activity);
-    
+
     // Initialize member TextView so we can manipulate it later
     mTextView = (TextView) findViewById(R.id.text_message);
-    
+
     // Make sure we're running on Honeycomb or higher to use ActionBar APIs
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
         // For the main activity, make sure the app icon in the action bar
@@ -271,7 +271,7 @@
 &#64;Override
 public void onDestroy() {
     super.onDestroy();  // Always call the superclass
-    
+
     // Stop method tracing that the activity started during onCreate()
     android.os.Debug.stopMethodTracing();
 }
diff --git a/docs/html/training/basics/activity-lifecycle/stopping.jd b/docs/html/training/basics/activity-lifecycle/stopping.jd
index 51c95ea..3246374 100644
--- a/docs/html/training/basics/activity-lifecycle/stopping.jd
+++ b/docs/html/training/basics/activity-lifecycle/stopping.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#Stop">Stop Your Activity</a></li>
       <li><a href="#Start">Start/Restart Your Activity</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/activities.html">Activities</a>
@@ -154,13 +154,13 @@
 &#64;Override
 protected void onStart() {
     super.onStart();  // Always call the superclass method first
-    
+
     // The activity is either being restarted or started for the first time
     // so this is where we should make sure that GPS is enabled
-    LocationManager locationManager = 
+    LocationManager locationManager =
             (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
-    
+
     if (!gpsEnabled) {
         // Create a dialog here that requests the user to enable GPS, and use an intent
         // with the android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS action
@@ -171,8 +171,8 @@
 &#64;Override
 protected void onRestart() {
     super.onRestart();  // Always call the superclass method first
-    
-    // Activity being restarted from stopped state    
+
+    // Activity being restarted from stopped state
 }
 </pre>
 
diff --git a/docs/html/training/basics/data-storage/databases.jd b/docs/html/training/basics/data-storage/databases.jd
index 4a91d0d..f42bf65 100644
--- a/docs/html/training/basics/data-storage/databases.jd
+++ b/docs/html/training/basics/data-storage/databases.jd
@@ -119,11 +119,11 @@
 accessible to other applications.</p>
 
 <p>A useful set of APIs is available in the {@link
-android.database.sqlite.SQLiteOpenHelper} class. 
+android.database.sqlite.SQLiteOpenHelper} class.
 When you use this class to obtain references to your database, the system
-performs the potentially 
+performs the potentially
 long-running operations of creating and updating the database only when
-needed and <em>not during app startup</em>. All you need to do is call 
+needed and <em>not during app startup</em>. All you need to do is call
 {@link android.database.sqlite.SQLiteOpenHelper#getWritableDatabase} or
 {@link android.database.sqlite.SQLiteOpenHelper#getReadableDatabase}.</p>
 
diff --git a/docs/html/training/basics/fragments/communicating.jd b/docs/html/training/basics/fragments/communicating.jd
index 8c1ae21a..2e12072 100644
--- a/docs/html/training/basics/fragments/communicating.jd
+++ b/docs/html/training/basics/fragments/communicating.jd
@@ -7,14 +7,14 @@
 @jd:body
 
 <div id="tb-wrapper">
-  <div id="tb"> 
+  <div id="tb">
     <h2>This lesson teaches you to</h2>
 <ol>
   <li><a href="#DefineInterface">Define an Interface</a></li>
   <li><a href="#Implement">Implement the Interface</a></li>
   <li><a href="#Deliver">Deliver a Message to a Fragment</a></li>
 </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/fragments.html">Fragments</a></li>
@@ -31,21 +31,21 @@
   </div>
 </div>
 
-<p>In order to reuse the Fragment UI components, you should build each as a completely 
-self-contained, modular component that defines its own layout and behavior.  Once you 
-have defined these reusable Fragments, you can associate them with an Activity and 
+<p>In order to reuse the Fragment UI components, you should build each as a completely
+self-contained, modular component that defines its own layout and behavior.  Once you
+have defined these reusable Fragments, you can associate them with an Activity and
 connect them with the application logic to realize the overall composite UI.</p>
 
-<p>Often you will want one Fragment to communicate with another, for example to change 
-the content based on a user event.  All Fragment-to-Fragment communication is done 
+<p>Often you will want one Fragment to communicate with another, for example to change
+the content based on a user event.  All Fragment-to-Fragment communication is done
 through the associated Activity.  Two Fragments should never communicate directly.</p>
 
 
 <h2 id="DefineInterface">Define an Interface</h2>
 
-<p>To allow a Fragment to communicate up to its Activity, you can define an interface 
-in the Fragment class and implement it within the Activity.  The Fragment captures 
-the interface implementation during its onAttach() lifecycle method and can then call 
+<p>To allow a Fragment to communicate up to its Activity, you can define an interface
+in the Fragment class and implement it within the Activity.  The Fragment captures
+the interface implementation during its onAttach() lifecycle method and can then call
 the Interface methods in order to communicate with the Activity.</p>
 
 <p>Here is an example of Fragment to Activity communication:</p>
@@ -62,7 +62,7 @@
     &#64;Override
     public void onAttach(Activity activity) {
         super.onAttach(activity);
-        
+
         // This makes sure that the container activity has implemented
         // the callback interface. If not, it throws an exception
         try {
@@ -72,7 +72,7 @@
                     + " must implement OnHeadlineSelectedListener");
         }
     }
-    
+
     ...
 }
 </pre>
@@ -105,7 +105,7 @@
 public static class MainActivity extends Activity
         implements HeadlinesFragment.OnHeadlineSelectedListener{
     ...
-    
+
     public void onArticleSelected(int position) {
         // The user selected the headline of an article from the HeadlinesFragment
         // Do something here to display that article
@@ -118,12 +118,12 @@
 <h2 id="Deliver">Deliver a Message to a Fragment</h2>
 
 <p>The host activity can deliver messages to a fragment by capturing the {@link
-android.support.v4.app.Fragment} instance 
+android.support.v4.app.Fragment} instance
 with {@link android.support.v4.app.FragmentManager#findFragmentById findFragmentById()}, then
 directly call the fragment's public methods.</p>
 
 <p>For instance, imagine that the activity shown above may contain another fragment that's used to
-display the item specified by the data returned in the above callback method. In this case, 
+display the item specified by the data returned in the above callback method. In this case,
 the activity can pass the information received in the callback method to the other fragment that
 will display the item:</p>
 
@@ -152,7 +152,7 @@
             Bundle args = new Bundle();
             args.putInt(ArticleFragment.ARG_POSITION, position);
             newFragment.setArguments(args);
-        
+
             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
 
             // Replace whatever is in the fragment_container view with this fragment,
diff --git a/docs/html/training/basics/fragments/fragment-ui.jd b/docs/html/training/basics/fragments/fragment-ui.jd
index c0bd0a4..4cfec76 100644
--- a/docs/html/training/basics/fragments/fragment-ui.jd
+++ b/docs/html/training/basics/fragments/fragment-ui.jd
@@ -7,13 +7,13 @@
 @jd:body
 
 <div id="tb-wrapper">
-  <div id="tb"> 
+  <div id="tb">
     <h2>This lesson teaches you to</h2>
 <ol>
   <li><a href="#AddAtRuntime">Add a Fragment to an Activity at Runtime</a></li>
   <li><a href="#Replace">Replace One Fragment with Another</a></li>
 </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/components/fragments.html">Fragments</a></li>
@@ -52,14 +52,14 @@
 
 
 
-<h2 id="AddAtRuntime">Add a Fragment to an Activity at Runtime</h2> 
+<h2 id="AddAtRuntime">Add a Fragment to an Activity at Runtime</h2>
 
 <p>Rather than defining the fragments for an activity in the layout file&mdash;as shown in the
 <a href="creating.html">previous lesson</a> with the {@code <fragment>} element&mdash;you can add
 a fragment to the activity during the activity runtime. This is necessary
 if you plan to change fragments during the life of the activity.</p>
 
-<p>To perform a transaction such as add or 
+<p>To perform a transaction such as add or
 remove a fragment, you must use the {@link android.support.v4.app.FragmentManager} to create a
 {@link android.support.v4.app.FragmentTransaction}, which provides APIs to add, remove, replace,
 and perform other fragment transactions.</p>
@@ -126,11 +126,11 @@
 
             // Create a new Fragment to be placed in the activity layout
             HeadlinesFragment firstFragment = new HeadlinesFragment();
-            
+
             // In case this activity was started with special instructions from an
             // Intent, pass the Intent's extras to the fragment as arguments
             firstFragment.setArguments(getIntent().getExtras());
-            
+
             // Add the fragment to the 'fragment_container' FrameLayout
             getSupportFragmentManager().beginTransaction()
                     .add(R.id.fragment_container, firstFragment).commit();
diff --git a/docs/html/training/basics/fragments/index.jd b/docs/html/training/basics/fragments/index.jd
index aba6459..4fb71e4 100644
--- a/docs/html/training/basics/fragments/index.jd
+++ b/docs/html/training/basics/fragments/index.jd
@@ -56,7 +56,7 @@
 devices running versions as old as Android 1.6.</p>
 
 <h2>Lessons</h2>
- 
+
 <dl>
   <dt><b><a href="creating.html">Creating a Fragment</a></b></dt>
     <dd>Learn how to build a fragment and implement basic behaviors within its callback
@@ -67,5 +67,5 @@
   <dt><b><a href="communicating.html">Communicating with Other Fragments</a></b></dt>
     <dd>Learn how to set up communication paths from a fragment to the activity and other
 fragments.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html/training/basics/network-ops/connecting.jd b/docs/html/training/basics/network-ops/connecting.jd
index 798a9ee7..9651269 100644
--- a/docs/html/training/basics/network-ops/connecting.jd
+++ b/docs/html/training/basics/network-ops/connecting.jd
@@ -7,8 +7,8 @@
 next.link=managing.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 
@@ -20,7 +20,7 @@
   <li><a href="#AsyncTask">Perform Network Operations on a Separate Thread</a></li>
   <li><a href="#download">Connect and Download Data</a></li>
   <li><a href="#stream">Convert the InputStream to a String</a></li>
-  
+
 </ol>
 
 <h2>You should also read</h2>
@@ -32,7 +32,7 @@
   <li><a href="{@docRoot}guide/components/fundamentals.html">Application Fundamentals</a></li>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>This lesson shows you how to implement a simple application that connects to
@@ -57,11 +57,11 @@
 <h2 id="connection">Check the Network Connection</h2>
 
 <p>Before your app attempts to connect to the network, it should check to see whether a
-network connection is available using 
+network connection is available using
 {@link android.net.ConnectivityManager#getActiveNetworkInfo getActiveNetworkInfo()}
-and {@link android.net.NetworkInfo#isConnected isConnected()}. 
+and {@link android.net.NetworkInfo#isConnected isConnected()}.
 Remember, the device may be out of range of a
-network, or the user may have disabled both Wi-Fi and mobile data access. 
+network, or the user may have disabled both Wi-Fi and mobile data access.
 For more discussion of this topic, see the lesson <a
 href="{@docRoot}training/basics/network-ops/managing.html">Managing Network
 Usage</a>.</p>
@@ -69,7 +69,7 @@
 <pre>
 public void myClickHandler(View view) {
     ...
-    ConnectivityManager connMgr = (ConnectivityManager) 
+    ConnectivityManager connMgr = (ConnectivityManager)
         getSystemService(Context.CONNECTIVITY_SERVICE);
     NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
     if (networkInfo != null &amp;&amp; networkInfo.isConnected()) {
@@ -98,28 +98,28 @@
 {@link android.os.AsyncTask} methods:</p>
 
     <ul>
-    
+
       <li>{@link android.os.AsyncTask#doInBackground doInBackground()} executes
 the method <code>downloadUrl()</code>. It passes the  web page URL as a
 parameter. The method <code>downloadUrl()</code> fetches and processes the web
 page content. When it finishes, it passes back a result string.</li>
-      
+
       <li>{@link android.os.AsyncTask#onPostExecute onPostExecute()} takes the
 returned string and displays it in the UI.</li>
-      
-      
+
+
     </ul>
-    
+
 <pre>
 public class HttpExampleActivity extends Activity {
     private static final String DEBUG_TAG = "HttpExample";
     private EditText urlText;
     private TextView textView;
-    
+
     &#64;Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.main);   
+        setContentView(R.layout.main);
         urlText = (EditText) findViewById(R.id.myUrl);
         textView = (TextView) findViewById(R.id.myText);
     }
@@ -129,7 +129,7 @@
     public void myClickHandler(View view) {
         // Gets the URL from the UI's text field.
         String stringUrl = urlText.getText().toString();
-        ConnectivityManager connMgr = (ConnectivityManager) 
+        ConnectivityManager connMgr = (ConnectivityManager)
             getSystemService(Context.CONNECTIVITY_SERVICE);
         NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
         if (networkInfo != null &amp;&amp; networkInfo.isConnected()) {
@@ -139,7 +139,7 @@
         }
     }
 
-     // Uses AsyncTask to create a task away from the main UI thread. This task takes a 
+     // Uses AsyncTask to create a task away from the main UI thread. This task takes a
      // URL string and uses it to create an HttpUrlConnection. Once the connection
      // has been established, the AsyncTask downloads the contents of the webpage as
      // an InputStream. Finally, the InputStream is converted into a string, which is
@@ -147,7 +147,7 @@
      private class DownloadWebpageTask extends AsyncTask&lt;String, Void, String&gt; {
         &#64;Override
         protected String doInBackground(String... urls) {
-              
+
             // params comes from the execute() call: params[0] is the url.
             try {
                 return downloadUrl(urls[0]);
@@ -167,28 +167,28 @@
 <p>The sequence of events in this snippet is as follows:</p>
 <ol>
 
-  <li>When users click the button that invokes {@code myClickHandler()}, 
+  <li>When users click the button that invokes {@code myClickHandler()},
   the app passes
 the specified URL to the {@link android.os.AsyncTask} subclass
 <code>DownloadWebpageTask</code>.</li>
- 
+
  <li>The {@link android.os.AsyncTask} method {@link
-android.os.AsyncTask#doInBackground doInBackground()} calls the 
+android.os.AsyncTask#doInBackground doInBackground()} calls the
 <code>downloadUrl()</code> method. </li>
-  
+
   <li>The <code>downloadUrl()</code> method takes a URL string as a parameter
 and uses it to create a {@link java.net.URL} object.</li>
-  
+
   <li>The {@link java.net.URL} object is used to establish an {@link
 java.net.HttpURLConnection}.</li>
-  
+
   <li>Once the connection has been established, the {@link
 java.net.HttpURLConnection} object fetches the web page content as an {@link
 java.io.InputStream}.</li>
-  
+
   <li>The {@link java.io.InputStream} is passed to the <code>readIt()</code>
 method, which converts the stream to a string.</li>
-  
+
   <li>Finally, the {@link android.os.AsyncTask}'s {@link
 android.os.AsyncTask#onPostExecute onPostExecute()} method displays the string
 in the main activity's UI.</li>
@@ -196,19 +196,19 @@
 </ol>
 
  <h2 id="download">Connect and Download Data</h2>
- 
- <p>In your thread that performs your network transactions, you can use 
- {@link java.net.HttpURLConnection} to perform a {@code GET} and download your data. 
- After you call {@code connect()}, you can get an {@link java.io.InputStream} of the data 
+
+ <p>In your thread that performs your network transactions, you can use
+ {@link java.net.HttpURLConnection} to perform a {@code GET} and download your data.
+ After you call {@code connect()}, you can get an {@link java.io.InputStream} of the data
  by calling {@code getInputStream()}.
- 
+
  <p>In the following snippet, the {@link android.os.AsyncTask#doInBackground
 doInBackground()} method calls the method <code>downloadUrl()</code>. The
 <code>downloadUrl()</code> method takes the given URL and uses it to connect to
 the network via {@link java.net.HttpURLConnection}. Once a connection has been
 established, the app uses the method <code>getInputStream()</code> to retrieve
 the data as an {@link java.io.InputStream}.</p>
- 
+
 <pre>
 // Given a URL, establishes an HttpUrlConnection and retrieves
 // the web page content as a InputStream, which it returns as
@@ -218,7 +218,7 @@
     // Only display the first 500 characters of the retrieved
     // web page content.
     int len = 500;
-        
+
     try {
         URL url = new URL(myurl);
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
@@ -235,13 +235,13 @@
         // Convert the InputStream into a string
         String contentAsString = readIt(is, len);
         return contentAsString;
-        
+
     // Makes sure that the InputStream is closed after the app is
     // finished using it.
     } finally {
         if (is != null) {
             is.close();
-        } 
+        }
     }
 }</pre>
 
@@ -252,7 +252,7 @@
 
 <h2 id="stream">Convert the InputStream to a String</h2>
 
-<p>An {@link java.io.InputStream} is a readable source of bytes. Once you get an {@link java.io.InputStream}, 
+<p>An {@link java.io.InputStream} is a readable source of bytes. Once you get an {@link java.io.InputStream},
 it's common to decode or convert it into a
 target data type. For example, if you were downloading image data, you might
 decode and display it like this:</p>
@@ -271,7 +271,7 @@
 <pre>// Reads an InputStream and converts it to a String.
 public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
     Reader reader = null;
-    reader = new InputStreamReader(stream, "UTF-8");        
+    reader = new InputStreamReader(stream, "UTF-8");
     char[] buffer = new char[len];
     reader.read(buffer);
     return new String(buffer);
diff --git a/docs/html/training/basics/network-ops/index.jd b/docs/html/training/basics/network-ops/index.jd
index 1f6493f..1434562 100644
--- a/docs/html/training/basics/network-ops/index.jd
+++ b/docs/html/training/basics/network-ops/index.jd
@@ -42,7 +42,7 @@
 <p>This class explains the basic tasks involved in connecting to the network,
 monitoring the network connection (including connection changes), and giving
 users control over an app's network usage. It also describes how to parse and
-consume XML data.</p> 
+consume XML data.</p>
 
 <p>This class includes a sample application that illustrates how to perform
 common network operations. You can download the sample (to the right) and use it
@@ -66,18 +66,18 @@
 
 <dl>
  <dt><b><a href="connecting.html">Connecting to the Network</a></b></dt>
- 
+
    <dd>Learn how to connect to the network, choose an HTTP client, and perform
 network operations outside of the UI thread.</dd>
 
  <dt><b><a href="managing.html">Managing Network Usage</a></b></dt>
- 
+
    <dd>Learn how to check a
 device's network connection, create a preferences UI for controlling network
 usage, and respond to connection changes.</dd>
-   
+
    <dt><b><a href="xml.html">Parsing XML Data</a></b></dt>
    <dd>Learn how to parse and consume XML data.</dd>
 
-</dl> 
+</dl>
 
diff --git a/docs/html/training/basics/network-ops/managing.jd b/docs/html/training/basics/network-ops/managing.jd
index a645b3f..2609db5 100644
--- a/docs/html/training/basics/network-ops/managing.jd
+++ b/docs/html/training/basics/network-ops/managing.jd
@@ -10,8 +10,8 @@
 next.link=xml.html
 
 @jd:body
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -37,7 +37,7 @@
  <p class="filename">NetworkUsage.zip</p>
 </div>
 
-</div> 
+</div>
 </div>
 
 <p>This lesson describes how to write applications that have fine-grained
@@ -50,19 +50,19 @@
 limits, because they can instead precisely control how much data your app
 uses.</p>
 
-<p>For general guidelines on how to write apps that minimize the battery life 
-impact of downloads and network connections, see 
-<a href="{@docRoot}training/monitoring-device-state/index.html">Optimizing Battery Life</a> 
+<p>For general guidelines on how to write apps that minimize the battery life
+impact of downloads and network connections, see
+<a href="{@docRoot}training/monitoring-device-state/index.html">Optimizing Battery Life</a>
 and <a href="{@docRoot}training/efficient-downloads/index.html">Transferring Data Without Draining the Battery</a>.
 
 <h2 id="check-connection">Check a Device's Network Connection</h2>
 
-<p>A device can have various types of network connections. This lesson  
-focuses on using either a Wi-Fi or a mobile network connection. For the full 
+<p>A device can have various types of network connections. This lesson
+focuses on using either a Wi-Fi or a mobile network connection. For the full
 list of possible network types, see {@link android.net.ConnectivityManager}.<p>
 
 <p>Wi-Fi is typically faster. Also, mobile data is often metered, which can get
-expensive. 
+expensive.
 A common strategy for apps is to only fetch large data
 if a Wi-Fi network is available.</p>
 
@@ -77,11 +77,11 @@
   <li>{@link android.net.ConnectivityManager}: Answers queries about the state
 of network connectivity. It also  notifies applications when network
 connectivity changes. </li>
-  
+
   <li>{@link android.net.NetworkInfo}: Describes the status of a network
 interface of a given type  (currently either Mobile or Wi-Fi).
   </li>
-  
+
 </ul>
 
 
@@ -94,16 +94,16 @@
 
 <pre>
 private static final String DEBUG_TAG = &quot;NetworkStatusExample&quot;;
-...      
-ConnectivityManager connMgr = (ConnectivityManager) 
+...
+ConnectivityManager connMgr = (ConnectivityManager)
         getSystemService(Context.CONNECTIVITY_SERVICE);
-NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
+NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
 boolean isWifiConn = networkInfo.isConnected();
 networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
 boolean isMobileConn = networkInfo.isConnected();
 Log.d(DEBUG_TAG, "Wifi connected: " + isWifiConn);
 Log.d(DEBUG_TAG, "Mobile connected: " + isMobileConn);
-</pre> 
+</pre>
 
 <p>Note that you should not base decisions on whether a network is
 &quot;available.&quot; You should always check {@link
@@ -122,7 +122,7 @@
 
 <pre>
 public boolean isOnline() {
-    ConnectivityManager connMgr = (ConnectivityManager) 
+    ConnectivityManager connMgr = (ConnectivityManager)
             getSystemService(Context.CONNECTIVITY_SERVICE);
     NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
     return (networkInfo != null && networkInfo.isConnected());
@@ -148,37 +148,37 @@
 
 </ul>
 
-<p>To write an app that supports network access and managing 
-network usage, your manifest must have the right permissions and 
+<p>To write an app that supports network access and managing
+network usage, your manifest must have the right permissions and
 intent filters.
 </p>
 
 <ul>
   <li>The manifest excerpted below includes the following permissions:
     <ul>
-    
+
       <li>{@link android.Manifest.permission#INTERNET
 android.permission.INTERNET}&mdash;Allows applications to open network
 sockets.</li>
-      
+
       <li>{@link android.Manifest.permission#ACCESS_NETWORK_STATE
 android.permission.ACCESS_NETWORK_STATE}&mdash;Allows applications to access
 information about networks.</li>
-      
+
     </ul>
   </li>
-  
-  <li>You can declare the intent filter for the 
+
+  <li>You can declare the intent filter for the
 {@link android.content.Intent#ACTION_MANAGE_NETWORK_USAGE} action (introduced in
 Android 4.0) to indicate that your application defines an activity that offers
 options to control data usage. {@link
 android.content.Intent#ACTION_MANAGE_NETWORK_USAGE} shows settings for managing
-the network data usage of a specific application. When your app has a settings activity 
-that allows users to control network usage, you should declare this intent filter for that activity. 
+the network data usage of a specific application. When your app has a settings activity
+that allows users to control network usage, you should declare this intent filter for that activity.
 In the sample application, this action is handled by the class
 <code>SettingsActivity</code>, which displays a preferences UI to let users
 decide when to download a feed.</li>
-  
+
 </ul>
 
 
@@ -188,9 +188,9 @@
     package="com.example.android.networkusage"
     ...&gt;
 
-    &lt;uses-sdk android:minSdkVersion="4" 
+    &lt;uses-sdk android:minSdkVersion="4"
            android:targetSdkVersion="14" /&gt;
-        
+
     &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
     &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
 
@@ -213,7 +213,7 @@
 <code>SettingsActivity</code> has an intent filter for the {@link
 android.content.Intent#ACTION_MANAGE_NETWORK_USAGE} action.
 <code>SettingsActivity</code> is a subclass of {@link
-android.preference.PreferenceActivity}. It displays a preferences screen 
+android.preference.PreferenceActivity}. It displays a preferences screen
 (shown in figure 1) that
 lets users specify the following:</p>
 
@@ -221,10 +221,10 @@
 
   <li>Whether to display summaries for each XML feed entry, or just a link for
 each entry.</li>
-  
+
   <li>Whether to download the XML feed if any network connection is available,
 or only if Wi-Fi is available.</li>
-  
+
 </ul>
 
 <img src="{@docRoot}images/training/basics/network-settings1.png" alt="Preferences panel" />
@@ -232,49 +232,49 @@
 <img src="{@docRoot}images/training/basics/network-settings2.png" alt="Setting a network preference" />
 <p class="img-caption"><strong>Figure 1.</strong> Preferences activity.</p>
 
-<p>Here is <code>SettingsActivity</code>. Note that it implements 
-{@link android.content.SharedPreferences.OnSharedPreferenceChangeListener OnSharedPreferenceChangeListener}. 
+<p>Here is <code>SettingsActivity</code>. Note that it implements
+{@link android.content.SharedPreferences.OnSharedPreferenceChangeListener OnSharedPreferenceChangeListener}.
 When a user changes a preference, it fires
-{@link android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged onSharedPreferenceChanged()}, 
-which sets {@code refreshDisplay} to true. This causes the display to refresh when the user 
+{@link android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged onSharedPreferenceChanged()},
+which sets {@code refreshDisplay} to true. This causes the display to refresh when the user
 returns to the main activity:</p>
 
 <pre>public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
-    
+
     &#64;Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        
+
         // Loads the XML preferences file
         addPreferencesFromResource(R.xml.preferences);
     }
-  
+
     &#64;Override
     protected void onResume() {
         super.onResume();
 
-        // Registers a listener whenever a key changes            
+        // Registers a listener whenever a key changes
         getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
     }
-  
+
     &#64;Override
     protected void onPause() {
         super.onPause();
 
        // Unregisters the listener set in onResume().
-       // It's best practice to unregister listeners when your app isn't using them to cut down on 
-       // unnecessary system overhead. You do this in onPause().            
-       getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);    
+       // It's best practice to unregister listeners when your app isn't using them to cut down on
+       // unnecessary system overhead. You do this in onPause().
+       getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
     }
-  
-    // When the user changes the preferences selection, 
+
+    // When the user changes the preferences selection,
     // onSharedPreferenceChanged() restarts the main activity as a new
     // task. Sets the refreshDisplay flag to "true" to indicate that
     // the main activity should update its display.
     // The main activity queries the PreferenceManager to get the latest settings.
-    
+
     &#64;Override
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {    
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
         // Sets refreshDisplay to true so that when the user returns to the main
         // activity, the display refreshes to reflect the new settings.
         NetworkActivity.refreshDisplay = true;
@@ -295,31 +295,31 @@
     public static final String WIFI = "Wi-Fi";
     public static final String ANY = "Any";
     private static final String URL = "http://stackoverflow.com/feeds/tag?tagnames=android&sort=newest";
-   
+
     // Whether there is a Wi-Fi connection.
-    private static boolean wifiConnected = false; 
+    private static boolean wifiConnected = false;
     // Whether there is a mobile connection.
     private static boolean mobileConnected = false;
     // Whether the display should be refreshed.
     public static boolean refreshDisplay = true;
-    
+
     // The user's current network preference setting.
     public static String sPref = null;
-    
+
     // The BroadcastReceiver that tracks network connectivity changes.
     private NetworkReceiver receiver = new NetworkReceiver();
-    
+
     &#64;Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        
+
         // Registers BroadcastReceiver to track network connection changes.
         IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
         receiver = new NetworkReceiver();
         this.registerReceiver(receiver, filter);
     }
-    
-    &#64;Override 
+
+    &#64;Override
     public void onDestroy() {
         super.onDestroy();
         // Unregisters BroadcastReceiver when app is destroyed.
@@ -327,34 +327,34 @@
             this.unregisterReceiver(receiver);
         }
     }
-    
+
     // Refreshes the display if the network connection and the
     // pref settings allow it.
-    
+
     &#64;Override
     public void onStart () {
-        super.onStart();  
-        
+        super.onStart();
+
         // Gets the user's network preference settings
         SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
-        
+
         // Retrieves a string value for the preferences. The second parameter
         // is the default value to use if a preference value is not found.
         sPref = sharedPrefs.getString("listPref", "Wi-Fi");
 
-        updateConnectedFlags(); 
-       
+        updateConnectedFlags();
+
         if(refreshDisplay){
-            loadPage();    
+            loadPage();
         }
     }
-    
+
     // Checks the network connection and sets the wifiConnected and mobileConnected
-    // variables accordingly. 
+    // variables accordingly.
     public void updateConnectedFlags() {
-        ConnectivityManager connMgr = (ConnectivityManager) 
+        ConnectivityManager connMgr = (ConnectivityManager)
                 getSystemService(Context.CONNECTIVITY_SERVICE);
-        
+
         NetworkInfo activeInfo = connMgr.getActiveNetworkInfo();
         if (activeInfo != null && activeInfo.isConnected()) {
             wifiConnected = activeInfo.getType() == ConnectivityManager.TYPE_WIFI;
@@ -362,9 +362,9 @@
         } else {
             wifiConnected = false;
             mobileConnected = false;
-        }  
+        }
     }
-      
+
     // Uses AsyncTask subclass to download the XML feed from stackoverflow.com.
     public void loadPage() {
         if (((sPref.equals(ANY)) && (wifiConnected || mobileConnected))
@@ -376,7 +376,7 @@
         }
     }
 ...
-    
+
 }</pre>
 
 <h2 id="detect-changes">Detect Connection Changes</h2>
@@ -388,36 +388,36 @@
 determines what the  network connection status is, and sets the flags
 <code>wifiConnected</code> and <code>mobileConnected</code> to true/false
 accordingly. The upshot is that the next time the user returns to the app, the
-app will only download the latest feed and update the display if 
+app will only download the latest feed and update the display if
 <code>NetworkActivity.refreshDisplay</code> is set to <code>true</code>.</p>
 
-<p>Setting up a BroadcastReceiver that gets called unnecessarily can be a 
+<p>Setting up a BroadcastReceiver that gets called unnecessarily can be a
 drain on system resources.
-The sample application registers the 
-{@link android.content.BroadcastReceiver} {@code NetworkReceiver} in 
-{@link android.app.Activity#onCreate(android.os.Bundle) onCreate()}, 
-and it unregisters it in 
-{@link android.app.Activity#onDestroy onDestroy()}. This is more lightweight 
+The sample application registers the
+{@link android.content.BroadcastReceiver} {@code NetworkReceiver} in
+{@link android.app.Activity#onCreate(android.os.Bundle) onCreate()},
+and it unregisters it in
+{@link android.app.Activity#onDestroy onDestroy()}. This is more lightweight
 than declaring a {@code <receiver>} in the manifest. When you declare a
 {@code <receiver>} in the manifest, it can wake up your app at any time,
-even if you haven't run it for weeks. By registering and unregistering 
-{@code NetworkReceiver} within the main activity, you ensure that the app won't 
-be woken up after the user leaves the app. 
+even if you haven't run it for weeks. By registering and unregistering
+{@code NetworkReceiver} within the main activity, you ensure that the app won't
+be woken up after the user leaves the app.
 If you do declare a {@code <receiver>} in the manifest and you know exactly
-where you need it, you can use 
+where you need it, you can use
 {@link android.content.pm.PackageManager#setComponentEnabledSetting setComponentEnabledSetting()}
 to enable and disable it as appropriate.</p>
 
 <p>Here is  <code>NetworkReceiver</code>:</p>
 
-<pre>public class NetworkReceiver extends BroadcastReceiver {   
-      
+<pre>public class NetworkReceiver extends BroadcastReceiver {
+
 &#64;Override
 public void onReceive(Context context, Intent intent) {
     ConnectivityManager conn =  (ConnectivityManager)
         context.getSystemService(Context.CONNECTIVITY_SERVICE);
     NetworkInfo networkInfo = conn.getActiveNetworkInfo();
-       
+
     // Checks the user prefs and the network connection. Based on the result, decides whether
     // to refresh the display or keep the current display.
     // If the userpref is Wi-Fi only, checks to see if the device has a Wi-Fi connection.
@@ -432,9 +432,9 @@
     // (which by process of elimination would be mobile), sets refreshDisplay to true.
     } else if (ANY.equals(sPref) && networkInfo != null) {
         refreshDisplay = true;
-                 
+
     // Otherwise, the app can't download content--either because there is no network
-    // connection (mobile or Wi-Fi), or because the pref setting is WIFI, and there 
+    // connection (mobile or Wi-Fi), or because the pref setting is WIFI, and there
     // is no Wi-Fi connection.
     // Sets refreshDisplay to false.
     } else {
diff --git a/docs/html/training/basics/network-ops/xml.jd b/docs/html/training/basics/network-ops/xml.jd
index 0ea696d..3385a63 100644
--- a/docs/html/training/basics/network-ops/xml.jd
+++ b/docs/html/training/basics/network-ops/xml.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 
@@ -38,7 +38,7 @@
  <p class="filename">NetworkUsage.zip</p>
 </div>
 
-</div> 
+</div>
 </div>
 
 <p>Extensible Markup Language (XML) is a set of rules for encoding documents in
@@ -55,11 +55,11 @@
 implementations of this interface:</p>
 
 <ul>
-  <li><a href="http://kxml.sourceforge.net/"><code>KXmlParser</code></a> 
-  via {@link org.xmlpull.v1.XmlPullParserFactory#newPullParser XmlPullParserFactory.newPullParser()}. 
+  <li><a href="http://kxml.sourceforge.net/"><code>KXmlParser</code></a>
+  via {@link org.xmlpull.v1.XmlPullParserFactory#newPullParser XmlPullParserFactory.newPullParser()}.
   </li>
-  <li><code>ExpatPullParser</code>, via 
-  {@link android.util.Xml#newPullParser Xml.newPullParser()}. 
+  <li><code>ExpatPullParser</code>, via
+  {@link android.util.Xml#newPullParser Xml.newPullParser()}.
   </li>
 </ul>
 
@@ -69,15 +69,15 @@
 
 <h2 id="analyze">Analyze the Feed</h2>
 
-<p>The first step in parsing a feed is to decide which fields you're interested in. 
+<p>The first step in parsing a feed is to decide which fields you're interested in.
 The parser extracts data for those fields and ignores the rest.</p>
 
 <p>Here is an excerpt from the feed that's being parsed in the sample app. Each
 post to <a href="http://stackoverflow.com">StackOverflow.com</a> appears in the
 feed as an <code>entry</code> tag that contains several nested tags:</p>
 
-<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; 
-&lt;feed xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:creativeCommons=&quot;http://backend.userland.com/creativeCommonsRssModule&quot; ...&quot;&gt;     
+<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
+&lt;feed xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:creativeCommons=&quot;http://backend.userland.com/creativeCommonsRssModule&quot; ...&quot;&gt;
 &lt;title type=&quot;text&quot;&gt;newest questions tagged android - Stack Overflow&lt;/title&gt;
 ...
     &lt;entry&gt;
@@ -107,7 +107,7 @@
 ...
 &lt;/feed&gt;</pre>
 
-<p>The sample app  
+<p>The sample app
 extracts data for the <code>entry</code> tag and its nested tags
 <code>title</code>, <code>link</code>, and <code>summary</code>.</p>
 
@@ -125,7 +125,7 @@
 <pre>public class StackOverflowXmlParser {
     // We don't use namespaces
     private static final String ns = null;
-   
+
     public List<Entry> parse(InputStream in) throws XmlPullParserException, IOException {
         try {
             XmlPullParser parser = Xml.newPullParser();
@@ -137,7 +137,7 @@
             in.close();
         }
     }
- ... 
+ ...
 }</pre>
 
 <h2 id="read">Read the Feed</h2>
@@ -166,7 +166,7 @@
         } else {
             skip(parser);
         }
-    }  
+    }
     return entries;
 }</pre>
 
@@ -187,7 +187,7 @@
 
 <li>A "read" method for each tag you're interested in. For example,
 <code>readEntry()</code>, <code>readTitle()</code>, and so on. The parser reads
-tags from the input stream. When it encounters a tag named <code>entry</code>, 
+tags from the input stream. When it encounters a tag named <code>entry</code>,
 <code>title</code>,
 <code>link</code> or <code>summary</code>, it calls the appropriate method
 for that tag. Otherwise, it skips the tag.
@@ -201,7 +201,7 @@
 <code>readText()</code>. This method extracts data for these tags by calling
 <code>parser.getText()</code>.</li>
 
-<li>For the <code>link</code> tag, the parser extracts data for links by first 
+<li>For the <code>link</code> tag, the parser extracts data for links by first
 determining if the link is the kind
 it's interested in. Then it uses <code>parser.getAttributeValue()</code> to
 extract the link's value.</li>
@@ -215,7 +215,7 @@
 </li>
 <li>A helper <code>skip()</code> method that's recursive. For more discussion of this topic, see <a href="#skip">Skip Tags You Don't Care About</a>.</li>
 </ul>
-  
+
   </li>
 </ol>
 
@@ -231,7 +231,7 @@
         this.link = link;
     }
 }
-  
+
 // Parses the contents of an entry. If it encounters a title, summary, or link tag, hands them off
 // to their respective &quot;read&quot; methods for processing. Otherwise, skips the tag.
 private Entry readEntry(XmlPullParser parser) throws XmlPullParserException, IOException {
@@ -264,18 +264,18 @@
     parser.require(XmlPullParser.END_TAG, ns, "title");
     return title;
 }
-  
+
 // Processes link tags in the feed.
 private String readLink(XmlPullParser parser) throws IOException, XmlPullParserException {
     String link = "";
     parser.require(XmlPullParser.START_TAG, ns, "link");
     String tag = parser.getName();
-    String relType = parser.getAttributeValue(null, "rel");  
+    String relType = parser.getAttributeValue(null, "rel");
     if (tag.equals("link")) {
         if (relType.equals("alternate")){
             link = parser.getAttributeValue(null, "href");
             parser.nextTag();
-        } 
+        }
     }
     parser.require(XmlPullParser.END_TAG, ns, "link");
     return link;
@@ -350,7 +350,7 @@
 <ul>
 
 <li>The first time through the <code>while</code> loop, the next tag the parser
-encounters after <code>&lt;author&gt;</code> is the <code>START_TAG</code> for 
+encounters after <code>&lt;author&gt;</code> is the <code>START_TAG</code> for
 <code>&lt;name&gt;</code>. The value for <code>depth</code> is incremented to
 2.</li>
 
@@ -367,7 +367,7 @@
 <code>depth</code> is decremented to 1.</li>
 
 <li>The fifth time and final time through the <code>while</code> loop, the next
-tag the parser encounters is the <code>END_TAG</code> 
+tag the parser encounters is the <code>END_TAG</code>
 <code>&lt;/author&gt;</code>. The value for <code>depth</code> is decremented to
 0, indicating that the <code>&lt;author&gt;</code> element has been successfully
 skipped.</li>
@@ -377,7 +377,7 @@
 <h2 id="consume">Consume XML Data</h2>
 
 <p>The example application fetches and parses the XML feed within an {@link
-android.os.AsyncTask}. This takes the processing off the main UI thread. When 
+android.os.AsyncTask}. This takes the processing off the main UI thread. When
 processing is complete, the app updates the UI in the main activity
 (<code>NetworkActivity</code>).</p>
 <p>In the excerpt shown below, the <code>loadPage()</code> method does the
@@ -386,33 +386,33 @@
 <ul>
 
   <li>Initializes a string variable with the URL for the XML feed.</li>
-  
+
   <li>If the user's settings and the network connection allow it, invokes
-<code>new DownloadXmlTask().execute(url)</code>. This instantiates a new 
+<code>new DownloadXmlTask().execute(url)</code>. This instantiates a new
 <code>DownloadXmlTask</code> object ({@link android.os.AsyncTask} subclass) and
 runs its {@link android.os.AsyncTask#execute execute()} method, which downloads
 and parses the feed and returns a string result to be displayed in the UI.</li>
-  
+
 </ul>
 <pre>
 public class NetworkActivity extends Activity {
     public static final String WIFI = "Wi-Fi";
     public static final String ANY = "Any";
     private static final String URL = "http://stackoverflow.com/feeds/tag?tagnames=android&sort=newest";
-   
+
     // Whether there is a Wi-Fi connection.
-    private static boolean wifiConnected = false; 
+    private static boolean wifiConnected = false;
     // Whether there is a mobile connection.
     private static boolean mobileConnected = false;
     // Whether the display should be refreshed.
-    public static boolean refreshDisplay = true; 
+    public static boolean refreshDisplay = true;
     public static String sPref = null;
 
     ...
-      
+
     // Uses AsyncTask to download the XML feed from stackoverflow.com.
-    public void loadPage() {  
-      
+    public void loadPage() {
+
         if((sPref.equals(ANY)) && (wifiConnected || mobileConnected)) {
             new DownloadXmlTask().execute(URL);
         }
@@ -420,25 +420,25 @@
             new DownloadXmlTask().execute(URL);
         } else {
             // show error
-        }  
+        }
     }</pre>
-    
+
 <p>The {@link android.os.AsyncTask} subclass shown below,
 <code>DownloadXmlTask</code>, implements the following {@link
 android.os.AsyncTask} methods:</p>
 
     <ul>
-    
+
       <li>{@link android.os.AsyncTask#doInBackground doInBackground()} executes
 the method <code>loadXmlFromNetwork()</code>. It passes the feed URL as a
 parameter. The method <code>loadXmlFromNetwork()</code> fetches and processes
 the feed. When it finishes, it passes back a result string.</li>
-      
+
       <li>{@link android.os.AsyncTask#onPostExecute onPostExecute()} takes the
 returned string and displays it in the UI.</li>
-      
+
     </ul>
-    
+
 <pre>
 // Implementation of AsyncTask used to download XML feed from stackoverflow.com.
 private class DownloadXmlTask extends AsyncTask&lt;String, Void, String&gt; {
@@ -454,7 +454,7 @@
     }
 
     &#64;Override
-    protected void onPostExecute(String result) {  
+    protected void onPostExecute(String result) {
         setContentView(R.layout.main);
         // Displays the HTML string in the UI via a WebView
         WebView myWebView = (WebView) findViewById(R.id.webview);
@@ -464,28 +464,28 @@
 
    <p>Below is the method <code>loadXmlFromNetwork()</code> that is invoked from
 <code>DownloadXmlTask</code>. It does the following:</p>
-   
+
    <ol>
-   
+
      <li>Instantiates a <code>StackOverflowXmlParser</code>. It also creates variables for
-a {@link java.util.List} of <code>Entry</code> objects (<code>entries</code>), and 
+a {@link java.util.List} of <code>Entry</code> objects (<code>entries</code>), and
 <code>title</code>, <code>url</code>, and <code>summary</code>, to hold the
 values extracted from the XML feed for those fields.</li>
-     
-     <li>Calls <code>downloadUrl()</code>, which fetches the feed and returns it as 
+
+     <li>Calls <code>downloadUrl()</code>, which fetches the feed and returns it as
      an {@link java.io.InputStream}.</li>
-     
-     <li>Uses <code>StackOverflowXmlParser</code> to parse the {@link java.io.InputStream}. 
-     <code>StackOverflowXmlParser</code> populates a 
+
+     <li>Uses <code>StackOverflowXmlParser</code> to parse the {@link java.io.InputStream}.
+     <code>StackOverflowXmlParser</code> populates a
      {@link java.util.List} of <code>entries</code> with data from the feed.</li>
-     
-     <li>Processes the <code>entries</code> {@link java.util.List}, 
+
+     <li>Processes the <code>entries</code> {@link java.util.List},
  and combines the feed data with HTML markup.</li>
-     
+
      <li>Returns an HTML string that is displayed in the main activity
 UI by the {@link android.os.AsyncTask} method {@link
 android.os.AsyncTask#onPostExecute onPostExecute()}.</li>
-     
+
 </ol>
 
 <pre>
@@ -499,35 +499,35 @@
     String title = null;
     String url = null;
     String summary = null;
-    Calendar rightNow = Calendar.getInstance(); 
+    Calendar rightNow = Calendar.getInstance();
     DateFormat formatter = new SimpleDateFormat("MMM dd h:mmaa");
-        
+
     // Checks whether the user set the preference to include summary text
     SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
     boolean pref = sharedPrefs.getBoolean("summaryPref", false);
-        
+
     StringBuilder htmlString = new StringBuilder();
     htmlString.append("&lt;h3&gt;" + getResources().getString(R.string.page_title) + "&lt;/h3&gt;");
-    htmlString.append("&lt;em&gt;" + getResources().getString(R.string.updated) + " " + 
+    htmlString.append("&lt;em&gt;" + getResources().getString(R.string.updated) + " " +
             formatter.format(rightNow.getTime()) + "&lt;/em&gt;");
-        
+
     try {
-        stream = downloadUrl(urlString);        
+        stream = downloadUrl(urlString);
         entries = stackOverflowXmlParser.parse(stream);
     // Makes sure that the InputStream is closed after the app is
     // finished using it.
     } finally {
         if (stream != null) {
             stream.close();
-        } 
+        }
      }
-    
+
     // StackOverflowXmlParser returns a List (called "entries") of Entry objects.
     // Each Entry object represents a single post in the XML feed.
     // This section processes the entries list to combine each entry with HTML markup.
     // Each entry is displayed in the UI as a link that optionally includes
     // a text summary.
-    for (Entry entry : entries) {       
+    for (Entry entry : entries) {
         htmlString.append("&lt;p&gt;&lt;a href='");
         htmlString.append(entry.link);
         htmlString.append("'&gt;" + entry.title + "&lt;/a&gt;&lt;/p&gt;");
diff --git a/docs/html/training/basics/supporting-devices/index.jd b/docs/html/training/basics/supporting-devices/index.jd
index 4644c31..c9f2e6c 100644
--- a/docs/html/training/basics/supporting-devices/index.jd
+++ b/docs/html/training/basics/supporting-devices/index.jd
@@ -35,7 +35,7 @@
 variety of Android-compatible devices, using a single application package (APK).</p>
 
 <h2>Lessons</h2>
- 
+
 <dl>
   <dt><b><a href="languages.html">Supporting Different Languages</a></b></dt>
   <dd>Learn how to support multiple languages with alternative string resources.</dd>
@@ -44,5 +44,5 @@
   <dt><b><a href="platforms.html">Supporting Different Platform Versions</a></b></dt>
   <dd>Learn how to use APIs available in new versions of Android while continuing to support
 older versions of Android.</dd>
-</dl> 
+</dl>
 
diff --git a/docs/html/training/basics/supporting-devices/languages.jd b/docs/html/training/basics/supporting-devices/languages.jd
index ba7c016..0ad1faf 100644
--- a/docs/html/training/basics/supporting-devices/languages.jd
+++ b/docs/html/training/basics/supporting-devices/languages.jd
@@ -36,7 +36,7 @@
 your string values.</p>
 
 
-<h2 id="CreateDirs">Create Locale Directories and String Files</h2> 
+<h2 id="CreateDirs">Create Locale Directories and String Files</h2>
 
 <p>To add support for more languages, create additional <code>values</code> directories inside
 <code>res/</code> that include a hyphen and the ISO language code at the end of the
@@ -63,7 +63,7 @@
 
 <p>At runtime, the Android system uses the appropriate set of string resources based on the
 locale currently set for the user's device.</p>
-  
+
 <p>For example, the following are some different string resource files for different languages.</p>
 
 
@@ -112,7 +112,7 @@
 <p>In your source code, you can refer to a string resource with the syntax {@code
 R.string.<string_name>}. There are a variety of methods that accept a string resource this
 way.</p>
-  
+
 <p>For example:</p>
 
 <pre>
diff --git a/docs/html/training/basics/supporting-devices/platforms.jd b/docs/html/training/basics/supporting-devices/platforms.jd
index eecb356..6712029 100644
--- a/docs/html/training/basics/supporting-devices/platforms.jd
+++ b/docs/html/training/basics/supporting-devices/platforms.jd
@@ -10,14 +10,14 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#sdk-versions">Specify Minimum and Target API Levels</a></li>
       <li><a href="#version-codes">Check System Version at Runtime</a></li>
       <li><a href="#style-themes">Use Platform Styles and Themes</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a></li>
@@ -27,19 +27,19 @@
   </div>
 </div>
 
-<p>While the latest versions of Android often provide great APIs for your app, you should continue 
-to support older versions of Android until more devices get updated. This 
-lesson shows you how to take advantage of the latest APIs while continuing to support older 
+<p>While the latest versions of Android often provide great APIs for your app, you should continue
+to support older versions of Android until more devices get updated. This
+lesson shows you how to take advantage of the latest APIs while continuing to support older
 versions as well.</p>
 
 <p>The dashboard for <a
 href="http://developer.android.com/about/dashboards/index.html">Platform Versions</a>
-is updated regularly to show the distribution of active 
-devices running each version of Android, based on the number of devices that visit the Google Play 
-Store.  Generally, it’s a good practice to support about 90% of the active devices, while 
+is updated regularly to show the distribution of active
+devices running each version of Android, based on the number of devices that visit the Google Play
+Store.  Generally, it’s a good practice to support about 90% of the active devices, while
 targeting your app to the latest version.</p>
 
-<p class="note"><strong>Tip:</strong> In order to provide the best features and 
+<p class="note"><strong>Tip:</strong> In order to provide the best features and
 functionality across several Android versions, you should use the <a
 href="{@docRoot}tools/support-library/index.html">Android Support Library</a> in your app,
 which allows you to use several recent platform APIs on older versions.</p>
@@ -49,8 +49,8 @@
 <h2 id="sdk-versions">Specify Minimum and Target API Levels</h2>
 
 <p>The <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">AndroidManifest.xml</a> file
-describes details about your app and 
-identifies which versions of Android it supports.   Specifically, the <code>minSdkVersion</code> 
+describes details about your app and
+identifies which versions of Android it supports.   Specifically, the <code>minSdkVersion</code>
 and <code>targetSdkVersion</code> attributes for the <a
 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code <uses-sdk>}</a> element
 identify the lowest API level with which your app is compatible and the highest API level against
@@ -65,9 +65,9 @@
 &lt;/manifest>
 </pre>
 
-<p>As new versions of Android are released, some style and behaviors may change. 
+<p>As new versions of Android are released, some style and behaviors may change.
 To allow your app to take advantage of these changes and ensure that your app fits the style of
-each user's device, you should set the 
+each user's device, you should set the
 <a
 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
 value to match the latest Android version
@@ -93,24 +93,24 @@
 
 
 
-<p class="note"><strong>Note:</strong> When parsing XML resources, Android ignores XML 
+<p class="note"><strong>Note:</strong> When parsing XML resources, Android ignores XML
 attributes that aren’t supported by the current device. So you can safely use XML attributes that
 are only supported by newer versions without worrying about older versions breaking when they
-encounter that code. For example, if you set the 
+encounter that code. For example, if you set the
 <code>targetSdkVersion="11"</code>, your app includes the {@link android.app.ActionBar} by default
-on Android 3.0 and higher. To then add menu items to the action bar, you need to set 
-<code>android:showAsAction="ifRoom"</code> in your menu resource XML. It's safe to do this 
-in a cross-version XML file, because the older versions of Android simply ignore the 
-<code>showAsAction</code> attribute (that is, you <em>do not</em> need a separate 
+on Android 3.0 and higher. To then add menu items to the action bar, you need to set
+<code>android:showAsAction="ifRoom"</code> in your menu resource XML. It's safe to do this
+in a cross-version XML file, because the older versions of Android simply ignore the
+<code>showAsAction</code> attribute (that is, you <em>do not</em> need a separate
 version in <code>res/menu-v11/</code>).</p>
 
 
 
-<h2 id="style-themes">Use Platform Styles and Themes</h2> 
+<h2 id="style-themes">Use Platform Styles and Themes</h2>
 
-<p>Android provides user experience themes that give apps the look and feel of the 
-underlying operating system.  These themes can be applied to your app within the 
-manifest file.  By using these built in styles and themes, your app will 
+<p>Android provides user experience themes that give apps the look and feel of the
+underlying operating system.  These themes can be applied to your app within the
+manifest file.  By using these built in styles and themes, your app will
 naturally follow the latest look and feel of Android with each new release.</p>
 
 <p>To make your activity look like a dialog box:</p>
@@ -126,7 +126,7 @@
 <pre>&lt;activity android:theme="@style/CustomTheme"></pre>
 
 <p>To apply a theme to your entire app (all activities), add the <code>android:theme</code>
-attribute 
+attribute
 to the <a href="{@docRoot}guide/topics/manifest/application-element.html">{@code
 <application>}</a> element:</p>
 
diff --git a/docs/html/training/basics/supporting-devices/screens.jd b/docs/html/training/basics/supporting-devices/screens.jd
index 4b54de8..9d5e7c1 100644
--- a/docs/html/training/basics/supporting-devices/screens.jd
+++ b/docs/html/training/basics/supporting-devices/screens.jd
@@ -8,13 +8,13 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#create-layouts">Create Different Layouts</a></li>
       <li><a href="#create-bitmaps">Create Different Bitmaps</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}training/multiscreen/index.html">Designing for Multiple
@@ -26,9 +26,9 @@
   </div>
 </div>
 
-<p>Android categorizes device screens using two general properties:  size and density.  You should 
-expect that your app will be installed on devices with screens that range in both size 
-and density. As such, you should include some alternative resources that optimize your app’s 
+<p>Android categorizes device screens using two general properties:  size and density.  You should
+expect that your app will be installed on devices with screens that range in both size
+and density. As such, you should include some alternative resources that optimize your app’s
 appearance for different screen sizes and densities.</p>
 
 <ul>
@@ -46,12 +46,12 @@
 orientation.</p>
 
 
-<h2 id="create-layouts">Create Different Layouts</h2> 
+<h2 id="create-layouts">Create Different Layouts</h2>
 
 <p>To optimize your user experience on different screen sizes, you should create a unique layout XML
-file for each screen size you want to support. Each layout should be 
-saved into the appropriate resources directory, named with a <code>-&lt;screen_size></code> 
-suffix.  For example, a unique layout for large screens should be saved under 
+file for each screen size you want to support. Each layout should be
+saved into the appropriate resources directory, named with a <code>-&lt;screen_size></code>
+suffix.  For example, a unique layout for large screens should be saved under
 <code>res/layout-large/</code>.</p>
 
 <p class="note"><strong>Note:</strong> Android automatically scales your layout in order to
@@ -85,7 +85,7 @@
 }
 </pre>
 
-<p>The system loads the layout file from the appropriate layout directory based on screen size of 
+<p>The system loads the layout file from the appropriate layout directory based on screen size of
 the device on which your app is running. More information about how Android selects the
 appropriate resource is available in the <a
 href="{@docRoot}guide/topics/resources/providing-resources.html#BestMatch">Providing Resources</a>
@@ -120,7 +120,7 @@
             main.xml
 </pre>
 
-<p class="note"><strong>Note:</strong> Android 3.2 and above supports an advanced method of 
+<p class="note"><strong>Note:</strong> Android 3.2 and above supports an advanced method of
 defining screen sizes that allows you to specify resources for screen sizes based on
 the minimum width and height in terms of density-independent pixels. This lesson does not cover
 this new technique. For more information, read <a
@@ -128,14 +128,14 @@
 Screens</a>.</p>
 
 
- 
+
 <h2 id="create-bitmaps">Create Different Bitmaps</h2>
 
 <p>You should always provide bitmap resources that are properly scaled to each of the generalized
 density buckets: low, medium, high and extra-high density. This helps you achieve good graphical
 quality and performance on all screen densities.</p>
 
-<p>To generate these images, you should start with your raw resource in vector format and generate 
+<p>To generate these images, you should start with your raw resource in vector format and generate
 the images for each density using the following size scale:</p>
 <ul>
 <li>xhdpi: 2.0</li>
@@ -144,7 +144,7 @@
 <li>ldpi: 0.75</li>
 </ul>
 
-<p>This means that if you generate a 200x200 image for xhdpi devices, you should generate the same 
+<p>This means that if you generate a 200x200 image for xhdpi devices, you should generate the same
 resource in 150x150 for hdpi, 100x100 for mdpi, and 75x75 for ldpi devices.</p>
 
 <p>Then, place the files in the appropriate drawable resource directory:</p>
@@ -162,14 +162,14 @@
             awesomeimage.png
 </pre>
 
-<p>Any time you reference <code>@drawable/awesomeimage</code>, the system selects the 
+<p>Any time you reference <code>@drawable/awesomeimage</code>, the system selects the
 appropriate bitmap based on the screen's density.</p>
 
 <p class="note"><strong>Note:</strong> Low-density (ldpi) resources aren’t always necessary.  When
 you provide hdpi assets, the system scales them down by one half to properly fit ldpi
 screens.</p>
 
-<p>For more tips and guidelines about creating icon assets for your app, see the 
+<p>For more tips and guidelines about creating icon assets for your app, see the
 <a href="{@docRoot}design/style/iconography.html">Iconography design guide</a>.</p>
 
 
diff --git a/docs/html/training/building-userinfo.jd b/docs/html/training/building-userinfo.jd
index 40e5b94..a08899d 100644
--- a/docs/html/training/building-userinfo.jd
+++ b/docs/html/training/building-userinfo.jd
@@ -4,6 +4,6 @@
 @jd:body
 
 
-<p>These lessons teach you how to include contact information and authenticate users with the same 
-credentials they use for Google. These features allow your app to connect users with people they 
+<p>These lessons teach you how to include contact information and authenticate users with the same
+credentials they use for Google. These features allow your app to connect users with people they
 care about and provide a personalized experience without creating new user accounts.</p>
diff --git a/docs/html/training/camera/cameradirect.jd b/docs/html/training/camera/cameradirect.jd
index 6f358a5..851c7db 100644
--- a/docs/html/training/camera/cameradirect.jd
+++ b/docs/html/training/camera/cameradirect.jd
@@ -11,7 +11,7 @@
 
 <div id="tb-wrapper">
   <div id="tb">
-    
+
     <h2>This lesson teaches you to</h2>
     <ol>
       <li><a href="#TaskOpenCamera">Open the Camera Object</a></li>
@@ -22,7 +22,7 @@
       <li><a href="#TaskRestartPreview">Restart the Preview</a></li>
       <li><a href="#TaskReleaseCamera">Stop the Preview and Release the Camera</a></li>
     </ol>
-    
+
     <h2>You should also read</h2>
     <ul>
       <li><a href="{@docRoot}guide/topics/media/camera.html#custom-camera">Building
@@ -57,7 +57,7 @@
 <pre>
 private boolean safeCameraOpen(int id) {
     boolean qOpened = false;
-  
+
     try {
         releaseCameraAndPreview();
         mCamera = Camera.open(id);
@@ -67,7 +67,7 @@
         e.printStackTrace();
     }
 
-    return qOpened;    
+    return qOpened;
 }
 
 private void releaseCameraAndPreview() {
@@ -136,22 +136,22 @@
 <pre>
 public void setCamera(Camera camera) {
     if (mCamera == camera) { return; }
-    
+
     stopPreviewAndFreeCamera();
-    
+
     mCamera = camera;
-    
+
     if (mCamera != null) {
         List&lt;Size> localSizes = mCamera.getParameters().getSupportedPreviewSizes();
         mSupportedPreviewSizes = localSizes;
         requestLayout();
-      
+
         try {
             mCamera.setPreviewDisplay(mHolder);
         } catch (IOException e) {
             e.printStackTrace();
         }
-      
+
         // Important: Call startPreview() to start updating the preview
         // surface. Preview must be started before you can take a picture.
         mCamera.startPreview();
@@ -260,12 +260,12 @@
     if (mCamera != null) {
         // Call stopPreview() to stop updating the preview surface.
         mCamera.stopPreview();
-    
+
         // Important: Call release() to release the camera for use by other
         // applications. Applications should release the camera immediately
         // during onPause() and re-open() it during onResume()).
         mCamera.release();
-    
+
         mCamera = null;
     }
 }
diff --git a/docs/html/training/contacts-provider/display-contact-badge.jd b/docs/html/training/contacts-provider/display-contact-badge.jd
index b00ce0e..6c9616b 100644
--- a/docs/html/training/contacts-provider/display-contact-badge.jd
+++ b/docs/html/training/contacts-provider/display-contact-badge.jd
@@ -268,7 +268,7 @@
                         Uri.withAppendedPath(
                                 contactUri, Photo.CONTENT_DIRECTORY);
             }
-    
+
         /*
          * Retrieves an AssetFileDescriptor object for the thumbnail
          * URI
diff --git a/docs/html/training/contacts-provider/index.jd b/docs/html/training/contacts-provider/index.jd
index f380d95..9562977 100644
--- a/docs/html/training/contacts-provider/index.jd
+++ b/docs/html/training/contacts-provider/index.jd
@@ -55,7 +55,7 @@
     <a href="{@docRoot}guide/topics/providers/contacts-provider.html">Contacts Provider</a>.
 </p>
 <h2>Lessons</h2>
- 
+
 <dl>
     <dt>
         <b><a href="retrieve-names.html">Retrieving a List of Contacts</a></b>
diff --git a/docs/html/training/custom-views/index.jd b/docs/html/training/custom-views/index.jd
index 447da94..d249fbd 100755
--- a/docs/html/training/custom-views/index.jd
+++ b/docs/html/training/custom-views/index.jd
@@ -67,7 +67,7 @@
     custom drawings run faster.
 </dd>
 
-</dl> 
+</dl>
 
 
 
diff --git a/docs/html/training/displaying-bitmaps/cache-bitmap.jd b/docs/html/training/displaying-bitmaps/cache-bitmap.jd
index 7b9216e..d9622bc 100644
--- a/docs/html/training/displaying-bitmaps/cache-bitmap.jd
+++ b/docs/html/training/displaying-bitmaps/cache-bitmap.jd
@@ -187,7 +187,7 @@
 appropriate place to store cached images if they are accessed more frequently, for example in an
 image gallery application.</p>
 
-<p>The sample code of this class uses a {@code DiskLruCache} implementation that is pulled from the 
+<p>The sample code of this class uses a {@code DiskLruCache} implementation that is pulled from the
 <a href="https://android.googlesource.com/platform/libcore/+/jb-mr2-release/luni/src/main/java/libcore/io/DiskLruCache.java">Android source</a>.
 Here’s updated example code that adds a disk cache in addition to the existing memory cache:</p>
 
diff --git a/docs/html/training/displaying-bitmaps/index.jd b/docs/html/training/displaying-bitmaps/index.jd
index 831c64d..aea473f 100644
--- a/docs/html/training/displaying-bitmaps/index.jd
+++ b/docs/html/training/displaying-bitmaps/index.jd
@@ -56,7 +56,7 @@
   perform under this minimum memory limit. However, keep in mind many devices are configured with
   higher limits.</li>
   <li>Bitmaps take up a lot of memory, especially for rich images like photographs. For example, the
-  camera on the <a href="http://www.android.com/devices/detail/galaxy-nexus">Galaxy Nexus</a> takes 
+  camera on the <a href="http://www.android.com/devices/detail/galaxy-nexus">Galaxy Nexus</a> takes
   photos up to 2592x1936 pixels (5 megapixels). If the bitmap configuration used is {@link
   android.graphics.Bitmap.Config ARGB_8888} (the default from the Android 2.3 onward) then loading
   this image into memory takes about 19MB of memory (2592*1936*4 bytes), immediately exhausting the
diff --git a/docs/html/training/displaying-bitmaps/manage-memory.jd b/docs/html/training/displaying-bitmaps/manage-memory.jd
index b7c72bc..ef3bd6c 100644
--- a/docs/html/training/displaying-bitmaps/manage-memory.jd
+++ b/docs/html/training/displaying-bitmaps/manage-memory.jd
@@ -42,11 +42,11 @@
 
 <p>To set the stage for this lesson, here is how Android's management of
 bitmap memory has evolved:</p>
-<ul> 
+<ul>
   <li>
-On Android Android 2.2 (API level 8) and lower, when garbage 
+On Android Android 2.2 (API level 8) and lower, when garbage
 collection occurs, your app's threads get stopped. This causes a lag that
-can degrade performance. 
+can degrade performance.
 <strong>Android 2.3 adds concurrent garbage collection, which means that
 the memory is reclaimed soon after a bitmap is no longer referenced.</strong>
 </li>
@@ -66,7 +66,7 @@
 
 <h2 id="recycle">Manage Memory on Android 2.3.3 and Lower</h2>
 
-<p>On Android 2.3.3 (API level 10) and lower, using 
+<p>On Android 2.3.3 (API level 10) and lower, using
 {@link android.graphics.Bitmap#recycle recycle()}
 is recommended. If you're displaying large amounts of bitmap data in your app,
 you're likely to run into
@@ -82,12 +82,12 @@
 
 <p>The following code snippet gives an example of calling
 {@link android.graphics.Bitmap#recycle recycle()}. It uses reference counting
-(in the variables {@code mDisplayRefCount} and {@code mCacheRefCount}) to track 
+(in the variables {@code mDisplayRefCount} and {@code mCacheRefCount}) to track
 whether a bitmap is currently being displayed or in the cache. The
 code recycles the bitmap when these conditions are met:</p>
 
 <ul>
-<li>The reference count for both {@code mDisplayRefCount} and 
+<li>The reference count for both {@code mDisplayRefCount} and
 {@code mCacheRefCount} is 0.</li>
 <li>The bitmap is not {@code null}, and it hasn't been recycled yet.</li>
 </ul>
@@ -142,7 +142,7 @@
 
 <p>Android 3.0 (API level 11) introduces the
 {@link android.graphics.BitmapFactory.Options#inBitmap BitmapFactory.Options.inBitmap}
-field. If this option is set, decode methods that take the 
+field. If this option is set, decode methods that take the
 {@link android.graphics.BitmapFactory.Options Options} object
 will attempt to reuse an existing bitmap when loading content. This means
 that the bitmap's memory is reused, resulting in improved performance, and
@@ -154,7 +154,7 @@
 <h3>Save a bitmap for later use</h3>
 
 <p>The following snippet demonstrates how an existing bitmap is stored for possible
-later use in the sample app. When an app is running on Android 3.0 or higher and 
+later use in the sample app. When an app is running on Android 3.0 or higher and
 a bitmap is evicted from the {@link android.util.LruCache},
 a soft reference to the bitmap is placed
 in a {@link java.util.HashSet}, for possible reuse later with
@@ -238,7 +238,7 @@
     }
 }
 
-// This method iterates through the reusable bitmaps, looking for one 
+// This method iterates through the reusable bitmaps, looking for one
 // to use for inBitmap:
 protected Bitmap getBitmapFromReusableSet(BitmapFactory.Options options) {
         Bitmap bitmap = null;
diff --git a/docs/html/training/efficient-downloads/connectivity_patterns.jd b/docs/html/training/efficient-downloads/connectivity_patterns.jd
index 81f1540..079e967 100644
--- a/docs/html/training/efficient-downloads/connectivity_patterns.jd
+++ b/docs/html/training/efficient-downloads/connectivity_patterns.jd
@@ -26,7 +26,7 @@
 </div>
 
 <p>When it comes to impact on battery life, not all connection types are created equal. Not only does the Wi-Fi radio use significantly less battery than its wireless radio counterparts, but the radios used in different wireless radio technologies have different battery implications.</p>
- 
+
 <h2 id="WiFi">Use Wi-Fi</h2>
 
 <p>In most cases a Wi-Fi radio will offer greater bandwidth at a significantly lower battery cost. As a result, you should endeavor to perform data transfers when connected over Wi-Fi whenever possible.</p>
@@ -50,22 +50,22 @@
 
 TelephonyManager tm =
   (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
-  
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
- 
+
 int PrefetchCacheSize = DEFAULT_PREFETCH_CACHE;
- 
+
 switch (activeNetwork.getType()) {
-  case (ConnectivityManager.TYPE_WIFI): 
+  case (ConnectivityManager.TYPE_WIFI):
     PrefetchCacheSize = MAX_PREFETCH_CACHE; break;
   case (ConnectivityManager.TYPE_MOBILE): {
     switch (tm.getNetworkType()) {
-      case (TelephonyManager.NETWORK_TYPE_LTE | 
-            TelephonyManager.NETWORK_TYPE_HSPAP): 
+      case (TelephonyManager.NETWORK_TYPE_LTE |
+            TelephonyManager.NETWORK_TYPE_HSPAP):
         PrefetchCacheSize *= 4;
         break;
-      case (TelephonyManager.NETWORK_TYPE_EDGE | 
-            TelephonyManager.NETWORK_TYPE_GPRS): 
+      case (TelephonyManager.NETWORK_TYPE_EDGE |
+            TelephonyManager.NETWORK_TYPE_GPRS):
         PrefetchCacheSize /= 2;
         break;
       default: break;
diff --git a/docs/html/training/efficient-downloads/efficient-network-access.jd b/docs/html/training/efficient-downloads/efficient-network-access.jd
index 1d3a8a5..7f061ca 100644
--- a/docs/html/training/efficient-downloads/efficient-network-access.jd
+++ b/docs/html/training/efficient-downloads/efficient-network-access.jd
@@ -32,9 +32,9 @@
 <p>Using the wireless radio to transfer data is potentially one of your app's most significant sources of battery drain. To minimize the battery drain associated with network activity, it's critical that you understand how your connectivity model will affect the underlying radio hardware.</p>
 
 <p>This lesson introduces the wireless radio state machine and explains how your app's connectivity model interacts with it. It goes on to propose ways to minimize your data connections, use prefetching, and bundle your transfers in order to minimize the battery drain associated with your data transfers.</p>
- 
-<h2 id="RadioStateMachine">The Radio State Machine</h2> 
- 
+
+<h2 id="RadioStateMachine">The Radio State Machine</h2>
+
 <p>A fully active wireless radio consumes significant power, so it transitions between different energy states in order to conserve power when not in use, while attempting to minimize latency associated with "powering up" the radio when it's required.</p>
 
 <p>The state machine for a typical 3G network radio consists of three energy states:
@@ -57,9 +57,9 @@
 <p>This approach is particularly effective for typical web browsing as it prevents unwelcome latency while users browse the web. The relatively low tail-time also ensures that once a browsing session has finished, the radio can move to a lower energy state.</p>
 
 <p>Unfortunately, this approach can lead to inefficient apps on modern smartphone OSs like Android, where apps run both in the foreground (where latency is important) and in the background (where battery life should be prioritized).</p>
- 
-<h2 id="AppsStateMachine">How Apps Impact the Radio State Machine</h2> 
- 
+
+<h2 id="AppsStateMachine">How Apps Impact the Radio State Machine</h2>
+
 <p>Every time you create a new network connection, the radio transitions to the full power state. In the case of the typical 3G radio state machine described above, it will remain at full power for the duration of your transfer&mdash;plus an additional 5 seconds of tail time&mdash;followed by 12 seconds at the low energy state.  So for a typical 3G device, every data transfer session will cause the radio to draw energy for almost 20 seconds.</p>
 
 <p>In practice, this means an app that transfers unbundled data for 1 second every 18 seconds will keep the wireless radio perpetually active, moving it back to high power just as it was about to become idle. As a result, every minute it will consume battery at the high power state for 18 seconds, and at the low power state for the remaining 42 seconds.</p>
@@ -71,7 +71,7 @@
 <img src="{@docRoot}images/efficient-downloads/graphs.png" />
 <p class="img-caption"><strong>Figure 2.</strong> Relative wireless radio power use for bundled versus unbundled transfers.</p>
 
-<h2 id="PrefetchData">Prefetch Data</h2> 
+<h2 id="PrefetchData">Prefetch Data</h2>
 
 <p>Prefetching data is an effective way to reduce the number of independent data transfer sessions. Prefetching allows you to download all the data you are likely to need for a given time period in a single burst, over a single connection, at full capacity.</p>
 
@@ -135,7 +135,7 @@
 
 <p>Rather than creating multiple simultaneous connections to download data, or chaining multiple consecutive GET requests, where possible you should bundle those requests into a single GET.</p>
 
-<p>For example, it would be more efficient to make a single request for every news article to be returned in a single request / response than to make multiple queries for several news categories. 
+<p>For example, it would be more efficient to make a single request for every news article to be returned in a single request / response than to make multiple queries for several news categories.
 The wireless radio needs to become active in order to transmit the termination / termination acknowledgement packets associated with server and client  timeout, so it's also good practice to close your connections when they aren't in use, rather than waiting for these timeouts.</p>
 
 <p>That said, closing a connection too early can prevent it from being reused, which then requires additional overhead for establishing a new connection. A useful compromise is not to close the connection immediately, but to still close it before the inherent timeout expires.</p>
diff --git a/docs/html/training/efficient-downloads/index.jd b/docs/html/training/efficient-downloads/index.jd
index d9d7ef0..a4c2aa1 100644
--- a/docs/html/training/efficient-downloads/index.jd
+++ b/docs/html/training/efficient-downloads/index.jd
@@ -26,18 +26,18 @@
 
 <p>In this class you will learn to minimize the battery life impact of downloads and network connections, particularly in relation to the wireless radio.</P
 
-<p>This class demonstrates the best practices for scheduling and executing downloads using techniques such as caching, polling, and prefetching. You will learn how the power-use profile of the wireless radio can affect your choices on when, what, and how to transfer data in order to minimize impact on battery life.</p> 
+<p>This class demonstrates the best practices for scheduling and executing downloads using techniques such as caching, polling, and prefetching. You will learn how the power-use profile of the wireless radio can affect your choices on when, what, and how to transfer data in order to minimize impact on battery life.</p>
 
-<h2>Lessons</h2> 
- 
+<h2>Lessons</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
-<dl> 
+will want to jump to a lesson or not.-->
+
+<dl>
   <dt><b><a href="efficient-network-access.html">Optimizing Downloads for Efficient Network Access</a></b></dt>
     <dd>This lesson introduces the wireless radio state machine, explains how your app’s connectivity model interacts with it, and how you can minimize your data connection and use prefetching and bundling to minimize the battery drain associated with your data transfers.</dd>
- 
+
   <dt><b><a href="regular_updates.html">Minimizing the Effect of Regular Updates</a></b></dt>
     <dd>This lesson will examine how your refresh frequency can be varied to best mitigate the effect of background updates on the underlying wireless radio state machine.</dd>
 
@@ -47,4 +47,4 @@
   <dt><b><a href="connectivity_patterns.html">Modifying your Download Patterns Based on the Connectivity Type</a></b></dt>
     <dd>When it comes to impact on battery life, not all connection types are created equal. Not only does the Wi-Fi radio use significantly less battery than its wireless radio counterparts, but the radios used in different wireless radio technologies have different battery implications.</dd>
 
-</dl> 
+</dl>
diff --git a/docs/html/training/efficient-downloads/regular_updates.jd b/docs/html/training/efficient-downloads/regular_updates.jd
index 8e3842a..b87c512 100644
--- a/docs/html/training/efficient-downloads/regular_updates.jd
+++ b/docs/html/training/efficient-downloads/regular_updates.jd
@@ -33,9 +33,9 @@
 <p><a href="{@docRoot}training/monitoring-device-state/index.html">Optimizing Battery Life</a> discusses how to build battery-efficient apps that modify their refresh frequency based on the state of the host device. That includes disabling background service updates when you lose connectivity and reducing the rate of updates when the battery level is low.</p>
 
 <p>This lesson will examine how your refresh frequency can be varied to best mitigate the effect of background updates on the underlying wireless radio state machine.</p>
- 
-<h2 id="GCM">Use Google Cloud Messaging as an Alternative to Polling</h2> 
- 
+
+<h2 id="GCM">Use Google Cloud Messaging as an Alternative to Polling</h2>
+
 <p>Every time your app polls your server to check if an update is required, you activate the wireless radio, drawing power unnecessarily, for up to 20 seconds on a typical 3G connection.</p>
 
 <p><a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging for Android (GCM)</a> is a lightweight mechanism used to transmit data from a server to a particular app instance. Using GCM, your server can notify your app running on a particular device that there is new data available for it.</p>
@@ -46,7 +46,7 @@
 
 <p>GCM is implemented using a persistent TCP/IP connection. While it's possible to implement your own push service, it's best practice to use GCM. This minimizes the number of persistent connections and allows the platform to optimize bandwidth and minimize the associated impact on battery life.</p>
 
-<h2 id="OptimizedPolling">Optimize Polling with Inexact Repeating Alarms and Exponential Backoffs</h2> 
+<h2 id="OptimizedPolling">Optimize Polling with Inexact Repeating Alarms and Exponential Backoffs</h2>
 
 <p>Where polling is required, it's good practice to set the default data refresh frequency of your app as low as possible without detracting from the user experience.</p>
 
@@ -68,14 +68,14 @@
 
 <p>One approach is to implement an exponential back-off pattern to reduce the frequency of your updates (and / or the degree of prefetching you perform) if the app hasn't been used since the previous update. It's often useful to assert a minimum update frequency and to reset the frequency whenever the app is used, for example:</p>
 
-<pre>SharedPreferences sp = 
+<pre>SharedPreferences sp =
   context.getSharedPreferences(PREFS, Context.MODE_WORLD_READABLE);
 
 boolean appUsed = sp.getBoolean(PREFS_APPUSED, false);
 long updateInterval = sp.getLong(PREFS_INTERVAL, DEFAULT_REFRESH_INTERVAL);
 
 if (!appUsed)
-  if ((updateInterval *= 2) > MAX_REFRESH_INTERVAL)  
+  if ((updateInterval *= 2) > MAX_REFRESH_INTERVAL)
     updateInterval = MAX_REFRESH_INTERVAL;
 
 Editor spEdit = sp.edit();
@@ -92,10 +92,10 @@
 
 <pre>private void retryIn(long interval) {
   boolean success = attemptTransfer();
-    
+
   if (!success) {
-    retryIn(interval*2 < MAX_RETRY_INTERVAL ? 
-            interval*2 : MAX_RETRY_INTERVAL);      
+    retryIn(interval*2 < MAX_RETRY_INTERVAL ?
+            interval*2 : MAX_RETRY_INTERVAL);
   }
 }</pre>
 
diff --git a/docs/html/training/gestures/detector.jd b/docs/html/training/gestures/detector.jd
index 97f039c..0624e86 100644
--- a/docs/html/training/gestures/detector.jd
+++ b/docs/html/training/gestures/detector.jd
@@ -48,48 +48,48 @@
 
 <ol>
   <li>Gathering data about touch events.</li>
-  
+
   <li>Interpreting the data to see if it meets the criteria for any of the
-gestures your app supports. </li> 
+gestures your app supports. </li>
 
 </ol>
 
 <h4>Support Library Classes</h4>
 
 <p>The examples in this lesson use the {@link android.support.v4.view.GestureDetectorCompat}
-and {@link android.support.v4.view.MotionEventCompat} classes. These classes are in the 
+and {@link android.support.v4.view.MotionEventCompat} classes. These classes are in the
 <a href="{@docRoot}tools/support-library/index.html">Support Library</a>. You should use
-Support Library classes where possible to provide compatibility with devices 
-running Android 1.6 and higher. Note that {@link android.support.v4.view.MotionEventCompat} is <em>not</em> a 
-replacement for the {@link android.view.MotionEvent} class. Rather, it provides static utility 
-methods to which you pass your {@link android.view.MotionEvent} object in order to receive 
+Support Library classes where possible to provide compatibility with devices
+running Android 1.6 and higher. Note that {@link android.support.v4.view.MotionEventCompat} is <em>not</em> a
+replacement for the {@link android.view.MotionEvent} class. Rather, it provides static utility
+methods to which you pass your {@link android.view.MotionEvent} object in order to receive
 the desired action associated with that event.</p>
 
 <h2 id="data">Gather Data</h2>
 
 <p>When a user places one or more fingers on the screen, this  triggers the
-callback {@link android.view.View#onTouchEvent onTouchEvent()} 
+callback {@link android.view.View#onTouchEvent onTouchEvent()}
 on the View that received the touch events.
-For each sequence of touch events (position, pressure, size, addition of another finger, etc.) 
+For each sequence of touch events (position, pressure, size, addition of another finger, etc.)
 that is ultimately identified as a gesture,
 {@link android.view.View#onTouchEvent onTouchEvent()} is fired several times.</p>
 
 <p>The gesture starts when the user first touches the screen, continues as the system tracks
 the position of the user's finger(s), and ends by capturing the final event of
-the user's fingers leaving the screen. Throughout this interaction, 
-the {@link android.view.MotionEvent} delivered to {@link android.view.View#onTouchEvent onTouchEvent()} 
-provides the details of every interaction. Your app can use the data provided by the {@link android.view.MotionEvent} 
+the user's fingers leaving the screen. Throughout this interaction,
+the {@link android.view.MotionEvent} delivered to {@link android.view.View#onTouchEvent onTouchEvent()}
+provides the details of every interaction. Your app can use the data provided by the {@link android.view.MotionEvent}
 to determine if a gesture it cares
 about happened.</p>
 
 <h3>Capturing touch events for an Activity or View</h3>
 
-<p><p>To intercept touch events in an Activity or View, override 
+<p><p>To intercept touch events in an Activity or View, override
 the {@link android.view.View#onTouchEvent onTouchEvent()} callback.</p>
 
-<p>The following snippet uses 
+<p>The following snippet uses
 {@link android.support.v4.view.MotionEventCompat#getActionMasked getActionMasked()}
-to extract the action the user performed from the {@code event} parameter. This gives you the raw 
+to extract the action the user performed from the {@code event} parameter. This gives you the raw
 data you need to determine if a gesture you care about occurred:</p>
 
 <pre>
@@ -98,10 +98,10 @@
 // This example shows an Activity, but you would use the same approach if
 // you were subclassing a View.
 &#64;Override
-public boolean onTouchEvent(MotionEvent event){ 
-        
+public boolean onTouchEvent(MotionEvent event){
+
     int action = MotionEventCompat.getActionMasked(event);
-        
+
     switch(action) {
         case (MotionEvent.ACTION_DOWN) :
             Log.d(DEBUG_TAG,"Action was DOWN");
@@ -118,10 +118,10 @@
         case (MotionEvent.ACTION_OUTSIDE) :
             Log.d(DEBUG_TAG,"Movement occurred outside bounds " +
                     "of current screen element");
-            return true;      
-        default : 
+            return true;
+        default :
             return super.onTouchEvent(event);
-    }      
+    }
 }</pre>
 
 <p>You can then do your own processing on these events to determine if a
@@ -143,22 +143,22 @@
 events without subclassing an existing {@link android.view.View}. For
 example:</p>
 
-<pre>View myView = findViewById(R.id.my_view); 
+<pre>View myView = findViewById(R.id.my_view);
 myView.setOnTouchListener(new OnTouchListener() {
     public boolean onTouch(View v, MotionEvent event) {
-        // ... Respond to touch events       
+        // ... Respond to touch events
         return true;
     }
 });</pre>
 
-<p>Beware of creating a listener that returns {@code false} for the 
-{@link android.view.MotionEvent#ACTION_DOWN} event. If you do this, the listener will 
-not be called for the subsequent {@link android.view.MotionEvent#ACTION_MOVE} 
+<p>Beware of creating a listener that returns {@code false} for the
+{@link android.view.MotionEvent#ACTION_DOWN} event. If you do this, the listener will
+not be called for the subsequent {@link android.view.MotionEvent#ACTION_MOVE}
 and {@link android.view.MotionEvent#ACTION_UP} string of events. This is because
 {@link android.view.MotionEvent#ACTION_DOWN} is the starting point for all touch events.</p>
 
-<p>If you are creating a custom View, you can override 
-{@link android.view.View#onTouchEvent onTouchEvent()}, 
+<p>If you are creating a custom View, you can override
+{@link android.view.View#onTouchEvent onTouchEvent()},
 as described above.</p>
 
 <h2 id="detect">Detect Gestures</h2>
@@ -168,24 +168,24 @@
 android.view.GestureDetector.OnGestureListener#onDown onDown()}, {@link
 android.view.GestureDetector.OnGestureListener#onLongPress onLongPress()},
 {@link android.view.GestureDetector.OnGestureListener#onFling onFling()}, and so
-on. You can use {@link android.view.GestureDetector} in conjunction with the 
+on. You can use {@link android.view.GestureDetector} in conjunction with the
 {@link android.view.View#onTouchEvent onTouchEvent()}
 method described above.</p>
 
 
 <h3>Detecting All Supported Gestures</h3>
 
-<p>When you instantiate a {@link android.support.v4.view.GestureDetectorCompat} 
-object, one of the parameters it takes is a class that implements the 
-{@link android.view.GestureDetector.OnGestureListener} interface.  
-{@link android.view.GestureDetector.OnGestureListener} notifies users when 
-a particular touch event has occurred. To make it possible for your 
-{@link android.view.GestureDetector} object to receive events, you override 
-the View or Activity's {@link android.view.View#onTouchEvent onTouchEvent()} method, 
+<p>When you instantiate a {@link android.support.v4.view.GestureDetectorCompat}
+object, one of the parameters it takes is a class that implements the
+{@link android.view.GestureDetector.OnGestureListener} interface.
+{@link android.view.GestureDetector.OnGestureListener} notifies users when
+a particular touch event has occurred. To make it possible for your
+{@link android.view.GestureDetector} object to receive events, you override
+the View or Activity's {@link android.view.View#onTouchEvent onTouchEvent()} method,
 and pass along all observed events to the detector instance.</p>
 
 
-<p>In the following snippet, a return value of {@code true} from the individual 
+<p>In the following snippet, a return value of {@code true} from the individual
 <code>on<em>&lt;TouchEvent&gt;</em></code> methods indicates that you
 have handled the touch event. A return value of {@code false} passes events down
 through the view stack until the touch has been successfully handled.</p>
@@ -195,14 +195,14 @@
 android.view.MotionEvent} are for each touch event. You will realize how much
 data is being generated for even simple interactions.</p>
 
-<pre>public class MainActivity extends Activity implements 
+<pre>public class MainActivity extends Activity implements
         GestureDetector.OnGestureListener,
         GestureDetector.OnDoubleTapListener{
-    
-    private static final String DEBUG_TAG = "Gestures";
-    private GestureDetectorCompat mDetector; 
 
-    // Called when the activity is first created. 
+    private static final String DEBUG_TAG = "Gestures";
+    private GestureDetectorCompat mDetector;
+
+    // Called when the activity is first created.
     &#64;Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -216,21 +216,21 @@
         mDetector.setOnDoubleTapListener(this);
     }
 
-    &#64;Override 
-    public boolean onTouchEvent(MotionEvent event){ 
+    &#64;Override
+    public boolean onTouchEvent(MotionEvent event){
         this.mDetector.onTouchEvent(event);
         // Be sure to call the superclass implementation
         return super.onTouchEvent(event);
     }
 
     &#64;Override
-    public boolean onDown(MotionEvent event) { 
-        Log.d(DEBUG_TAG,"onDown: " + event.toString()); 
+    public boolean onDown(MotionEvent event) {
+        Log.d(DEBUG_TAG,"onDown: " + event.toString());
         return true;
     }
 
     &#64;Override
-    public boolean onFling(MotionEvent event1, MotionEvent event2, 
+    public boolean onFling(MotionEvent event1, MotionEvent event2,
             float velocityX, float velocityY) {
         Log.d(DEBUG_TAG, "onFling: " + event1.toString()+event2.toString());
         return true;
@@ -238,7 +238,7 @@
 
     &#64;Override
     public void onLongPress(MotionEvent event) {
-        Log.d(DEBUG_TAG, "onLongPress: " + event.toString()); 
+        Log.d(DEBUG_TAG, "onLongPress: " + event.toString());
     }
 
     &#64;Override
@@ -294,23 +294,23 @@
 android.view.GestureDetector.OnGestureListener#onFling onFling()} and {@link
 android.view.GestureDetector.OnGestureListener#onDown onDown()}.</p>
 
-<p>Whether or not you use {@link android.view.GestureDetector.OnGestureListener}, 
-it's best practice to implement an 
-{@link android.view.GestureDetector.OnGestureListener#onDown onDown()} 
-method that returns {@code true}. This is because all gestures begin with an 
-{@link android.view.GestureDetector.OnGestureListener#onDown onDown()} message. If you return 
-{@code false} from {@link android.view.GestureDetector.OnGestureListener#onDown onDown()}, 
-as {@link android.view.GestureDetector.SimpleOnGestureListener} does by default, 
-the system assumes that you want to ignore the rest of the gesture, and the other methods of 
-{@link android.view.GestureDetector.OnGestureListener} never get called. 
-This has the potential to cause unexpected problems in your app. 
-The only time you should return {@code false} from 
-{@link android.view.GestureDetector.OnGestureListener#onDown onDown()} 
+<p>Whether or not you use {@link android.view.GestureDetector.OnGestureListener},
+it's best practice to implement an
+{@link android.view.GestureDetector.OnGestureListener#onDown onDown()}
+method that returns {@code true}. This is because all gestures begin with an
+{@link android.view.GestureDetector.OnGestureListener#onDown onDown()} message. If you return
+{@code false} from {@link android.view.GestureDetector.OnGestureListener#onDown onDown()},
+as {@link android.view.GestureDetector.SimpleOnGestureListener} does by default,
+the system assumes that you want to ignore the rest of the gesture, and the other methods of
+{@link android.view.GestureDetector.OnGestureListener} never get called.
+This has the potential to cause unexpected problems in your app.
+The only time you should return {@code false} from
+{@link android.view.GestureDetector.OnGestureListener#onDown onDown()}
 is if you truly want to ignore an entire gesture. </p>
 
-<pre>public class MainActivity extends Activity { 
-    
-    private GestureDetectorCompat mDetector; 
+<pre>public class MainActivity extends Activity {
+
+    private GestureDetectorCompat mDetector;
 
     &#64;Override
     public void onCreate(Bundle savedInstanceState) {
@@ -319,23 +319,23 @@
         mDetector = new GestureDetectorCompat(this, new MyGestureListener());
     }
 
-    &#64;Override 
-    public boolean onTouchEvent(MotionEvent event){ 
+    &#64;Override
+    public boolean onTouchEvent(MotionEvent event){
         this.mDetector.onTouchEvent(event);
         return super.onTouchEvent(event);
     }
-    
+
     class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
-        private static final String DEBUG_TAG = "Gestures"; 
-        
+        private static final String DEBUG_TAG = "Gestures";
+
         &#64;Override
-        public boolean onDown(MotionEvent event) { 
-            Log.d(DEBUG_TAG,"onDown: " + event.toString()); 
+        public boolean onDown(MotionEvent event) {
+            Log.d(DEBUG_TAG,"onDown: " + event.toString());
             return true;
         }
 
         &#64;Override
-        public boolean onFling(MotionEvent event1, MotionEvent event2, 
+        public boolean onFling(MotionEvent event1, MotionEvent event2,
                 float velocityX, float velocityY) {
             Log.d(DEBUG_TAG, "onFling: " + event1.toString()+event2.toString());
             return true;
diff --git a/docs/html/training/gestures/index.jd b/docs/html/training/gestures/index.jd
index 260cfff..fad1afa 100644
--- a/docs/html/training/gestures/index.jd
+++ b/docs/html/training/gestures/index.jd
@@ -60,7 +60,7 @@
         <strong><a href="detector.html">Detecting Common Gestures</a></strong>
     </dt>
     <dd>
-        Learn how to detect basic touch gestures such as scrolling, flinging, and double-tapping, using 
+        Learn how to detect basic touch gestures such as scrolling, flinging, and double-tapping, using
        {@link android.view.GestureDetector}.
     </dd>
 
@@ -84,7 +84,7 @@
     </dt>
     <dd>
         Learn how to detect multi-pointer (finger) gestures.
-    </dd> 
+    </dd>
 <dt>
         <strong><a href="scale.html">Dragging and Scaling</a></strong>
     </dt>
diff --git a/docs/html/training/gestures/movement.jd b/docs/html/training/gestures/movement.jd
index ed4928e..0a611b3 100644
--- a/docs/html/training/gestures/movement.jd
+++ b/docs/html/training/gestures/movement.jd
@@ -55,13 +55,13 @@
 To help apps distinguish between movement-based gestures (such as a swipe) and
 non-movement gestures (such as a single tap), Android includes the notion of
 "touch slop." Touch slop refers to the distance in pixels a user's touch can wander
-before the gesture is interpreted as a movement-based gesture. For more discussion of this 
+before the gesture is interpreted as a movement-based gesture. For more discussion of this
 topic, see <a href="viewgroup.html#vc">Managing Touch Events in a ViewGroup</a>.</p>
 
 
 
 <p>There are several different ways to track movement in a gesture, depending on
-the needs of your application. For example:</p> 
+the needs of your application. For example:</p>
 
 <ul>
 
@@ -89,8 +89,8 @@
 <p> You could have a movement-based gesture that is simply based on the distance and/or direction the pointer traveled. But velocity often is a
 determining factor in tracking a gesture's characteristics or even deciding
 whether the gesture occurred. To make velocity calculation easier, Android
-provides the {@link android.view.VelocityTracker} class and the  	
-{@link android.support.v4.view.VelocityTrackerCompat} class in the 
+provides the {@link android.view.VelocityTracker} class and the
+{@link android.support.v4.view.VelocityTrackerCompat} class in the
 <a href="{@docRoot}tools/support-library/index.html">Support Library</a>.
 {@link
 android.view.VelocityTracker} helps you track the velocity of touch events. This
@@ -98,7 +98,7 @@
 gesture, such as a fling.</p>
 
 
-<p>Here is a simple example that illustrates the purpose of the methods in the 
+<p>Here is a simple example that illustrates the purpose of the methods in the
 {@link android.view.VelocityTracker} API:</p>
 
 <pre>public class MainActivity extends Activity {
@@ -126,16 +126,16 @@
                 break;
             case MotionEvent.ACTION_MOVE:
                 mVelocityTracker.addMovement(event);
-                // When you want to determine the velocity, call 
-                // computeCurrentVelocity(). Then call getXVelocity() 
-                // and getYVelocity() to retrieve the velocity for each pointer ID. 
+                // When you want to determine the velocity, call
+                // computeCurrentVelocity(). Then call getXVelocity()
+                // and getYVelocity() to retrieve the velocity for each pointer ID.
                 mVelocityTracker.computeCurrentVelocity(1000);
                 // Log velocity of pixels per second
                 // Best practice to use VelocityTrackerCompat where possible.
-                Log.d("", "X velocity: " + 
-                        VelocityTrackerCompat.getXVelocity(mVelocityTracker, 
+                Log.d("", "X velocity: " +
+                        VelocityTrackerCompat.getXVelocity(mVelocityTracker,
                         pointerId));
-                Log.d("", "Y velocity: " + 
+                Log.d("", "Y velocity: " +
                         VelocityTrackerCompat.getYVelocity(mVelocityTracker,
                         pointerId));
                 break;
@@ -150,8 +150,8 @@
 }
 </pre>
 
-<p class="note"><strong>Note:</strong> Note that you should calculate velocity after an 
-{@link android.view.MotionEvent#ACTION_MOVE} event, 
-not after {@link android.view.MotionEvent#ACTION_UP}. After an {@link android.view.MotionEvent#ACTION_UP}, 
+<p class="note"><strong>Note:</strong> Note that you should calculate velocity after an
+{@link android.view.MotionEvent#ACTION_MOVE} event,
+not after {@link android.view.MotionEvent#ACTION_UP}. After an {@link android.view.MotionEvent#ACTION_UP},
 the X and Y velocities will be 0.
 </p>
diff --git a/docs/html/training/gestures/multi.jd b/docs/html/training/gestures/multi.jd
index 5840482..21860fc 100644
--- a/docs/html/training/gestures/multi.jd
+++ b/docs/html/training/gestures/multi.jd
@@ -47,15 +47,15 @@
 
 <h2 id="track">Track Multiple Pointers</h2>
 
-<p>When multiple pointers touch the screen at the same time, the system generates the 
+<p>When multiple pointers touch the screen at the same time, the system generates the
 following touch events:</p>
 
 <ul>
-  <li>{@link android.view.MotionEvent#ACTION_DOWN}&mdash;For the first pointer that 
-touches the screen. This starts the gesture. The pointer data for this pointer is 
+  <li>{@link android.view.MotionEvent#ACTION_DOWN}&mdash;For the first pointer that
+touches the screen. This starts the gesture. The pointer data for this pointer is
 always at index 0 in the {@link android.view.MotionEvent}.</li>
-  <li>{@link android.support.v4.view.MotionEventCompat#ACTION_POINTER_DOWN}&mdash;For 
-extra pointers that enter the screen beyond the first. The pointer data for this 
+  <li>{@link android.support.v4.view.MotionEventCompat#ACTION_POINTER_DOWN}&mdash;For
+extra pointers that enter the screen beyond the first. The pointer data for this
 pointer is at the index returned by {@link android.support.v4.view.MotionEventCompat#getActionIndex getActionIndex()}.</li>
   <li>{@link android.view.MotionEvent#ACTION_MOVE}&mdash;A change has happened during a press gesture.</li>
   <li>{@link android.support.v4.view.MotionEventCompat#ACTION_POINTER_UP}&mdash;Sent when a non-primary pointer goes up.</li>
@@ -66,20 +66,20 @@
 android.view.MotionEvent} via each pointer's index and ID:</p>
 
 <ul>
-<li><strong>Index</strong>: A {@link android.view.MotionEvent} effectively 
-stores information about each pointer in an array. The index of a pointer is its position 
+<li><strong>Index</strong>: A {@link android.view.MotionEvent} effectively
+stores information about each pointer in an array. The index of a pointer is its position
 within this array. Most of the {@link
 android.view.MotionEvent} methods you use to interact with pointers take the
 pointer index as a parameter, not the pointer ID. </li>
-  
-  
+
+
   <li><strong>ID</strong>: Each pointer also has an ID mapping that stays
-persistent across touch events to allow tracking an individual pointer across 
+persistent across touch events to allow tracking an individual pointer across
 the entire gesture.</li>
-  
+
 </ul>
 
-<p>The  order in which individual pointers appear within a motion event is 
+<p>The  order in which individual pointers appear within a motion event is
 undefined. Thus the index of a pointer can change from one event to the
 next, but the pointer ID of a pointer is guaranteed to remain  constant as long
 as the pointer remains active. Use the  {@link
@@ -91,7 +91,7 @@
 
 
 <pre>private int mActivePointerId;
- 
+
 public boolean onTouchEvent(MotionEvent event) {
     ....
     // Get the pointer ID
@@ -99,7 +99,7 @@
 
     // ... Many touch events later...
 
-    // Use the pointer ID to find the index of the active pointer 
+    // Use the pointer ID to find the index of the active pointer
     // and fetch its position
     int pointerIndex = event.findPointerIndex(mActivePointerId);
     // Get the pointer's current position
@@ -109,25 +109,25 @@
 
 <h2 id="action">Get a MotionEvent's Action</h2>
 
-<p>You should always use the method  
-{@link android.view.MotionEvent#getActionMasked getActionMasked()} (or better yet, the compatability version 
-{@link android.support.v4.view.MotionEventCompat#getActionMasked MotionEventCompat.getActionMasked()}) to retrieve 
+<p>You should always use the method
+{@link android.view.MotionEvent#getActionMasked getActionMasked()} (or better yet, the compatability version
+{@link android.support.v4.view.MotionEventCompat#getActionMasked MotionEventCompat.getActionMasked()}) to retrieve
 the action of a
-{@link android.view.MotionEvent}. Unlike the older {@link android.view.MotionEvent#getAction getAction()} 
-method, {@link android.support.v4.view.MotionEventCompat#getActionMasked getActionMasked()} is designed to work with 
-multiple pointers. It returns the masked action 
-being performed, without including the pointer index bits. You can then use 
-{@link android.support.v4.view.MotionEventCompat#getActionIndex getActionIndex()} to return the index of 
+{@link android.view.MotionEvent}. Unlike the older {@link android.view.MotionEvent#getAction getAction()}
+method, {@link android.support.v4.view.MotionEventCompat#getActionMasked getActionMasked()} is designed to work with
+multiple pointers. It returns the masked action
+being performed, without including the pointer index bits. You can then use
+{@link android.support.v4.view.MotionEventCompat#getActionIndex getActionIndex()} to return the index of
 the pointer associated with the action. This is illustrated in the snippet below.</p>
 
-<p class="note"><strong>Note:</strong> This example uses the 
+<p class="note"><strong>Note:</strong> This example uses the
 {@link android.support.v4.view.MotionEventCompat}
-class. This class is in the 
+class. This class is in the
 <a href="{@docRoot}tools/support-library/index.html">Support Library</a>. You should use
 {@link android.support.v4.view.MotionEventCompat} to provide the best support for a wide range of
-platforms. Note that {@link android.support.v4.view.MotionEventCompat} is <em>not</em> a 
-replacement for the {@link android.view.MotionEvent} class. Rather, it provides static utility 
-methods to which you pass your {@link android.view.MotionEvent} object in order to receive 
+platforms. Note that {@link android.support.v4.view.MotionEventCompat} is <em>not</em> a
+replacement for the {@link android.view.MotionEvent} class. Rather, it provides static utility
+methods to which you pass your {@link android.view.MotionEvent} object in order to receive
 the desired action associated with that event.</p>
 
 <pre>int action = MotionEventCompat.getActionMasked(event);
@@ -137,17 +137,17 @@
 int yPos = -1;
 
 Log.d(DEBUG_TAG,"The action is " + actionToString(action));
-	    
+
 if (event.getPointerCount() > 1) {
-    Log.d(DEBUG_TAG,"Multitouch event"); 
-    // The coordinates of the current screen contact, relative to 
-    // the responding View or Activity.  
+    Log.d(DEBUG_TAG,"Multitouch event");
+    // The coordinates of the current screen contact, relative to
+    // the responding View or Activity.
     xPos = (int)MotionEventCompat.getX(event, index);
     yPos = (int)MotionEventCompat.getY(event, index);
 
 } else {
     // Single touch event
-    Log.d(DEBUG_TAG,"Single touch event"); 
+    Log.d(DEBUG_TAG,"Single touch event");
     xPos = (int)MotionEventCompat.getX(event, index);
     yPos = (int)MotionEventCompat.getY(event, index);
 }
@@ -156,7 +156,7 @@
 // Given an action int, returns a string description
 public static String actionToString(int action) {
     switch (action) {
-	        
+
         case MotionEvent.ACTION_DOWN: return "Down";
 	case MotionEvent.ACTION_MOVE: return "Move";
 	case MotionEvent.ACTION_POINTER_DOWN: return "Pointer Down";
@@ -168,7 +168,7 @@
     return "";
 }</pre>
 
- 
+
 
 
 <p>For more discussion of multi-touch and some examples, see the lesson <a href="scale.html">Dragging and Scaling</a>.
diff --git a/docs/html/training/gestures/scale.jd b/docs/html/training/gestures/scale.jd
index f2e4eb8..d4aa916 100644
--- a/docs/html/training/gestures/scale.jd
+++ b/docs/html/training/gestures/scale.jd
@@ -44,13 +44,13 @@
 
 <p>This lesson describes how to use touch gestures to drag and scale on-screen
 objects, using {@link android.view.View#onTouchEvent onTouchEvent()} to intercept
-touch events. 
+touch events.
 </p>
 
 <h2 id="drag">Drag an Object</h2>
 
-<p class="note">If you are targeting Android 3.0 or higher, you can use the built-in drag-and-drop event 
-listeners with {@link android.view.View.OnDragListener}, as described in 
+<p class="note">If you are targeting Android 3.0 or higher, you can use the built-in drag-and-drop event
+listeners with {@link android.view.View.OnDragListener}, as described in
 <a href="{@docRoot}guide/topics/ui/drag-drop.html">Drag and Drop</a>.
 
 <p>A common operation for a touch gesture is to use it to drag an object across
@@ -66,14 +66,14 @@
 individual pointers, it will regard the second pointer as the default and move
 the image to that location.</li>
 
-<li>To prevent this from happening, your app needs to distinguish between the 
-original pointer and any follow-on pointers. To do this, it tracks the 
-{@link android.view.MotionEvent#ACTION_POINTER_DOWN} and 
-{@link android.view.MotionEvent#ACTION_POINTER_UP} events described in 
-<a href="multi.html">Handling Multi-Touch Gestures</a>. 
-{@link android.view.MotionEvent#ACTION_POINTER_DOWN} and 
-{@link android.view.MotionEvent#ACTION_POINTER_UP} are 
-passed to the {@link android.view.View#onTouchEvent onTouchEvent()} callback 
+<li>To prevent this from happening, your app needs to distinguish between the
+original pointer and any follow-on pointers. To do this, it tracks the
+{@link android.view.MotionEvent#ACTION_POINTER_DOWN} and
+{@link android.view.MotionEvent#ACTION_POINTER_UP} events described in
+<a href="multi.html">Handling Multi-Touch Gestures</a>.
+{@link android.view.MotionEvent#ACTION_POINTER_DOWN} and
+{@link android.view.MotionEvent#ACTION_POINTER_UP} are
+passed to the {@link android.view.View#onTouchEvent onTouchEvent()} callback
 whenever a secondary pointer goes down or up. </li>
 
 
@@ -90,16 +90,16 @@
 <p>The following snippet enables a user to drag an object around on the screen. It records the initial
 position of the active pointer, calculates the distance the pointer traveled, and moves the object to the
 new position. It correctly manages the possibility of additional pointers, as described
-above.</p> 
+above.</p>
 
-<p>Notice that the snippet uses the {@link android.view.MotionEvent#getActionMasked getActionMasked()} method. 
-You should always use this method (or better yet, the compatability version 
-{@link android.support.v4.view.MotionEventCompat#getActionMasked MotionEventCompat.getActionMasked()}) 
+<p>Notice that the snippet uses the {@link android.view.MotionEvent#getActionMasked getActionMasked()} method.
+You should always use this method (or better yet, the compatability version
+{@link android.support.v4.view.MotionEventCompat#getActionMasked MotionEventCompat.getActionMasked()})
 to retrieve the action of a
-{@link android.view.MotionEvent}. Unlike the older 
-{@link android.view.MotionEvent#getAction getAction()} 
-method, {@link android.support.v4.view.MotionEventCompat#getActionMasked getActionMasked()} 
-is designed to work with multiple pointers. It returns the masked action 
+{@link android.view.MotionEvent}. Unlike the older
+{@link android.view.MotionEvent#getAction getAction()}
+method, {@link android.support.v4.view.MotionEventCompat#getActionMasked getActionMasked()}
+is designed to work with multiple pointers. It returns the masked action
 being performed, without including the pointer index bits.</p>
 
 <pre>// The ‘active pointer’ is the one currently moving our object.
@@ -109,15 +109,15 @@
 public boolean onTouchEvent(MotionEvent ev) {
     // Let the ScaleGestureDetector inspect all events.
     mScaleDetector.onTouchEvent(ev);
-             
-    final int action = MotionEventCompat.getActionMasked(ev); 
-        
-    switch (action) { 
+
+    final int action = MotionEventCompat.getActionMasked(ev);
+
+    switch (action) {
     case MotionEvent.ACTION_DOWN: {
-        final int pointerIndex = MotionEventCompat.getActionIndex(ev); 
-        final float x = MotionEventCompat.getX(ev, pointerIndex); 
-        final float y = MotionEventCompat.getY(ev, pointerIndex); 
-            
+        final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+        final float x = MotionEventCompat.getX(ev, pointerIndex);
+        final float y = MotionEventCompat.getY(ev, pointerIndex);
+
         // Remember where we started (for dragging)
         mLastTouchX = x;
         mLastTouchY = y;
@@ -125,15 +125,15 @@
         mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
         break;
     }
-            
+
     case MotionEvent.ACTION_MOVE: {
         // Find the index of the active pointer and fetch its position
-        final int pointerIndex = 
-                MotionEventCompat.findPointerIndex(ev, mActivePointerId);  
-            
+        final int pointerIndex =
+                MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+
         final float x = MotionEventCompat.getX(ev, pointerIndex);
         final float y = MotionEventCompat.getY(ev, pointerIndex);
-            
+
         // Calculate the distance moved
         final float dx = x - mLastTouchX;
         final float dy = y - mLastTouchY;
@@ -149,62 +149,62 @@
 
         break;
     }
-            
+
     case MotionEvent.ACTION_UP: {
         mActivePointerId = INVALID_POINTER_ID;
         break;
     }
-            
+
     case MotionEvent.ACTION_CANCEL: {
         mActivePointerId = INVALID_POINTER_ID;
         break;
     }
-        
+
     case MotionEvent.ACTION_POINTER_UP: {
-            
-        final int pointerIndex = MotionEventCompat.getActionIndex(ev); 
-        final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex); 
+
+        final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+        final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);
 
         if (pointerId == mActivePointerId) {
             // This was our active pointer going up. Choose a new
             // active pointer and adjust accordingly.
             final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
-            mLastTouchX = MotionEventCompat.getX(ev, newPointerIndex); 
-            mLastTouchY = MotionEventCompat.getY(ev, newPointerIndex); 
+            mLastTouchX = MotionEventCompat.getX(ev, newPointerIndex);
+            mLastTouchY = MotionEventCompat.getY(ev, newPointerIndex);
             mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
         }
         break;
     }
-    }       
+    }
     return true;
 }</pre>
 
 <h2 id="pan">Drag to Pan</h2>
 
-<p>The previous section showed an example of dragging an object around the screen. Another 
-common scenario is <em>panning</em>, which is when a user's dragging motion causes scrolling 
-in both the x and y axes. The above snippet directly intercepted the {@link android.view.MotionEvent} 
-actions to implement dragging. The snippet in this section takes advantage of the platform's 
-built-in support for common gestures. It overrides 
-{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} in 
+<p>The previous section showed an example of dragging an object around the screen. Another
+common scenario is <em>panning</em>, which is when a user's dragging motion causes scrolling
+in both the x and y axes. The above snippet directly intercepted the {@link android.view.MotionEvent}
+actions to implement dragging. The snippet in this section takes advantage of the platform's
+built-in support for common gestures. It overrides
+{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} in
 {@link android.view.GestureDetector.SimpleOnGestureListener}.</p>
 
-<p>To provide a little more context, {@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} 
-is called when a user is dragging his finger to pan the content. 
-{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} is only called when 
-a finger is down; as soon as the finger is lifted from the screen, the gesture either ends, 
-or a fling gesture is started (if the finger was moving with some speed just before it was lifted). 
+<p>To provide a little more context, {@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()}
+is called when a user is dragging his finger to pan the content.
+{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} is only called when
+a finger is down; as soon as the finger is lifted from the screen, the gesture either ends,
+or a fling gesture is started (if the finger was moving with some speed just before it was lifted).
 For more discussion of scrolling vs. flinging, see <a href="scroll.html">Animating a Scroll Gesture</a>.</p>
 
 <p>Here is the snippet for {@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()}:
 
 
-<pre>// The current viewport. This rectangle represents the currently visible 
-// chart domain and range. 
-private RectF mCurrentViewport = 
+<pre>// The current viewport. This rectangle represents the currently visible
+// chart domain and range.
+private RectF mCurrentViewport =
         new RectF(AXIS_X_MIN, AXIS_Y_MIN, AXIS_X_MAX, AXIS_Y_MAX);
 
-// The current destination rectangle (in pixel coordinates) into which the 
+// The current destination rectangle (in pixel coordinates) into which the
 // chart data should be drawn.
 private Rect mContentRect;
 
@@ -213,18 +213,18 @@
 ...
 
 &#64;Override
-public boolean onScroll(MotionEvent e1, MotionEvent e2, 
+public boolean onScroll(MotionEvent e1, MotionEvent e2,
             float distanceX, float distanceY) {
     // Scrolling uses math based on the viewport (as opposed to math using pixels).
-    
+
     // Pixel offset is the offset in screen pixels, while viewport offset is the
-    // offset within the current viewport. 
-    float viewportOffsetX = distanceX * mCurrentViewport.width() 
+    // offset within the current viewport.
+    float viewportOffsetX = distanceX * mCurrentViewport.width()
             / mContentRect.width();
-    float viewportOffsetY = -distanceY * mCurrentViewport.height() 
+    float viewportOffsetY = -distanceY * mCurrentViewport.height()
             / mContentRect.height();
     ...
-    // Updates the viewport, refreshes the display. 
+    // Updates the viewport, refreshes the display.
     setViewportBottomLeft(
             mCurrentViewport.left + viewportOffsetX,
             mCurrentViewport.bottom + viewportOffsetY);
@@ -232,20 +232,20 @@
     return true;
 }</pre>
 
-<p>The implementation of {@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} 
+<p>The implementation of {@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()}
 scrolls the viewport in response to the touch gesture:</p>
 
 <pre>
 /**
  * Sets the current viewport (defined by mCurrentViewport) to the given
- * X and Y positions. Note that the Y value represents the topmost pixel position, 
+ * X and Y positions. Note that the Y value represents the topmost pixel position,
  * and thus the bottom of the mCurrentViewport rectangle.
  */
 private void setViewportBottomLeft(float x, float y) {
     /*
-     * Constrains within the scroll range. The scroll range is simply the viewport 
-     * extremes (AXIS_X_MAX, etc.) minus the viewport size. For example, if the 
-     * extremes were 0 and 10, and the viewport size was 2, the scroll range would 
+     * Constrains within the scroll range. The scroll range is simply the viewport
+     * extremes (AXIS_X_MAX, etc.) minus the viewport size. For example, if the
+     * extremes were 0 and 10, and the viewport size was 2, the scroll range would
      * be 0 to 8.
      */
 
@@ -270,11 +270,11 @@
 android.view.GestureDetector} and {@link android.view.ScaleGestureDetector} can
 be used together when you  want a view to recognize additional gestures.</p>
 
-<p>To report detected  gesture events, gesture detectors use listener objects 
-passed to their constructors. {@link android.view.ScaleGestureDetector} uses 
-{@link android.view.ScaleGestureDetector.OnScaleGestureListener}. 
-Android provides 
-{@link android.view.ScaleGestureDetector.SimpleOnScaleGestureListener} 
+<p>To report detected  gesture events, gesture detectors use listener objects
+passed to their constructors. {@link android.view.ScaleGestureDetector} uses
+{@link android.view.ScaleGestureDetector.OnScaleGestureListener}.
+Android provides
+{@link android.view.ScaleGestureDetector.SimpleOnScaleGestureListener}
 as a helper class that you can extend if you don’t care about all of the reported events.</p>
 
 
@@ -311,7 +311,7 @@
     canvas.restore();
 }
 
-private class ScaleListener 
+private class ScaleListener
         extends ScaleGestureDetector.SimpleOnScaleGestureListener {
     &#64;Override
     public boolean onScale(ScaleGestureDetector detector) {
@@ -329,14 +329,14 @@
 
 
 <h3>More complex scaling example</h3>
-<p>Here is a more complex example from the {@code InteractiveChart} sample provided with this class. 
+<p>Here is a more complex example from the {@code InteractiveChart} sample provided with this class.
 The {@code InteractiveChart} sample supports both scrolling (panning) and scaling with multiple fingers,
-using the {@link android.view.ScaleGestureDetector} "span" 
-({@link android.view.ScaleGestureDetector#getCurrentSpanX getCurrentSpanX/Y}) and 
+using the {@link android.view.ScaleGestureDetector} "span"
+({@link android.view.ScaleGestureDetector#getCurrentSpanX getCurrentSpanX/Y}) and
 "focus" ({@link android.view.ScaleGestureDetector#getFocusX getFocusX/Y}) features:</p>
 
 <pre>&#64;Override
-private RectF mCurrentViewport = 
+private RectF mCurrentViewport =
         new RectF(AXIS_X_MIN, AXIS_Y_MIN, AXIS_X_MAX, AXIS_Y_MAX);
 private Rect mContentRect;
 private ScaleGestureDetector mScaleGestureDetector;
@@ -399,7 +399,7 @@
                 0,
                 0);
         mCurrentViewport.right = mCurrentViewport.left + newWidth;
-        mCurrentViewport.bottom = mCurrentViewport.top + newHeight;     
+        mCurrentViewport.bottom = mCurrentViewport.top + newHeight;
         ...
         // Invalidates the View to update the display.
         ViewCompat.postInvalidateOnAnimation(InteractiveLineGraphView.this);
diff --git a/docs/html/training/gestures/scroll.jd b/docs/html/training/gestures/scroll.jd
index 4b82d69..374ceff 100644
--- a/docs/html/training/gestures/scroll.jd
+++ b/docs/html/training/gestures/scroll.jd
@@ -41,12 +41,12 @@
 </div>
 </div>
 
-<p>In Android, scrolling is typically achieved by using the 
+<p>In Android, scrolling is typically achieved by using the
 {@link android.widget.ScrollView}
-class. Any standard layout that might extend beyond the bounds of its container should be 
-nested in a {@link android.widget.ScrollView} to provide a scrollable view that's 
-managed by the framework. Implementing a custom scroller should only be 
-necessary for special scenarios. This lesson describes such a scenario: displaying 
+class. Any standard layout that might extend beyond the bounds of its container should be
+nested in a {@link android.widget.ScrollView} to provide a scrollable view that's
+managed by the framework. Implementing a custom scroller should only be
+necessary for special scenarios. This lesson describes such a scenario: displaying
 a scrolling effect in response to touch gestures using <em>scrollers</em>.
 
 
@@ -54,8 +54,8 @@
 android.widget.OverScroller}) to collect the data you need to produce a
 scrolling animation in response to a touch event. They are similar, but
 {@link android.widget.OverScroller}
-includes methods for indicating to users that they've reached the content edges 
-after a pan or fling gesture. The {@code InteractiveChart} sample 
+includes methods for indicating to users that they've reached the content edges
+after a pan or fling gesture. The {@code InteractiveChart} sample
 uses the {@link android.widget.EdgeEffect} class
 (actually the {@link android.support.v4.widget.EdgeEffectCompat} class)
 to display a "glow" effect when users reach the content edges.</p>
@@ -68,7 +68,7 @@
 <br />
 Also note that you generally only need to use scrollers
 when implementing scrolling yourself. {@link android.widget.ScrollView} and
-{@link android.widget.HorizontalScrollView} do all of this for you if you nest your 
+{@link android.widget.HorizontalScrollView} do all of this for you if you nest your
 layout within them.
 </p>
 
@@ -86,71 +86,71 @@
 
 <p>"Scrolling" is a word that can take on different meanings in Android, depending on the context.</p>
 
-<p><strong>Scrolling</strong> is the general process of moving the viewport (that is, the 'window' 
-of content you're looking at). When scrolling is in both the x and y axes, it's called 
-<em>panning</em>. The sample application provided with this class, {@code InteractiveChart}, illustrates 
+<p><strong>Scrolling</strong> is the general process of moving the viewport (that is, the 'window'
+of content you're looking at). When scrolling is in both the x and y axes, it's called
+<em>panning</em>. The sample application provided with this class, {@code InteractiveChart}, illustrates
 two different types of scrolling, dragging and flinging:</p>
 <ul>
-    <li><strong>Dragging</strong> is the type of scrolling that occurs when a user drags her 
-finger across the touch screen. Simple dragging is often implemented by overriding 
-{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} in 
-{@link android.view.GestureDetector.OnGestureListener}. For more discussion of dragging, see 
+    <li><strong>Dragging</strong> is the type of scrolling that occurs when a user drags her
+finger across the touch screen. Simple dragging is often implemented by overriding
+{@link android.view.GestureDetector.OnGestureListener#onScroll onScroll()} in
+{@link android.view.GestureDetector.OnGestureListener}. For more discussion of dragging, see
 <a href="scale.html">Dragging and Scaling</a>.</li>
 
-    <li><strong>Flinging</strong> is the type of scrolling that occurs when a user 
-drags and lifts her finger quickly. After the user lifts her finger, you generally 
-want to keep scrolling (moving the viewport), but decelerate until the viewport stops moving. 
-Flinging can be implemented by overriding 
-{@link android.view.GestureDetector.OnGestureListener#onFling onFling()} 
-in {@link android.view.GestureDetector.OnGestureListener}, and by using 
-a scroller object. This is the use 
+    <li><strong>Flinging</strong> is the type of scrolling that occurs when a user
+drags and lifts her finger quickly. After the user lifts her finger, you generally
+want to keep scrolling (moving the viewport), but decelerate until the viewport stops moving.
+Flinging can be implemented by overriding
+{@link android.view.GestureDetector.OnGestureListener#onFling onFling()}
+in {@link android.view.GestureDetector.OnGestureListener}, and by using
+a scroller object. This is the use
 case that is the topic of this lesson.</li>
 </ul>
 
-<p>It's common to use scroller objects 
+<p>It's common to use scroller objects
 in conjunction with a fling gesture, but they
 can be used in pretty much any context where you want the UI to display
-scrolling in response to a touch event. For example, you could override  
-{@link android.view.View#onTouchEvent onTouchEvent()} to process touch 
-events directly, and produce a scrolling effect or a "snapping to page" animation 
+scrolling in response to a touch event. For example, you could override
+{@link android.view.View#onTouchEvent onTouchEvent()} to process touch
+events directly, and produce a scrolling effect or a "snapping to page" animation
 in response to those touch events.</p>
 
 
-<h2 id="#scroll">Implement Touch-Based Scrolling</h2> 
+<h2 id="#scroll">Implement Touch-Based Scrolling</h2>
 
 <p>This section describes how to use a scroller.
-The snippet shown below comes from the {@code InteractiveChart} sample 
+The snippet shown below comes from the {@code InteractiveChart} sample
 provided with this class.
-It uses a 
-{@link android.view.GestureDetector}, and overrides the  
-{@link android.view.GestureDetector.SimpleOnGestureListener} method 
+It uses a
+{@link android.view.GestureDetector}, and overrides the
+{@link android.view.GestureDetector.SimpleOnGestureListener} method
 {@link android.view.GestureDetector.OnGestureListener#onFling onFling()}.
 It uses {@link android.widget.OverScroller} to track the fling gesture.
-If the user reaches the content edges 
+If the user reaches the content edges
 after the fling gesture, the app displays a "glow" effect.
 </p>
 
-<p class="note"><strong>Note:</strong> The {@code InteractiveChart} sample app displays a 
-chart that you can zoom, pan, scroll, and so on. In the following snippet, 
-{@code mContentRect} represents the rectangle coordinates within the view that the chart 
-will be drawn into. At any given time, a subset of the total chart domain and range are drawn 
-into this rectangular area. 
-{@code mCurrentViewport} represents the portion of the chart that is currently 
-visible in the screen. Because pixel offsets are generally treated as integers, 
-{@code mContentRect} is of the type {@link android.graphics.Rect}. Because the 
-graph domain and range are decimal/float values, {@code mCurrentViewport} is of 
+<p class="note"><strong>Note:</strong> The {@code InteractiveChart} sample app displays a
+chart that you can zoom, pan, scroll, and so on. In the following snippet,
+{@code mContentRect} represents the rectangle coordinates within the view that the chart
+will be drawn into. At any given time, a subset of the total chart domain and range are drawn
+into this rectangular area.
+{@code mCurrentViewport} represents the portion of the chart that is currently
+visible in the screen. Because pixel offsets are generally treated as integers,
+{@code mContentRect} is of the type {@link android.graphics.Rect}. Because the
+graph domain and range are decimal/float values, {@code mCurrentViewport} is of
 the type {@link android.graphics.RectF}.</p>
 
-<p>The first part of the snippet shows the implementation of 
+<p>The first part of the snippet shows the implementation of
 {@link android.view.GestureDetector.OnGestureListener#onFling onFling()}:</p>
 
-<pre>// The current viewport. This rectangle represents the currently visible 
+<pre>// The current viewport. This rectangle represents the currently visible
 // chart domain and range. The viewport is the part of the app that the
 // user manipulates via touch gestures.
-private RectF mCurrentViewport = 
+private RectF mCurrentViewport =
         new RectF(AXIS_X_MIN, AXIS_Y_MIN, AXIS_X_MAX, AXIS_Y_MAX);
 
-// The current destination rectangle (in pixel coordinates) into which the 
+// The current destination rectangle (in pixel coordinates) into which the
 // chart data should be drawn.
 private Rect mContentRect;
 
@@ -171,7 +171,7 @@
     }
     ...
     &#64;Override
-    public boolean onFling(MotionEvent e1, MotionEvent e2, 
+    public boolean onFling(MotionEvent e1, MotionEvent e2,
             float velocityX, float velocityY) {
         fling((int) -velocityX, (int) -velocityY);
         return true;
@@ -184,10 +184,10 @@
     // Flings use math in pixels (as opposed to math based on the viewport).
     Point surfaceSize = computeScrollSurfaceSize();
     mScrollerStartViewport.set(mCurrentViewport);
-    int startX = (int) (surfaceSize.x * (mScrollerStartViewport.left - 
+    int startX = (int) (surfaceSize.x * (mScrollerStartViewport.left -
             AXIS_X_MIN) / (
             AXIS_X_MAX - AXIS_X_MIN));
-    int startY = (int) (surfaceSize.y * (AXIS_Y_MAX - 
+    int startY = (int) (surfaceSize.y * (AXIS_Y_MAX -
             mScrollerStartViewport.bottom) / (
             AXIS_Y_MAX - AXIS_Y_MIN));
     // Before flinging, aborts the current animation.
@@ -200,10 +200,10 @@
             velocityX,
             velocityY,
             /*
-             * Minimum and maximum scroll positions. The minimum scroll 
-             * position is generally zero and the maximum scroll position 
-             * is generally the content size less the screen size. So if the 
-             * content width is 1000 pixels and the screen width is 200  
+             * Minimum and maximum scroll positions. The minimum scroll
+             * position is generally zero and the maximum scroll position
+             * is generally the content size less the screen size. So if the
+             * content width is 1000 pixels and the screen width is 200
              * pixels, the maximum scroll offset should be 800 pixels.
              */
             0, surfaceSize.x - mContentRect.width(),
@@ -216,21 +216,21 @@
     ViewCompat.postInvalidateOnAnimation(this);
 }</pre>
 
-<p>When {@link android.view.GestureDetector.OnGestureListener#onFling onFling()} calls 
-{@link android.support.v4.view.ViewCompat#postInvalidateOnAnimation postInvalidateOnAnimation()}, 
-it triggers 
-{@link android.view.View#computeScroll computeScroll()} to update the values for x and y. 
+<p>When {@link android.view.GestureDetector.OnGestureListener#onFling onFling()} calls
+{@link android.support.v4.view.ViewCompat#postInvalidateOnAnimation postInvalidateOnAnimation()},
+it triggers
+{@link android.view.View#computeScroll computeScroll()} to update the values for x and y.
 This is typically be done when a view child is animating a scroll using a scroller object, as in this example. </p>
 
-<p>Most views pass the scroller object's x and y position directly to 
-{@link android.view.View#scrollTo scrollTo()}. 
-The following implementation of {@link android.view.View#computeScroll computeScroll()} 
-takes a different approach&mdash;it calls 
-{@link android.widget.OverScroller#computeScrollOffset computeScrollOffset()} to get the current 
-location of x and y. When the criteria for displaying an overscroll "glow" edge effect are met 
-(the display is zoomed in, x or y is out of bounds, and the app isn't already showing an overscroll), 
-the code sets up the overscroll glow effect and calls 
-{@link android.support.v4.view.ViewCompat#postInvalidateOnAnimation postInvalidateOnAnimation()} 
+<p>Most views pass the scroller object's x and y position directly to
+{@link android.view.View#scrollTo scrollTo()}.
+The following implementation of {@link android.view.View#computeScroll computeScroll()}
+takes a different approach&mdash;it calls
+{@link android.widget.OverScroller#computeScrollOffset computeScrollOffset()} to get the current
+location of x and y. When the criteria for displaying an overscroll "glow" edge effect are met
+(the display is zoomed in, x or y is out of bounds, and the app isn't already showing an overscroll),
+the code sets up the overscroll glow effect and calls
+{@link android.support.v4.view.ViewCompat#postInvalidateOnAnimation postInvalidateOnAnimation()}
 to trigger an invalidate on the view:</p>
 
 <pre>// Edge effect / overscroll tracking objects.
@@ -250,7 +250,7 @@
 
     boolean needsInvalidate = false;
 
-    // The scroller isn't finished, meaning a fling or programmatic pan 
+    // The scroller isn't finished, meaning a fling or programmatic pan
     // operation is currently active.
     if (mScroller.computeScrollOffset()) {
         Point surfaceSize = computeScrollSurfaceSize();
@@ -262,7 +262,7 @@
         boolean canScrollY = (mCurrentViewport.top > AXIS_Y_MIN
                 || mCurrentViewport.bottom < AXIS_Y_MAX);
 
-        /*          
+        /*
          * If you are zoomed in and currX or currY is
          * outside of bounds and you're not already
          * showing overscroll, then render the overscroll
@@ -272,7 +272,7 @@
                 && currX < 0
                 && mEdgeEffectLeft.isFinished()
                 && !mEdgeEffectLeftActive) {
-            mEdgeEffectLeft.onAbsorb((int) 
+            mEdgeEffectLeft.onAbsorb((int)
                     OverScrollerCompat.getCurrVelocity(mScroller));
             mEdgeEffectLeftActive = true;
             needsInvalidate = true;
@@ -280,7 +280,7 @@
                 && currX > (surfaceSize.x - mContentRect.width())
                 && mEdgeEffectRight.isFinished()
                 && !mEdgeEffectRightActive) {
-            mEdgeEffectRight.onAbsorb((int) 
+            mEdgeEffectRight.onAbsorb((int)
                     OverScrollerCompat.getCurrVelocity(mScroller));
             mEdgeEffectRightActive = true;
             needsInvalidate = true;
@@ -290,7 +290,7 @@
                 && currY < 0
                 && mEdgeEffectTop.isFinished()
                 && !mEdgeEffectTopActive) {
-            mEdgeEffectTop.onAbsorb((int) 
+            mEdgeEffectTop.onAbsorb((int)
                     OverScrollerCompat.getCurrVelocity(mScroller));
             mEdgeEffectTopActive = true;
             needsInvalidate = true;
@@ -298,7 +298,7 @@
                 && currY > (surfaceSize.y - mContentRect.height())
                 && mEdgeEffectBottom.isFinished()
                 && !mEdgeEffectBottomActive) {
-            mEdgeEffectBottom.onAbsorb((int) 
+            mEdgeEffectBottom.onAbsorb((int)
                     OverScrollerCompat.getCurrVelocity(mScroller));
             mEdgeEffectBottomActive = true;
             needsInvalidate = true;
@@ -316,14 +316,14 @@
 // If a zoom is in progress (either programmatically or via double
 // touch), performs the zoom.
 if (mZoomer.computeZoom()) {
-    float newWidth = (1f - mZoomer.getCurrZoom()) * 
+    float newWidth = (1f - mZoomer.getCurrZoom()) *
             mScrollerStartViewport.width();
-    float newHeight = (1f - mZoomer.getCurrZoom()) * 
+    float newHeight = (1f - mZoomer.getCurrZoom()) *
             mScrollerStartViewport.height();
-    float pointWithinViewportX = (mZoomFocalPoint.x - 
+    float pointWithinViewportX = (mZoomFocalPoint.x -
             mScrollerStartViewport.left)
             / mScrollerStartViewport.width();
-    float pointWithinViewportY = (mZoomFocalPoint.y - 
+    float pointWithinViewportY = (mZoomFocalPoint.y -
             mScrollerStartViewport.top)
             / mScrollerStartViewport.height();
     mCurrentViewport.set(
@@ -339,9 +339,9 @@
 }
 </pre>
 
-<p>This is the {@code computeScrollSurfaceSize()} method that's called in the above snippet. It 
-computes the current scrollable surface size, in pixels. For example, if the entire chart area is visible, 
-this is simply the current size of {@code mContentRect}. If the chart is zoomed in 200% in both directions, 
+<p>This is the {@code computeScrollSurfaceSize()} method that's called in the above snippet. It
+computes the current scrollable surface size, in pixels. For example, if the entire chart area is visible,
+this is simply the current size of {@code mContentRect}. If the chart is zoomed in 200% in both directions,
 the returned size will be twice as large horizontally and vertically.</p>
 
 <pre>private Point computeScrollSurfaceSize() {
@@ -352,8 +352,8 @@
                     / mCurrentViewport.height()));
 }</pre>
 
-<p>For another example of scroller usage, see the 
-<a href="http://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/view/ViewPager.java">source code</a> for the 
-{@link android.support.v4.view.ViewPager} class. It scrolls in response to flings, 
+<p>For another example of scroller usage, see the
+<a href="http://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/view/ViewPager.java">source code</a> for the
+{@link android.support.v4.view.ViewPager} class. It scrolls in response to flings,
 and uses scrolling to implement the "snapping to page" animation.</p>
 
diff --git a/docs/html/training/gestures/viewgroup.jd b/docs/html/training/gestures/viewgroup.jd
index 5b32300..7b5b24e 100644
--- a/docs/html/training/gestures/viewgroup.jd
+++ b/docs/html/training/gestures/viewgroup.jd
@@ -52,38 +52,38 @@
 
 <h2 id="intercept">Intercept Touch Events in a ViewGroup</h2>
 
-<p>The {@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} 
-method is called whenever a touch event is detected on the surface of a 
-{@link android.view.ViewGroup}, including on the surface of its children. If 
-{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} 
-returns {@code true}, the {@link android.view.MotionEvent} is intercepted, 
-meaning it will be not be passed on to the child, but rather to the 
+<p>The {@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}
+method is called whenever a touch event is detected on the surface of a
+{@link android.view.ViewGroup}, including on the surface of its children. If
+{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}
+returns {@code true}, the {@link android.view.MotionEvent} is intercepted,
+meaning it will be not be passed on to the child, but rather to the
 {@link android.view.View#onTouchEvent onTouchEvent()} method of the parent.</p>
 
-<p>The {@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} 
-method gives a parent the chance to see any touch event before its children do. 
-If you return {@code true} from 
-{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}, 
-the child view that was previously handling touch events 
-receives an {@link android.view.MotionEvent#ACTION_CANCEL}, and the events from that 
-point forward are sent to the parent's 
-{@link android.view.View#onTouchEvent onTouchEvent()} method for the usual handling. 
-{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} can also 
-return {@code false} and simply spy on events as they travel down the view hierarchy 
+<p>The {@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}
+method gives a parent the chance to see any touch event before its children do.
+If you return {@code true} from
+{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()},
+the child view that was previously handling touch events
+receives an {@link android.view.MotionEvent#ACTION_CANCEL}, and the events from that
+point forward are sent to the parent's
+{@link android.view.View#onTouchEvent onTouchEvent()} method for the usual handling.
+{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} can also
+return {@code false} and simply spy on events as they travel down the view hierarchy
 to their usual targets, which will handle the events with their own
 {@link android.view.View#onTouchEvent onTouchEvent()}.
 
 
-<p>In the following snippet, the class {@code MyViewGroup} extends  
-{@link android.view.ViewGroup}. 
-{@code MyViewGroup} contains multiple child views. If you drag your finger across 
-a child view horizontally, the child view should no longer get touch events, and 
-{@code MyViewGroup} should handle touch events by scrolling its contents. However, 
-if you press buttons in the child view, or scroll the child view vertically, 
-the parent shouldn't intercept those touch events, because the child is the 
-intended target. In those cases, 
+<p>In the following snippet, the class {@code MyViewGroup} extends
+{@link android.view.ViewGroup}.
+{@code MyViewGroup} contains multiple child views. If you drag your finger across
+a child view horizontally, the child view should no longer get touch events, and
+{@code MyViewGroup} should handle touch events by scrolling its contents. However,
+if you press buttons in the child view, or scroll the child view vertically,
+the parent shouldn't intercept those touch events, because the child is the
+intended target. In those cases,
 {@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()} should
-return {@code false}, and {@code MyViewGroup}'s 
+return {@code false}, and {@code MyViewGroup}'s
 {@link android.view.View#onTouchEvent onTouchEvent()} won't be called.</p>
 
 <pre>public class MyViewGroup extends ViewGroup {
@@ -118,20 +118,20 @@
         switch (action) {
             case MotionEvent.ACTION_MOVE: {
                 if (mIsScrolling) {
-                    // We're currently scrolling, so yes, intercept the 
+                    // We're currently scrolling, so yes, intercept the
                     // touch event!
                     return true;
                 }
 
-                // If the user has dragged her finger horizontally more than 
+                // If the user has dragged her finger horizontally more than
                 // the touch slop, start the scroll
 
                 // left as an exercise for the reader
-                final int xDiff = calculateDistanceX(ev); 
+                final int xDiff = calculateDistanceX(ev);
 
-                // Touch slop should be calculated using ViewConfiguration 
+                // Touch slop should be calculated using ViewConfiguration
                 // constants.
-                if (xDiff > mTouchSlop) { 
+                if (xDiff > mTouchSlop) {
                     // Start scrolling!
                     mIsScrolling = true;
                     return true;
@@ -141,26 +141,26 @@
             ...
         }
 
-        // In general, we don't want to intercept touch events. They should be 
+        // In general, we don't want to intercept touch events. They should be
         // handled by the child view.
         return false;
     }
 
     &#64;Override
     public boolean onTouchEvent(MotionEvent ev) {
-        // Here we actually handle the touch event (e.g. if the action is ACTION_MOVE, 
+        // Here we actually handle the touch event (e.g. if the action is ACTION_MOVE,
         // scroll this container).
-        // This method will only be called if the touch event was intercepted in 
+        // This method will only be called if the touch event was intercepted in
         // onInterceptTouchEvent
         ...
     }
 }</pre>
 
-<p>Note that {@link android.view.ViewGroup} also provides a 
-{@link android.view.ViewGroup#requestDisallowInterceptTouchEvent requestDisallowInterceptTouchEvent()} method. 
-The {@link android.view.ViewGroup} calls this method when a child does not want the parent and its 
-ancestors to intercept touch events with 
-{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}. 
+<p>Note that {@link android.view.ViewGroup} also provides a
+{@link android.view.ViewGroup#requestDisallowInterceptTouchEvent requestDisallowInterceptTouchEvent()} method.
+The {@link android.view.ViewGroup} calls this method when a child does not want the parent and its
+ancestors to intercept touch events with
+{@link android.view.ViewGroup#onInterceptTouchEvent onInterceptTouchEvent()}.
 </p>
 
 <h2 id="vc">Use ViewConfiguration Constants</h2>
@@ -176,10 +176,10 @@
 prevent accidental scrolling when the user is performing some other touch
 operation, such as touching on-screen elements.</p>
 
-<p>Two other commonly used {@link android.view.ViewConfiguration} methods are 
-{@link android.view.ViewConfiguration#getScaledMinimumFlingVelocity getScaledMinimumFlingVelocity()} 
+<p>Two other commonly used {@link android.view.ViewConfiguration} methods are
+{@link android.view.ViewConfiguration#getScaledMinimumFlingVelocity getScaledMinimumFlingVelocity()}
 and {@link android.view.ViewConfiguration#getScaledMaximumFlingVelocity getScaledMaximumFlingVelocity()}.
-These methods  return the minimum and maximum velocity (respectively) to initiate a fling, 
+These methods  return the minimum and maximum velocity (respectively) to initiate a fling,
 as measured in pixels per second. For example:</p>
 
 <pre>ViewConfiguration vc = ViewConfiguration.get(view.getContext());
@@ -209,14 +209,14 @@
 
 <h2 id="delegate">Extend a Child View's Touchable Area</h2>
 
-<p>Android provides the {@link android.view.TouchDelegate} class to make it possible 
-for a parent to extend the touchable area of a child view beyond the child's bounds. 
+<p>Android provides the {@link android.view.TouchDelegate} class to make it possible
+for a parent to extend the touchable area of a child view beyond the child's bounds.
 
 This is useful when the child has to be small, but should have a larger touch region. You can
 also use this approach to shrink the child's touch region if need be.</p>
 
-<p>In the following example, an {@link android.widget.ImageButton} is the  
-"delegate view" (that is, the child whose touch area the parent will extend). 
+<p>In the following example, an {@link android.widget.ImageButton} is the
+"delegate view" (that is, the child whose touch area the parent will extend).
 Here is the layout file:</p>
 
 <pre>
@@ -225,7 +225,7 @@
      android:layout_width=&quot;match_parent&quot;
      android:layout_height=&quot;match_parent&quot;
      tools:context=&quot;.MainActivity&quot; &gt;
- 
+
      &lt;ImageButton android:id=&quot;@+id/button&quot;
           android:layout_width=&quot;wrap_content&quot;
           android:layout_height=&quot;wrap_content&quot;
@@ -245,9 +245,9 @@
 
 </ul>
 
-In its capacity as touch delegate for the {@link android.widget.ImageButton} child view, the 
+In its capacity as touch delegate for the {@link android.widget.ImageButton} child view, the
 parent view will receive all touch events. If the touch event occurred within the child's hit
-rectangle, the parent will pass the touch 
+rectangle, the parent will pass the touch
 event to the child for handling.</p>
 
 
@@ -261,7 +261,7 @@
         setContentView(R.layout.activity_main);
         // Get the parent view
         View parentView = findViewById(R.id.parent_layout);
-        
+
         parentView.post(new Runnable() {
             // Post in the parent's message queue to make sure the parent
             // lays out its children before you call getHitRect()
@@ -275,29 +275,29 @@
                 myButton.setOnClickListener(new View.OnClickListener() {
                     &#64;Override
                     public void onClick(View view) {
-                        Toast.makeText(MainActivity.this, 
-                                "Touch occurred within ImageButton touch region.", 
+                        Toast.makeText(MainActivity.this,
+                                "Touch occurred within ImageButton touch region.",
                                 Toast.LENGTH_SHORT).show();
                     }
                 });
-     
+
                 // The hit rectangle for the ImageButton
                 myButton.getHitRect(delegateArea);
-            
+
                 // Extend the touch area of the ImageButton beyond its bounds
                 // on the right and bottom.
                 delegateArea.right += 100;
                 delegateArea.bottom += 100;
-            
+
                 // Instantiate a TouchDelegate.
-                // "delegateArea" is the bounds in local coordinates of 
+                // "delegateArea" is the bounds in local coordinates of
                 // the containing view to be mapped to the delegate view.
                 // "myButton" is the child view that should receive motion
                 // events.
-                TouchDelegate touchDelegate = new TouchDelegate(delegateArea, 
+                TouchDelegate touchDelegate = new TouchDelegate(delegateArea,
                         myButton);
-     
-                // Sets the TouchDelegate on the parent view, such that touches 
+
+                // Sets the TouchDelegate on the parent view, such that touches
                 // within the touch delegate bounds are routed to the child.
                 if (View.class.isInstance(myButton.getParent())) {
                     ((View) myButton.getParent()).setTouchDelegate(touchDelegate);
diff --git a/docs/html/training/id-auth/authenticate.jd b/docs/html/training/id-auth/authenticate.jd
index 65dbc39..bf32e8e 100644
--- a/docs/html/training/id-auth/authenticate.jd
+++ b/docs/html/training/id-auth/authenticate.jd
@@ -129,7 +129,7 @@
     public void run(AccountManagerFuture&lt;Bundle&gt; result) {
         // Get the result of the operation from the AccountManagerFuture.
         Bundle bundle = result.getResult();
-    
+
         // The token is a named value in the bundle. The name of the value
         // is stored in the constant AccountManager.KEY_AUTHTOKEN.
         token = bundle.getString(AccountManager.KEY_AUTHTOKEN);
diff --git a/docs/html/training/id-auth/custom_auth.jd b/docs/html/training/id-auth/custom_auth.jd
index def9b51..3c106a9 100644
--- a/docs/html/training/id-auth/custom_auth.jd
+++ b/docs/html/training/id-auth/custom_auth.jd
@@ -81,7 +81,7 @@
 credentials would be readable by anyone with {@code adb} access to the device.</p>
 
 <p>With this in mind, you shouldn't pass the user's actual
-password to {@link android.accounts.AccountManager#addAccountExplicitly 
+password to {@link android.accounts.AccountManager#addAccountExplicitly
 AccountManager.addAccountExplicitly()}. Instead, you should store a
 cryptographically secure token that would be of limited use to an attacker. If your
 user credentials are protecting something valuable, you should carefully
diff --git a/docs/html/training/id-auth/index.jd b/docs/html/training/id-auth/index.jd
index f15ee29..45c6309 100644
--- a/docs/html/training/id-auth/index.jd
+++ b/docs/html/training/id-auth/index.jd
@@ -15,7 +15,7 @@
   <li>Android 2.0 (API level 5) or higher</li>
   <li>Experience with <a href="{@docRoot}guide/components/services.html">Services</a></li>
   <li>Experience with <a href="http://oauth.net/2/">OAuth 2.0</a></li>
-</ul>  
+</ul>
 
 <h2>You should also read</h2>
 <ul>
diff --git a/docs/html/training/improving-layouts/optimizing-layout.jd b/docs/html/training/improving-layouts/optimizing-layout.jd
index e0baedf..2f9f32d 100644
--- a/docs/html/training/improving-layouts/optimizing-layout.jd
+++ b/docs/html/training/improving-layouts/optimizing-layout.jd
@@ -145,7 +145,7 @@
 <li>Deep layouts - Layouts with too much nesting are bad for performance. Consider using flatter layouts such as {@link android.widget.RelativeLayout} or {@link android.widget.GridLayout} to improve performance. The default maximum depth is 10.</li>
 </ul>
 
-<p>Another benefit of Lint is that it is integrated into Android Studio. Lint automatically runs 
+<p>Another benefit of Lint is that it is integrated into Android Studio. Lint automatically runs
 whenever you compile your program. With Android Studio, you can also run lint inspections for a
 specific build variant, or for all build variants. </p>
 
@@ -153,7 +153,7 @@
 <strong>File&gt;Settings&gt;Project Settings</strong> option. The Inspection Configuration page
 appears with the supported inspections.</p>
 <p><img src="{@docRoot}images/tools/studio-inspections-config.png" alt="" /> </p>
-<p class="img-caption"><strong>Figure 5.</strong> Inspection Configuration</p> 
+<p class="img-caption"><strong>Figure 5.</strong> Inspection Configuration</p>
 
 <p>Lint has the ability to automatically fix some issues, provide suggestions for others and jump
 directly to the offending code for review.</p>
diff --git a/docs/html/training/in-app-billing/list-iab-products.jd b/docs/html/training/in-app-billing/list-iab-products.jd
index c423fc1..c8de823 100644
--- a/docs/html/training/in-app-billing/list-iab-products.jd
+++ b/docs/html/training/in-app-billing/list-iab-products.jd
@@ -36,7 +36,7 @@
 
 <p>To add new in-app products to your product list:</p>
 <ol>
-<li>Build a signed APK file for your In-app Billing application. To learn how to build and sign your APK, see <a href="{@docRoot}tools/publishing/preparing.html#publishing-build">Building Your Application for Release</a>. Make sure that you are using your final (not debug) certificate and private key to sign your application.  
+<li>Build a signed APK file for your In-app Billing application. To learn how to build and sign your APK, see <a href="{@docRoot}tools/publishing/preparing.html#publishing-build">Building Your Application for Release</a>. Make sure that you are using your final (not debug) certificate and private key to sign your application.
 </li>
 <li>In the Developer Console, open the application entry that you created earlier.</li>
 <li>Click on the APK tab then click on Upload new APK. Upload the signed APK file to the Developer Console. Don’t publish the app yet!</li>
@@ -48,9 +48,9 @@
 <h2 id="QueryDetails">Query Items Available for Purchase</h2>
 <p>You can query Google Play to programmatically retrieve details of the in-app products that are associated with your application (such as the product’s price, title, description, and type).  This is useful, for example, when you want to display a listing of unowned items that are still available for purchase to users.</p>
 <p class="note"><strong>Note:</strong> When making the query, you will need to specify the product IDs for the products explicitly. You can manually find the product IDs from the Developer Console by opening the <strong>In-app Products</strong> tab for your application. The product IDs are listed under the column labeled <strong>Name/ID</strong>.</p>
-<p>To retrieve the product details, call {@code queryInventoryAsync(boolean, List, QueryInventoryFinishedListener)} on your IabHelper instance. 
+<p>To retrieve the product details, call {@code queryInventoryAsync(boolean, List, QueryInventoryFinishedListener)} on your IabHelper instance.
 <ul>
-<li>The first input argument indicates whether product details should be retrieved (should be set to {@code true}).</li> 
+<li>The first input argument indicates whether product details should be retrieved (should be set to {@code true}).</li>
 <li>The {@code List} argument consists of one or more product IDs (also called SKUs) for the products that you want to query.</li>
 <li>Finally, the {@code QueryInventoryFinishedListener} argument specifies a listener is notified when the query operation has completed and handles the query response.</li>
 </ul>
@@ -70,9 +70,9 @@
 <p>The following code shows how you can retrieve the item prices from the result set.</p>
 
 <pre>
-IabHelper.QueryInventoryFinishedListener 
+IabHelper.QueryInventoryFinishedListener
    mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
-   public void onQueryInventoryFinished(IabResult result, Inventory inventory)   
+   public void onQueryInventoryFinished(IabResult result, Inventory inventory)
    {
       if (result.isFailure()) {
          // handle error
@@ -84,7 +84,7 @@
        String bananaPrice =
           inventory.getSkuDetails(SKU_BANANA).getPrice();
 
-       // update the UI 
+       // update the UI
    }
 }
 </pre>
diff --git a/docs/html/training/in-app-billing/purchase-iab-products.jd b/docs/html/training/in-app-billing/purchase-iab-products.jd
index 4e6e035..165e311 100644
--- a/docs/html/training/in-app-billing/purchase-iab-products.jd
+++ b/docs/html/training/in-app-billing/purchase-iab-products.jd
@@ -45,7 +45,7 @@
 <p>The following example shows how you can make a purchase request for a product with ID {@code SKU_GAS}, using an arbitrary value of 10001 for the request code, and an encoded developer payload string.</p>
 
 <pre>
-mHelper.launchPurchaseFlow(this, SKU_GAS, 10001,   
+mHelper.launchPurchaseFlow(this, SKU_GAS, 10001,
    mPurchaseFinishedListener, "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
 </pre>
 
@@ -54,14 +54,14 @@
 <p>The following example shows how you can handle the purchase response in the listener, depending on whether the purchase order was completed successfully, and whether the user purchased gas or a premium upgrade. In this example, gas is an in-app product that can be purchased multiple times, so you should consume the purchase to allow the user to buy it again.  To learn how to consume purchases, see the <a href="{@docRoot}training/in-app-billing/purchase-iab-products.html#Consume">Consuming Products</a> section. The premium upgrade is a one-time purchase so you don’t need to consume it.  It is good practice to update the UI immediately so that your users can see their newly purchased items.</p>
 
 <pre>
-IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener 
+IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
    = new IabHelper.OnIabPurchaseFinishedListener() {
-   public void onIabPurchaseFinished(IabResult result, Purchase purchase) 
+   public void onIabPurchaseFinished(IabResult result, Purchase purchase)
    {
       if (result.isFailure()) {
          Log.d(TAG, "Error purchasing: " + result);
          return;
-      }      
+      }
       else if (purchase.getSku().equals(SKU_GAS)) {
          // consume the gas and update the UI
       }
@@ -86,7 +86,7 @@
 <p>If the query is successful, the query results are stored in an {@code Inventory} object that is passed back to the listener. The In-app Billing service returns only the purchases made by the user account that is currently logged in to the device.</p>
 
 <pre>
-IabHelper.QueryInventoryFinishedListener mGotInventoryListener 
+IabHelper.QueryInventoryFinishedListener mGotInventoryListener
    = new IabHelper.QueryInventoryFinishedListener() {
    public void onQueryInventoryFinished(IabResult result,
       Inventory inventory) {
@@ -96,7 +96,7 @@
       }
       else {
         // does the user have the premium upgrade?
-        mIsPremium = inventory.hasPurchase(SKU_PREMIUM);        
+        mIsPremium = inventory.hasPurchase(SKU_PREMIUM);
         // update UI accordingly
       }
    }
@@ -111,7 +111,7 @@
 <p>In this example, you want to consume the gas item that the user has previously purchased in your app.</p>
 
 <pre>
-mHelper.consumeAsync(inventory.getPurchase(SKU_GAS), 
+mHelper.consumeAsync(inventory.getPurchase(SKU_GAS),
    mConsumeFinishedListener);
 </pre>
 
diff --git a/docs/html/training/in-app-billing/test-iab-app.jd b/docs/html/training/in-app-billing/test-iab-app.jd
index 9d47a96..fc7fe1a 100644
--- a/docs/html/training/in-app-billing/test-iab-app.jd
+++ b/docs/html/training/in-app-billing/test-iab-app.jd
@@ -39,7 +39,7 @@
   <li>Login to the <a href="https://play.google.com/apps/publish/" target="_blank">Developer Console</a> with your developer account.</li>
   <li>Click <strong>Settings</strong> > <strong>Account</strong> details, then in the <strong>License Testing</strong> section, add the Google email addresses for your tester accounts.</li>
 </ol>
-<li>Build a signed APK file for your In-app Billing application. To learn how to build and sign your APK, see <a href="{@docRoot}tools/publishing/preparing.html#publishing-build">Building Your Application for Release</a>. Make sure that you are using your final (not debug) certificate and private key to sign your application.  
+<li>Build a signed APK file for your In-app Billing application. To learn how to build and sign your APK, see <a href="{@docRoot}tools/publishing/preparing.html#publishing-build">Building Your Application for Release</a>. Make sure that you are using your final (not debug) certificate and private key to sign your application.
 </li>
 <li>Make sure that you have uploaded the signed APK for your application to the Developer Console, and associated one or more in-app products with your application. You don't need to publish the application on Google Play to test it. <p class="note"><strong>Warning:</strong> It may take up to 2-3 hours after uploading the APK for Google Play to recognize your updated APK version. If you try to test your application before your uploaded APK is recognized by Google Play, your application will receive a ‘purchase cancelled’ response with an error message “This version of the application is not enabled for In-app Billing.”</p></li>
 <li>Install the APK file to your physical test device by using the {@code adb} tool. To learn how to install the application, see <a href="{@docRoot}tools/building/building-cmdline.html#RunningOnDevice">Running on a Device</a>. Make sure that:
diff --git a/docs/html/training/keyboard-input/index.jd b/docs/html/training/keyboard-input/index.jd
index 46795c4..bd7ad18 100644
--- a/docs/html/training/keyboard-input/index.jd
+++ b/docs/html/training/keyboard-input/index.jd
@@ -32,9 +32,9 @@
 <p>These topics and more are discussed in the following lessons.</p>
 
 
-<h2>Lessons</h2> 
- 
-<dl> 
+<h2>Lessons</h2>
+
+<dl>
   <dt><b><a href="style.html">Specifying the Input Method Type</a></b></dt>
     <dd>Learn how to show certain soft input methods, such as those designed for phone numbers, web
     addresses, or other formats. Also learn how to specify characteristics such
@@ -51,5 +51,5 @@
   <dt><b><a href="commands.html">Handling Keyboard Actions</a></b></dt>
     <dd>Learn how to respond directly to keyboard input for user actions.
     </dd>
- 
-</dl> 
+
+</dl>
diff --git a/docs/html/training/keyboard-input/style.jd b/docs/html/training/keyboard-input/style.jd
index b0e506c..714c8b3 100644
--- a/docs/html/training/keyboard-input/style.jd
+++ b/docs/html/training/keyboard-input/style.jd
@@ -71,7 +71,7 @@
     android:id="@+id/password"
     android:hint="@string/password_hint"
     android:inputType="textPassword"
-    ... />    
+    ... />
 </pre>
 
 <p>There are several possible values documented with the
diff --git a/docs/html/training/load-data-background/handle-results.jd b/docs/html/training/load-data-background/handle-results.jd
index ce0024f..7439d3e 100644
--- a/docs/html/training/load-data-background/handle-results.jd
+++ b/docs/html/training/load-data-background/handle-results.jd
@@ -127,7 +127,7 @@
  */
 &#64;Override
 public void onLoaderReset(Loader&lt;Cursor&gt; loader) {
-    
+
     /*
      * Clears out the adapter's reference to the Cursor.
      * This prevents memory leaks.
diff --git a/docs/html/training/location/display-address.jd b/docs/html/training/location/display-address.jd
index 8606629..daa6fd3 100644
--- a/docs/html/training/location/display-address.jd
+++ b/docs/html/training/location/display-address.jd
@@ -324,7 +324,7 @@
   process if needed. If the service is already running then it remains running.
   Because the service extends {@link android.app.IntentService IntentService},
   it shuts down automatically when all intents have been processed.</p>
-  
+
 <p>Start the service from your app's main activity,
   and create an {@link android.content.Intent} to pass data to the service. You
   need an <em>explicit</em> intent, because you want only your service
diff --git a/docs/html/training/location/geofencing.jd b/docs/html/training/location/geofencing.jd
index 1cf89fd..ce6ad55 100644
--- a/docs/html/training/location/geofencing.jd
+++ b/docs/html/training/location/geofencing.jd
@@ -369,7 +369,7 @@
 GEOFENCE_TRANSITION_DWELL</a></code> instead of <code>
 <a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_ENTER">
 GEOFENCE_TRANSITION_ENTER</a></code>. This way, the dwelling alert is sent only when the user stops
-inside a geofence for a given period of time. You can choose the duration by setting a 
+inside a geofence for a given period of time. You can choose the duration by setting a
 <a href="{@docRoot}reference/com/google/android/gms/location/Geofence.Builder.html#setLoiteringDelay(int)">
 loitering delay</a>.</p>
 
diff --git a/docs/html/training/managing-audio/audio-output.jd b/docs/html/training/managing-audio/audio-output.jd
index 416e519..ed1623b 100644
--- a/docs/html/training/managing-audio/audio-output.jd
+++ b/docs/html/training/managing-audio/audio-output.jd
@@ -8,8 +8,8 @@
 
 @jd:body
 
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -25,16 +25,16 @@
 </ul>
 
 
-</div> 
+</div>
 </div>
 
 <p>Users have a number of alternatives when it comes to enjoying the audio from their Android
 devices. Most devices have a built-in speaker, headphone jacks for wired headsets, and many also
 feature Bluetooth connectivity and support for A2DP audio. </p>
 
- 
-<h2 id="CheckHardware">Check What Hardware is Being Used</h2> 
- 
+
+<h2 id="CheckHardware">Check What Hardware is Being Used</h2>
+
 <p>How your app behaves might be affected by which hardware its output is being routed to.</p>
 
 <p>You can query the {@link android.media.AudioManager} to determine if the audio is currently
@@ -48,13 +48,13 @@
     // Adjust output for Speakerphone.
 } else if (isWiredHeadsetOn()) {
     // Adjust output for headsets
-} else { 
+} else {
     // If audio plays and noone can hear it, is it still playing?
 }
 </pre>
 
 
-<h2 id="HandleChanges">Handle Changes in the Audio Output Hardware</h2> 
+<h2 id="HandleChanges">Handle Changes in the Audio Output Hardware</h2>
 
 <p>When a headset is unplugged, or a Bluetooth device disconnected, the audio stream
 automatically reroutes to the built in speaker. If you listen to your music at as high a volume as I
@@ -65,7 +65,7 @@
 that listens for this intent whenever you’re playing audio. In the case of music players, users
 typically expect the playback to be paused&mdash;while for games you may choose to significantly
 lower the volume.</p>
- 
+
 <pre>
 private class NoisyAudioStreamReceiver extends BroadcastReceiver {
     &#64;Override
diff --git a/docs/html/training/managing-audio/index.jd b/docs/html/training/managing-audio/index.jd
index 9391449..55b91c2 100644
--- a/docs/html/training/managing-audio/index.jd
+++ b/docs/html/training/managing-audio/index.jd
@@ -6,10 +6,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
-<h2>Dependencies and prerequisites</h2> 
+<h2>Dependencies and prerequisites</h2>
 <ul>
   <li>Android 2.0 (API level 5) or higher</li>
   <li>Experience with <a href="{@docRoot}guide/topics/media/mediaplayer.html">Media
@@ -21,41 +21,41 @@
   <li><a href="{@docRoot}guide/components/services.html">Services</a></li>
 </ul>
 
-</div> 
+</div>
 </div>
 
 
 <p>If your app plays audio, it’s important that your users can control the audio in a predictable
 manner. To ensure a great user experience, it’s also important that your app manages the audio focus
-to ensure multiple apps aren’t playing audio at the same time.</p> 
+to ensure multiple apps aren’t playing audio at the same time.</p>
 
-<p>After this class, you will be able to build apps that respond to hardware audio key presses, 
+<p>After this class, you will be able to build apps that respond to hardware audio key presses,
 which request audio focus when playing audio, and which respond appropriately to changes in audio
-focus caused by the system or other applications.</p> 
+focus caused by the system or other applications.</p>
 
 
 
 
-<h2>Lessons</h2> 
- 
+<h2>Lessons</h2>
+
 <!-- Create a list of the lessons in this class along with a short description of each lesson.
 These should be short and to the point. It should be clear from reading the summary whether someone
-will want to jump to a lesson or not.--> 
- 
+will want to jump to a lesson or not.-->
+
 <dl>
   <dt><b><a href="volume-playback.html">Controlling Your App’s Volume and
 Playback</a></b></dt>
   <dd>Learn how to ensure your users can control the volume of your app using the hardware or
 software volume controls and where available the play, stop, pause, skip, and previous media
-playback keys.</dd> 
- 
+playback keys.</dd>
+
   <dt><b><a href="audio-focus.html">Managing Audio Focus</a></b></dt>
   <dd>With multiple apps potentially playing audio it's important to think about how they should
 interact. To avoid every music app playing at the same time, Android uses audio focus to moderate
 audio playback. Learn how to request the audio focus, listen for a loss of audio focus, and how to
-respond when that happens.</dd> 
- 
+respond when that happens.</dd>
+
   <dt><b><a href="audio-output.html">Dealing with Audio Output Hardware</a></b></dt>
   <dd>Audio can be played from a number of sources. Learn how to find out where the audio is being
-played and how to handle a headset being disconnected during playback.</dd> 
- </dl> 
+played and how to handle a headset being disconnected during playback.</dd>
+ </dl>
diff --git a/docs/html/training/managing-audio/volume-playback.jd b/docs/html/training/managing-audio/volume-playback.jd
index be0f583..7e28893 100644
--- a/docs/html/training/managing-audio/volume-playback.jd
+++ b/docs/html/training/managing-audio/volume-playback.jd
@@ -8,8 +8,8 @@
 
 @jd:body
 
- 
-<div id="tb-wrapper"> 
+
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -26,11 +26,11 @@
   <li><a href="{@docRoot}guide/topics/media/mediaplayer.html">Media Playback</a></li>
 </ul>
 
-</div> 
+</div>
 </div>
 
 
- 
+
 <p>A good user experience is a predictable one. If your app plays media it’s important that your
 users can control the volume of your app using the hardware or software volume controls of their
 device, bluetooth headset, or headphones.</p>
@@ -38,9 +38,9 @@
 <p>Similarly, where appropriate and available, the play, stop, pause, skip, and previous media
 playback keys should perform their respective actions on the audio stream used by your app.</p>
 
- 
-<h2 id="IdentifyStream">Identify Which Audio Stream to Use</h2> 
- 
+
+<h2 id="IdentifyStream">Identify Which Audio Stream to Use</h2>
+
 <p>The first step to creating a predictable audio experience is understanding which audio stream
 your app will use.</p>
 
@@ -53,11 +53,11 @@
 android.media.AudioManager#STREAM_MUSIC} stream.</p>
 
 
-<h2 id="HardwareVolumeKeys">Use Hardware Volume Keys to Control Your App’s Audio Volume</h2> 
+<h2 id="HardwareVolumeKeys">Use Hardware Volume Keys to Control Your App’s Audio Volume</h2>
 
 <p>By default, pressing the volume controls modify the volume of the active audio stream. If your
 app isn't currently playing anything, hitting the volume keys adjusts the ringer volume.<p>
-    
+
 <p>If you've got a game or music app, then chances are good that when the user hits the volume keys
 they want to control the volume of the game or music, even if they’re currently between songs or
 there’s no music in the current game location.</p>
@@ -65,8 +65,8 @@
 <p>You may be tempted to try and listen for volume key presses and modify the volume of your
 audio stream that way. Resist the urge. Android provides the handy {@link
 android.app.Activity#setVolumeControlStream setVolumeControlStream()} method to direct volume key
-presses to the audio stream you specify.<p> 
-  
+presses to the audio stream you specify.<p>
+
 <p>Having identified the audio stream your application
 will be using, you should set it as the volume stream target. You should make this call early in
 your app’s lifecycle&mdash;because you only need to call it once during the activity lifecycle, you
@@ -85,7 +85,7 @@
 
 
 <h2 id="PlaybackControls">Use Hardware Playback Control Keys to Control Your App’s Audio
-Playback</h2> 
+Playback</h2>
 
 <p>Media playback buttons such as play, pause, stop, skip, and previous are available on some
 handsets and many connected or wireless headsets. Whenever a user presses one of these hardware
diff --git a/docs/html/training/monitoring-device-state/connectivity-monitoring.jd b/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
index d5e7a85..2dd904f 100644
--- a/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
+++ b/docs/html/training/monitoring-device-state/connectivity-monitoring.jd
@@ -11,7 +11,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -27,7 +27,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intents and Intent Filters</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>Some of the most common uses for repeating alarms and background services is to schedule regular
@@ -39,21 +39,21 @@
 connected to the Internet, and if so, what type of connection is in place.</p>
 
 
-<h2 id="DetermineConnection">Determine if You Have an Internet Connection</h2> 
- 
+<h2 id="DetermineConnection">Determine if You Have an Internet Connection</h2>
+
 <p>There's no need to schedule an update based on an Internet resource if you aren't connected to
-the Internet. The following snippet shows how to use the {@link android.net.ConnectivityManager} 
+the Internet. The following snippet shows how to use the {@link android.net.ConnectivityManager}
 to query the active network and determine if it has Internet connectivity.</p>
 
 <pre>ConnectivityManager cm =
         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- 
+
 NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
 boolean isConnected = activeNetwork != null &&
                       activeNetwork.isConnectedOrConnecting();</pre>
 
 
-<h2 id="DetermineType">Determine the Type of your Internet Connection</h2> 
+<h2 id="DetermineType">Determine the Type of your Internet Connection</h2>
 
 <p>It's also possible to determine the type of Internet connection currently available.</p>
 
@@ -71,7 +71,7 @@
 to resume them once an Internet connection has been established.</p>
 
 
-<h2 id="MonitorChanges">Monitor for Changes in Connectivity</h2> 
+<h2 id="MonitorChanges">Monitor for Changes in Connectivity</h2>
 
 <p>The {@link android.net.ConnectivityManager} broadcasts the {@link
 android.net.ConnectivityManager#CONNECTIVITY_ACTION} ({@code
diff --git a/docs/html/training/monitoring-device-state/manifest-receivers.jd b/docs/html/training/monitoring-device-state/manifest-receivers.jd
index ca184aa5..3e36dba 100644
--- a/docs/html/training/monitoring-device-state/manifest-receivers.jd
+++ b/docs/html/training/monitoring-device-state/manifest-receivers.jd
@@ -9,7 +9,7 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
+<div id="tb-wrapper">
 <div id="tb">
 
 <h2>This lesson teaches you to</h2>
@@ -24,7 +24,7 @@
   <li><a href="{@docRoot}guide/components/intents-filters.html">Intents and Intent Filters</a>
 </ul>
 
-</div> 
+</div>
 </div>
 
 <p>The simplest way to monitor device state changes is to create a {@link
@@ -38,10 +38,10 @@
 <p>A better approach is to disable or enable the broadcast receivers at runtime. That way you can
 use the receivers you declared in the manifest as passive alarms that are triggered by system events
 only when necessary.</p>
- 
 
-<h2 id="ToggleReceivers">Toggle and Cascade State Change Receivers to Improve Efficiency </h2> 
- 
+
+<h2 id="ToggleReceivers">Toggle and Cascade State Change Receivers to Improve Efficiency </h2>
+
 <p>You can use the {@link android.content.pm.PackageManager} to toggle the enabled state on any
 component defined in the manifest, including whichever broadcast receivers you wish to enable or
 disable as shown in the snippet below:</p>
@@ -59,6 +59,6 @@
 stop listening for connectivity changes and simply check to see if you're online immediately before
 performing an update and rescheduling a recurring update alarm.</p>
 
-<p>You can use the same technique to delay a download that requires higher bandwidth to complete.  
+<p>You can use the same technique to delay a download that requires higher bandwidth to complete.
 Simply enable a broadcast receiver that listens for connectivity changes and initiates the
 download only after you are connected to Wi-Fi.</p>
diff --git a/docs/html/training/multiple-threads/create-threadpool.jd b/docs/html/training/multiple-threads/create-threadpool.jd
index e22afd3..df28833 100644
--- a/docs/html/training/multiple-threads/create-threadpool.jd
+++ b/docs/html/training/multiple-threads/create-threadpool.jd
@@ -48,7 +48,7 @@
     also occurs in any object that is only instantiated once. To learn more about this, read the
     <a href="{@docRoot}guide/components/processes-and-threads.html">
     Processes and Threads</a> API guide.
-    
+
 </p>
 <h2 id="ClassStructure">Define the Thread Pool Class</h2>
 <p>
diff --git a/docs/html/training/multiscreen/adaptui.jd b/docs/html/training/multiscreen/adaptui.jd
index 34e9d7d..469012b 100644
--- a/docs/html/training/multiscreen/adaptui.jd
+++ b/docs/html/training/multiscreen/adaptui.jd
@@ -10,9 +10,9 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
+<div id="tb-wrapper">
+<div id="tb">
+
 <h2>This lesson teaches you to</h2>
 
 <ol>
@@ -28,18 +28,18 @@
   <li><a href="{@docRoot}guide/practices/tablets-and-handsets.html">Supporting Tablets and
 Handsets</a></li>
 </ul>
- 
+
 <h2>Try it out</h2>
- 
+
 <div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Download
   the sample app</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+
+</div>
+</div>
 
 <p>Depending on the layout that your application is currently showing, the UI
 flow may be different. For example, if your application is in the dual-pane
@@ -66,7 +66,7 @@
         setContentView(R.layout.main_layout);
 
         View articleView = findViewById(R.id.article);
-        mIsDualPane = articleView != null &amp;&amp; 
+        mIsDualPane = articleView != null &amp;&amp;
                         articleView.getVisibility() == View.VISIBLE;
     }
 }
@@ -139,7 +139,7 @@
     else {
         /* use list navigation (spinner) */
         actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
-        SpinnerAdapter adap = new ArrayAdapter<String>(this, 
+        SpinnerAdapter adap = new ArrayAdapter<String>(this,
                 R.layout.headline_item, CATEGORIES);
         actionBar.setListNavigationCallbacks(adap, handler);
     }
@@ -157,7 +157,7 @@
 
 <p>In cases like this, you can usually avoid code duplication by reusing the
 same {@link android.app.Fragment} subclass in several activities.  For example,
-<code>ArticleFragment</code> 
+<code>ArticleFragment</code>
 is used in the dual-pane layout:</p>
 
 {@sample development/samples/training/multiscreen/newsreader/res/layout/twopanes.xml all}
@@ -206,7 +206,7 @@
 public class HeadlinesFragment extends ListFragment {
     ...
     &#64;Override
-    public void onItemClick(AdapterView&lt;?&gt; parent, 
+    public void onItemClick(AdapterView&lt;?&gt; parent,
                             View view, int position, long id) {
         if (null != mHeadlineSelectedListener) {
             mHeadlineSelectedListener.onHeadlineSelected(position);
diff --git a/docs/html/training/multiscreen/index.jd b/docs/html/training/multiscreen/index.jd
index 8eff246..2c59fac 100644
--- a/docs/html/training/multiscreen/index.jd
+++ b/docs/html/training/multiscreen/index.jd
@@ -7,10 +7,10 @@
 
 @jd:body
 
-<div id="tb-wrapper"> 
-<div id="tb"> 
- 
-<h2>Dependencies and prerequisites</h2> 
+<div id="tb-wrapper">
+<div id="tb">
+
+<h2>Dependencies and prerequisites</h2>
 
 <ul>
   <li>Android 1.6 or higher (2.1+ for the sample app)</li>
@@ -28,18 +28,18 @@
 <ul>
   <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li>
 </ul>
- 
-<h2>Try it out</h2> 
- 
-<div class="download-box"> 
+
+<h2>Try it out</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Download
   the sample app</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
- 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
+
 <p>Android powers hundreds of device types with several different screen sizes,
 ranging from small phones to large TV sets. Therefore, it’s important
 that you design your application to be compatible with all screen sizes so it’s available to as many
@@ -62,26 +62,26 @@
 href="{@docRoot}tools/support-library/index.html">support library</a> in order to use the {@link
 android.app.Fragment} APIs on versions lower than Android 3.0. You must download and add the
 library to your application in order to use all APIs in this class.</p>
- 
 
-<h2>Lessons</h2> 
- 
-<dl> 
-  <dt><b><a href="screensizes.html">Supporting Different Screen Sizes</a></b></dt> 
+
+<h2>Lessons</h2>
+
+<dl>
+  <dt><b><a href="screensizes.html">Supporting Different Screen Sizes</a></b></dt>
     <dd>This lesson walks you through how to design layouts that adapts
         several different screen sizes (using flexible dimensions for
         views, {@link android.widget.RelativeLayout}, screen size and orientation qualifiers,
-        alias filters, and nine-patch bitmaps).</dd> 
- 
+        alias filters, and nine-patch bitmaps).</dd>
+
   <dt><b><a href="screendensities.html">Supporting Different Screen
-        Densities</a></b></dt> 
+        Densities</a></b></dt>
     <dd>This lesson shows you how to support screens that have different
         pixel densities (using density-independent pixels and providing
-        bitmaps appropriate for each density).</dd> 
- 
-  <dt><b><a href="adaptui.html">Implementing Adaptative UI Flows</a></b></dt> 
+        bitmaps appropriate for each density).</dd>
+
+  <dt><b><a href="adaptui.html">Implementing Adaptative UI Flows</a></b></dt>
     <dd>This lesson shows you how to implement your UI flow in a way
         that adapts to several screen size/density combinations
         (run-time detection of active layout, reacting according to
-        current layout, handling screen configuration changes).</dd> 
-</dl> 
+        current layout, handling screen configuration changes).</dd>
+</dl>
diff --git a/docs/html/training/multiscreen/screensizes.jd b/docs/html/training/multiscreen/screensizes.jd
index 2cd59ee..040bb85 100755
--- a/docs/html/training/multiscreen/screensizes.jd
+++ b/docs/html/training/multiscreen/screensizes.jd
@@ -10,8 +10,8 @@
 
 
 <!-- This is the training bar -->
-<div id="tb-wrapper"> 
-<div id="tb"> 
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>This lesson teaches you to</h2>
 <ol>
@@ -30,27 +30,27 @@
   <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li>
 </ul>
 
-<h2>Try it out</h2> 
- 
-<div class="download-box"> 
+<h2>Try it out</h2>
+
+<div class="download-box">
 <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Download
   the sample app</a>
-<p class="filename">NewsReader.zip</p> 
-</div> 
- 
-</div> 
-</div> 
+<p class="filename">NewsReader.zip</p>
+</div>
+
+</div>
+</div>
 
 <p>This lesson shows you how to support different screen sizes by:</p>
-<ul> 
-  <li>Ensuring your layout can be adequately resized to fit the screen</li> 
-  <li>Providing appropriate UI layout according to screen configuration</li> 
+<ul>
+  <li>Ensuring your layout can be adequately resized to fit the screen</li>
+  <li>Providing appropriate UI layout according to screen configuration</li>
   <li>Ensuring the correct layout is applied to the correct screen</li>
-  <li>Providing bitmaps that scale correctly</li> 
-</ul> 
+  <li>Providing bitmaps that scale correctly</li>
+</ul>
 
 
-<h2 id="TaskUseWrapMatchPar">Use "wrap_content" and "match_parent"</h2> 
+<h2 id="TaskUseWrapMatchPar">Use "wrap_content" and "match_parent"</h2>
 
 <p>To ensure that your layout is flexible and adapts to different screen sizes,
 you should use <code>"wrap_content"</code> and <code>"match_parent"</code> for the width
@@ -78,11 +78,11 @@
 and landscape (right).</p>
 
 
-<h2 id="TaskUseRelativeLayout">Use RelativeLayout</h2> 
+<h2 id="TaskUseRelativeLayout">Use RelativeLayout</h2>
 
 <p>You can construct fairly complex layouts using nested instances of {@link
 android.widget.LinearLayout} and
-combinations of <code>"wrap_content"</code> and <code>"match_parent"</code> sizes. 
+combinations of <code>"wrap_content"</code> and <code>"match_parent"</code> sizes.
 However, {@link android.widget.LinearLayout} does not allow you to precisely control the
 spacial relationships of child views; views in a {@link android.widget.LinearLayout} simply line up
 side-by-side. If you need child views to be oriented in variations other than a straight line, a
@@ -139,8 +139,8 @@
 spatial relationships are preserved as specified by the {@link
 android.widget.RelativeLayout.LayoutParams}.</p>
 
- 
-<h2 id="TaskUseSizeQuali">Use Size Qualifiers</h2> 
+
+<h2 id="TaskUseSizeQuali">Use Size Qualifiers</h2>
 
 <p>There's only so much mileage you can get from a flexible layout or relative layout
 like the one in the previous sections. While those layouts adapt to
@@ -148,7 +148,7 @@
 may not provide the best user experience for each screen size. Therefore, your
 application should not only implement flexible layouts, but should also provide
 several alternative layouts to target different screen configurations. You do
-so by using <a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">configuration qualifiers</a>, which allows the runtime 
+so by using <a href="http://developer.android.com/guide/practices/screens_support.html#qualifiers">configuration qualifiers</a>, which allows the runtime
 to automatically select the appropriate resource based on the current device’s
 configuration (such as a different layout design for different screen sizes).</p>
 
@@ -209,13 +209,13 @@
 
 <p>However, this won't work well on pre-3.2 devices, because they don't
 recognize <code>sw600dp</code> as a size qualifier, so you still have to use the <code>large</code>
-qualifier as well. So, you should have a file named 
+qualifier as well. So, you should have a file named
 <code>res/layout-large/main.xml</code>
 which is identical to <code>res/layout-sw600dp/main.xml</code>. In the next section
 you'll see a technique that allows you to avoid duplicating the layout files this way.</p>
 
 
-<h2 id="TaskUseAliasFilters">Use Layout Aliases</h2> 
+<h2 id="TaskUseAliasFilters">Use Layout Aliases</h2>
 
 <p>The smallest-width qualifier is available only on Android 3.2 and above.
 Therefore, you should also still use the abstract size bins (small, normal,
@@ -271,7 +271,7 @@
 {@code large}, and post-3.2 will match <code>sw600dp</code>).</p>
 
 
-<h2 id="TaskUseOriQuali">Use Orientation Qualifiers</h2> 
+<h2 id="TaskUseOriQuali">Use Orientation Qualifiers</h2>
 
 <p>Some layouts work well in both landscape and portrait orientations, but most of them can
 benefit from adjustments. In the News Reader sample app, here is how the layout
@@ -287,7 +287,7 @@
 <li><b>TV, landscape:</b> dual pane, wide, with action bar</li>
 </ul></p>
 
-<p>So each of these layouts is defined in an XML file in the 
+<p>So each of these layouts is defined in an XML file in the
 <code>res/layout/</code> directory. To then assign each layout to the various screen
 configurations, the app uses layout aliases to match them to
 each configuration:</p>
@@ -361,7 +361,7 @@
 the right and bottom borders indicate where the content should be
 placed.</p>
 
-<p>Also, notice the <code>.9.png</code> extension. You must use this 
+<p>Also, notice the <code>.9.png</code> extension. You must use this
 extension, since this is how the framework detects that this is a nine-patch
 image, as opposed to a regular PNG image.</p>
 
diff --git a/docs/html/training/notify-user/build-notification.jd b/docs/html/training/notify-user/build-notification.jd
index d24a496..2f96a20 100644
--- a/docs/html/training/notify-user/build-notification.jd
+++ b/docs/html/training/notify-user/build-notification.jd
@@ -42,9 +42,9 @@
 
 <p>This lesson explains how to create and issue a notification.</p>
 
-<p>The examples in this class are based on the 
-{@link android.support.v4.app.NotificationCompat.Builder} class. 
-{@link android.support.v4.app.NotificationCompat.Builder} 
+<p>The examples in this class are based on the
+{@link android.support.v4.app.NotificationCompat.Builder} class.
+{@link android.support.v4.app.NotificationCompat.Builder}
 is in the <a href="{@docRoot}">Support Library</a>. You should use
 {@link android.support.v4.app.NotificationCompat} and its subclasses,
 particularly {@link android.support.v4.app.NotificationCompat.Builder}, to
@@ -52,9 +52,9 @@
 
 <h2 id="builder">Create a Notification Builder</h2>
 
-<p>When creating a notification, specify the UI content and actions with a 
-{@link android.support.v4.app.NotificationCompat.Builder} object. At bare minimum, 
-a {@link android.support.v4.app.NotificationCompat.Builder Builder} 
+<p>When creating a notification, specify the UI content and actions with a
+{@link android.support.v4.app.NotificationCompat.Builder} object. At bare minimum,
+a {@link android.support.v4.app.NotificationCompat.Builder Builder}
 object must include the following:</p>
 
 <ul>
@@ -96,7 +96,7 @@
 android.app.Activity} from a notification, you must preserve the user's expected
 navigation experience. In the snippet below, clicking the notification opens a
 new activity that effectively extends the behavior of the notification. In this
-case there is no need to create an artificial back stack (see 
+case there is no need to create an artificial back stack (see
 <a href="navigation.html">Preserving Navigation when Starting an Activity</a> for
 more information):</p>
 
@@ -132,11 +132,11 @@
 
 <p>To issue the notification:</p>
 <ul>
-<li>Get an instance of {@link android.app.NotificationManager}.</li> 
+<li>Get an instance of {@link android.app.NotificationManager}.</li>
 
 <li>Use the {@link android.app.NotificationManager#notify notify()} method to issue the
-notification. When you call {@link android.app.NotificationManager#notify notify()}, specify a notification ID. 
-You can use this ID to update the notification later on. This is described in more detail in 
+notification. When you call {@link android.app.NotificationManager#notify notify()}, specify a notification ID.
+You can use this ID to update the notification later on. This is described in more detail in
 <a href="managing.html">Managing Notifications</a>.</li>
 
 <li>Call {@link
@@ -152,7 +152,7 @@
 // Sets an ID for the notification
 int mNotificationId = 001;
 // Gets an instance of the NotificationManager service
-NotificationManager mNotifyMgr = 
+NotificationManager mNotifyMgr =
         (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 // Builds the notification and issues it.
 mNotifyMgr.notify(mNotificationId, mBuilder.build());
diff --git a/docs/html/training/notify-user/display-progress.jd b/docs/html/training/notify-user/display-progress.jd
index 3439571..e2cf033 100644
--- a/docs/html/training/notify-user/display-progress.jd
+++ b/docs/html/training/notify-user/display-progress.jd
@@ -59,9 +59,9 @@
 <h2 id="FixedProgress">Display a Fixed-duration Progress Indicator</h2>
 <p>
     To display a determinate progress bar, add the bar to your notification by calling
-    {@link android.support.v4.app.NotificationCompat.Builder#setProgress 
-    setProgress(max, progress, false)} and then issue the notification. 
-    The third argument is a boolean that indicates whether the 
+    {@link android.support.v4.app.NotificationCompat.Builder#setProgress
+    setProgress(max, progress, false)} and then issue the notification.
+    The third argument is a boolean that indicates whether the
     progress bar is indeterminate (<strong>true</strong>) or determinate (<strong>false</strong>).
     As your operation proceeds,
     increment <code>progress</code>, and update the notification. At the end of the operation,
@@ -74,7 +74,7 @@
     You can either leave the progress bar showing when the operation is done, or remove it. In
     either case, remember to update the notification text to show that the operation is complete.
     To remove the progress bar, call
-    {@link android.support.v4.app.NotificationCompat.Builder#setProgress 
+    {@link android.support.v4.app.NotificationCompat.Builder#setProgress
     setProgress(0, 0, false)}. For example:
 </p>
 <pre>
@@ -136,14 +136,14 @@
 <p>
     To display a continuing (indeterminate) activity indicator, add it to your notification with
     {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress(0, 0, true)}
-    and issue the notification. The first two arguments are ignored, and the third argument  
+    and issue the notification. The first two arguments are ignored, and the third argument
     declares that the indicator is indeterminate. The result is an indicator
     that has the same style as a progress bar, except that its animation is ongoing.
 </p>
 <p>
     Issue the notification at the beginning of the operation. The animation will run until you
     modify your notification. When the operation is done, call
-    {@link android.support.v4.app.NotificationCompat.Builder#setProgress 
+    {@link android.support.v4.app.NotificationCompat.Builder#setProgress
     setProgress(0, 0, false)} and then update the notification to remove the activity indicator.
     Always do this; otherwise, the animation will run even when the operation is complete. Also
     remember to change the notification text to indicate that the operation is complete.
@@ -160,7 +160,7 @@
 </pre>
 <p>
     Replace the lines you've found with the following lines. Notice that the third parameter
-    in the {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()} 
+    in the {@link android.support.v4.app.NotificationCompat.Builder#setProgress setProgress()}
     call is set to {@code true} to indicate that the progress bar is
     indeterminate:
 </p>
diff --git a/docs/html/training/notify-user/expanded.jd b/docs/html/training/notify-user/expanded.jd
index b657426..23d85d4 100644
--- a/docs/html/training/notify-user/expanded.jd
+++ b/docs/html/training/notify-user/expanded.jd
@@ -75,7 +75,7 @@
 </ul>
 
 <p>The normal view provides these features through a new activity that launches
-when the user clicks the notification. Keep this in mind as you design your notifications&mdash;first 
+when the user clicks the notification. Keep this in mind as you design your notifications&mdash;first
 provide the functionality in the normal view, since
 this is how many users will interact with the notification.</p>
 
@@ -87,19 +87,19 @@
 
 <p>In this snippet, the
 {@link android.app.IntentService} method
-{@link android.app.IntentService#onHandleIntent onHandleIntent()} specifies the new activity 
+{@link android.app.IntentService#onHandleIntent onHandleIntent()} specifies the new activity
 that will be launched if the user
-clicks the notification itself. The method 
-{@link android.support.v4.app.NotificationCompat.Builder#setContentIntent setContentIntent()} 
+clicks the notification itself. The method
+{@link android.support.v4.app.NotificationCompat.Builder#setContentIntent setContentIntent()}
 defines a pending intent that should be fired when the user
 clicks the notification, thereby launching the activity.</p>
 
 <pre>Intent resultIntent = new Intent(this, ResultActivity.class);
 resultIntent.putExtra(CommonConstants.EXTRA_MESSAGE, msg);
-resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
+resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
         Intent.FLAG_ACTIVITY_CLEAR_TASK);
-     
-// Because clicking the notification launches a new ("special") activity, 
+
+// Because clicking the notification launches a new ("special") activity,
 // there's no need to create an artificial back stack.
 PendingIntent resultPendingIntent =
          PendingIntent.getActivity(
@@ -130,8 +130,8 @@
 PendingIntent piSnooze = PendingIntent.getService(this, 0, snoozeIntent, 0);
 </pre>
 
-<p>This snippet shows how to construct the 
-{@link android.support.v4.app.NotificationCompat.Builder Builder} object. 
+<p>This snippet shows how to construct the
+{@link android.support.v4.app.NotificationCompat.Builder Builder} object.
 It sets the style for the big
 view to be "big text," and sets its content to be the reminder message. It uses
 {@link android.support.v4.app.NotificationCompat.Builder#addAction addAction()}
diff --git a/docs/html/training/notify-user/index.jd b/docs/html/training/notify-user/index.jd
index 616e767..57efd65 100644
--- a/docs/html/training/notify-user/index.jd
+++ b/docs/html/training/notify-user/index.jd
@@ -43,9 +43,9 @@
 </div>
 
 <p>
-   A notification is a user interface element that you display outside your app's normal UI to indicate 
-   that an event has occurred. Users can choose to view the notification while using other apps and respond 
-   to it when it's convenient for them. 
+   A notification is a user interface element that you display outside your app's normal UI to indicate
+   that an event has occurred. Users can choose to view the notification while using other apps and respond
+   to it when it's convenient for them.
 
 </p>
 
@@ -86,10 +86,10 @@
         </strong>
     </dt>
     <dd>
-        Learn how to create a big view within an expanded notification, while still maintaining 
+        Learn how to create a big view within an expanded notification, while still maintaining
         backward compatibility.
     </dd>
-   
+
     <dt>
         <strong>
         <a href="display-progress.html">Displaying Progress in a Notification</a>
diff --git a/docs/html/training/notify-user/navigation.jd b/docs/html/training/notify-user/navigation.jd
index b7051ab..cdb7f3d 100644
--- a/docs/html/training/notify-user/navigation.jd
+++ b/docs/html/training/notify-user/navigation.jd
@@ -37,7 +37,7 @@
 </div>
 </div>
 <p>
-    Part of designing a notification is preserving the user's expected navigation experience. 
+    Part of designing a notification is preserving the user's expected navigation experience.
     For a detailed discussion of this topic, see the
     <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#NotificationResponse">Notifications</a>
     API guide.
@@ -49,7 +49,7 @@
     </dt>
     <dd>
         You're starting an {@link android.app.Activity} that's part of the application's normal
-        workflow. 
+        workflow.
     </dd>
     <dt>
         Special activity
@@ -202,7 +202,7 @@
 Intent notifyIntent =
         new Intent(new ComponentName(this, ResultActivity.class));
 // Sets the Activity to start in a new, empty task
-notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
+notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
         Intent.FLAG_ACTIVITY_CLEAR_TASK);
 // Creates the PendingIntent
 PendingIntent notifyIntent =
diff --git a/docs/html/training/run-background-service/report-status.jd b/docs/html/training/run-background-service/report-status.jd
index 41121c1..41fbb00 100644
--- a/docs/html/training/run-background-service/report-status.jd
+++ b/docs/html/training/run-background-service/report-status.jd
@@ -91,7 +91,7 @@
 </p>
 <h2 id="ReceiveStatus">Receive Status Broadcasts from an IntentService</h2>
 <p>
-    
+
     To receive broadcast {@link android.content.Intent} objects, use a subclass of
     {@link android.content.BroadcastReceiver}. In the subclass, implement the
     {@link android.content.BroadcastReceiver#onReceive BroadcastReceiver.onReceive()} callback
@@ -137,7 +137,7 @@
         // The filter's action is BROADCAST_ACTION
         IntentFilter mStatusIntentFilter = new IntentFilter(
                 Constants.BROADCAST_ACTION);
-    
+
         // Adds a data filter for the HTTP scheme
         mStatusIntentFilter.addDataScheme("http");
         ...
@@ -194,6 +194,6 @@
     {@link android.content.Intent}.
 </p>
 <p>
-    
+
 </p>
 
diff --git a/docs/html/training/sign-in/index.jd b/docs/html/training/sign-in/index.jd
index d7c8e1d..a585944 100644
--- a/docs/html/training/sign-in/index.jd
+++ b/docs/html/training/sign-in/index.jd
@@ -11,8 +11,8 @@
   alt="Google maps sample image">
 
 <p>
-  Google Sign-In for Android lets you authenticate a user with the same credentials they use on 
-  Google. After a user signs in with Google, you can create more engaging experiences and drive 
+  Google Sign-In for Android lets you authenticate a user with the same credentials they use on
+  Google. After a user signs in with Google, you can create more engaging experiences and drive
   usage of your app.
 </p>
 
@@ -34,8 +34,8 @@
 
 <h4>Access the profile and social graph</h4>
 <p>
-  After users have signed in with Google, your app can welcome them by name and display their 
-  picture. If your app requests social scopes, it can connect users with friends, and access  
+  After users have signed in with Google, your app can welcome them by name and display their
+  picture. If your app requests social scopes, it can connect users with friends, and access
   age range, language, and public profile information.<br>
   <a href="https://developers.google.com/identity/sign-in/android/people" class="external-link">
   Getting Profile Information</a>.
@@ -47,6 +47,6 @@
   The Google Android APIs are part of the Google Play services platform. To use Google features,
   set up the Google Play services SDK in your app development project. For more information, see
   the <a class="external-link" href=
-  "https://developers.google.com/identity/sign-in/android/start-integrating">Start Integrating</a> 
+  "https://developers.google.com/identity/sign-in/android/start-integrating">Start Integrating</a>
   guide for Google Sign-In.
 </p>
\ No newline at end of file
diff --git a/docs/html/wear/preview/features/ime.jd b/docs/html/wear/preview/features/ime.jd
index 1301be9..b07736f 100644
--- a/docs/html/wear/preview/features/ime.jd
+++ b/docs/html/wear/preview/features/ime.jd
@@ -19,14 +19,14 @@
 </div>
 
 
-<p>Wear 2.0 supports input methods beyond voice by extending the Android 
+<p>Wear 2.0 supports input methods beyond voice by extending the Android
 Input Method Framework (IMF) to Android Wear. IMF allows for virtual, on-screen
- keyboards and other input methods to be used for text entry. The IMF APIs used 
- for Wear devices are the same as other form factors, though usage is slightly 
+ keyboards and other input methods to be used for text entry. The IMF APIs used
+ for Wear devices are the same as other form factors, though usage is slightly
  different due to limited screen real estate.</p>
 
-<p>Wear 2.0 comes with the system default Input Method Editor (IME) 
-and opens up the IMF APIs for third-party developers to create custom input 
+<p>Wear 2.0 comes with the system default Input Method Editor (IME)
+and opens up the IMF APIs for third-party developers to create custom input
 methods for Wear.</p>
 
 <p><img src="{@docRoot}wear/preview/images/new_input_methods.png"></p>
@@ -46,17 +46,17 @@
 
 
 <h2 id="invoking">Invoking an Input Method</h2>
-If you are developing an IME for Wear, remember that the 
-feature is supported only on Android 6.0 (API level 23) and higher versions of 
-the platform. 
-To ensure that your IME can only be installed on Wearables that support input 
+If you are developing an IME for Wear, remember that the
+feature is supported only on Android 6.0 (API level 23) and higher versions of
+the platform.
+To ensure that your IME can only be installed on Wearables that support input
 methods beyond voice, add the following to your app's manifest:
 <pre>
 &lt;uses-sdk android:minSdkVersion="23" />
 </pre>
-This indicates that your app requires Android 6.0 or higher. 
+This indicates that your app requires Android 6.0 or higher.
 For more information, see <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API Levels</a>
- and the documentation for the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk></a> 
+ and the documentation for the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk></a>
 element.
 <p>
 To control how your app is filtered from devices that do not support Wear
@@ -67,14 +67,14 @@
 </pre>
 
 <p>Wear provides user settings on the watch that lets the user to enable multiple
- IMEs from the list of installed IMEs. Once the users enable your IME, they 
+ IMEs from the list of installed IMEs. Once the users enable your IME, they
  can invoke your IME from:</p>
 <ul>
-<li>A notification or an app using the 
+<li>A notification or an app using the
 <a href="{@docRoot}reference/android/support/v4/app/RemoteInput.html">RemoteInput</a></code> API.</li>
-<li>Wear apps with an 
+<li>Wear apps with an
 <a href="{@docRoot}reference/android/widget/EditText.html">EditText</a>
- field. Touching a text field places the cursor in the field and automatically 
+ field. Touching a text field places the cursor in the field and automatically
  displays the IME on focus.</li>
 </ul>
 
@@ -86,10 +86,10 @@
 <ul>
 <li><strong>Set Default Action</strong>
 <p>
-<a href="http://developer.android.com/reference/android/support/v4/app/RemoteInput.html">{@code RemoteInput}</a> 
+<a href="http://developer.android.com/reference/android/support/v4/app/RemoteInput.html">{@code RemoteInput}</a>
 and Wear apps expect only single-line text entry. The ENTER key should always trigger
  a call to <a href="{@docRoot}reference/android/inputmethodservice/InputMethodService.html#sendDefaultEditorAction(boolean)">sendDefaultEditorAction</a>,
-  which causes the app to dismiss the keyboard and continue on to the next step 
+  which causes the app to dismiss the keyboard and continue on to the next step
   or action.</p>
 </li>
 
@@ -97,22 +97,22 @@
 <p>
 Input methods on Wear consume most of the screen, leaving very little of the
  app visible; using full-screen mode ensures an optimal user experience regardless
-  of the app UI.  In full-screen mode, an 
+  of the app UI.  In full-screen mode, an
   <a href="{@docRoot}reference/android/view/inputmethod/ExtractedText.html">{@code ExtractEditText}</a> provides a mirrored
    view of the text field being edited and can be styled to blend with the rest of
-    the input method UI. For more details on full-screen mode, see 
+    the input method UI. For more details on full-screen mode, see
     <a href="{@docRoot}reference/android/inputmethodservice/InputMethodService.html">InputMethodService</a>.
 </p>
 </li>
 
 <li><strong>Handle InputType flags</strong>
 <p>
-For privacy reasons, at a minimum you should handle the {@code InputType} 
-flag {@code TYPE_TEXT_VARIATION_PASSWORD} in your IME. When your IME is in 
-password mode, make sure that your keyboard is optimized for single key press 
-(auto spelling correction, auto completion and gesture input are disabled). 
-Most importantly, keyboard in password mode should support ASCII symbols 
-regardless of the input language.  For more details, see 
+For privacy reasons, at a minimum you should handle the {@code InputType}
+flag {@code TYPE_TEXT_VARIATION_PASSWORD} in your IME. When your IME is in
+password mode, make sure that your keyboard is optimized for single key press
+(auto spelling correction, auto completion and gesture input are disabled).
+Most importantly, keyboard in password mode should support ASCII symbols
+regardless of the input language.  For more details, see
 <a href="{@docRoot}training/keyboard-input/style.html">Specifying The Input Method Type</a>.
 </p>
 </li>
@@ -120,9 +120,9 @@
 <li><strong>Provide a key for switching to the next input method</strong>
 <p>
 Android allows users to easily switch between all IMEs supported by the platform.
- In your IME implementation, set the boolean 
+ In your IME implementation, set the boolean
  <a href="{@docRoot}guide/topics/text/creating-input-method.html#Switching">supportsSwitchingToNextInputMethod = true</a>
- to enable your IME to support the switching mechanism 
+ to enable your IME to support the switching mechanism
  (so that apps can switch to the next platform-supported IME).
 </p>
 </li>
diff --git a/docs/html/wear/preview/features/notifications.jd b/docs/html/wear/preview/features/notifications.jd
index c84a470..dcc0970 100644
--- a/docs/html/wear/preview/features/notifications.jd
+++ b/docs/html/wear/preview/features/notifications.jd
@@ -155,7 +155,7 @@
 <p>If you have a chat messaging app, your notifications should use
 <a href="{@docRoot}preview/features/notification-updates.html#style">{@code Notification.MessagingStyle}</a>,
  which is new in Android N. Wear 2.0 uses the chat messages included
-  in a <a href="{@docRoot}preview/features/notification-updates.html#style">{@code MessagingStyle}</a> notification 
+  in a <a href="{@docRoot}preview/features/notification-updates.html#style">{@code MessagingStyle}</a> notification
 
   (see <a href="{@docRoot}preview/features/notification-updates.html#style">{@code addMessage()}</a>) to provide
   a rich chat app-like experience in the expanded notification.
@@ -195,7 +195,7 @@
   <li>Use <a href="{@docRoot}preview/features/notification-updates.html#style">{@code Notification.MessagingStyle}</a>.
   </li>
   <li>Call the method {@code setAllowGeneratedReplies()} for the notification action.
-  For more information, see the downloadable 
+  For more information, see the downloadable
   <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API reference</a>.
   </li>
   <li>Ensure that the notification action has a
diff --git a/docs/html/work/cosu.jd b/docs/html/work/cosu.jd
index 8bc54d4..f66006b 100644
--- a/docs/html/work/cosu.jd
+++ b/docs/html/work/cosu.jd
@@ -223,7 +223,7 @@
 </ul>
 
 <p>
-Starting from Marshmallow, if your app is whitelisted by an EMM using {@link 
+Starting from Marshmallow, if your app is whitelisted by an EMM using {@link
 android.app.admin.DevicePolicyManager#setLockTaskPackages setLockTaskPackages},
 your activities can automatically start lock task mode when the app is
 launched.
@@ -253,15 +253,15 @@
 
 <li>
 The default value of the {@link android.R.attr#lockTaskMode} attribute is
-normal. When this attribute is set to normal, tasks don’t launch into 
-{@link android.R.attr#lockTaskMode}, unless {@link android.app.Activity#startLockTask()} 
+normal. When this attribute is set to normal, tasks don’t launch into
+{@link android.R.attr#lockTaskMode}, unless {@link android.app.Activity#startLockTask()}
 is called. To call {@link android.app.Activity#startLockTask()},
-applications still need to be whitelisted using 
-{@link android.app.admin.DevicePolicyManager#setLockTaskPackages setLockTaskPackages}, 
+applications still need to be whitelisted using
+{@link android.app.admin.DevicePolicyManager#setLockTaskPackages setLockTaskPackages},
 otherwise, the user sees a dialog to approve entering pinned mode.
 </li>
 </ul>
-  
+
 <p>To have your activity <em>automatically</em> enter {@link android.R.attr#lockTaskMode},
 change the value of this attribute to <code>if_whitelisted</code>.
 Doing so causes your app to behave in this manner:
@@ -289,7 +289,7 @@
 <p>
 Given either of these options, you still need to create a mechanism for
 calling {@link android.app.Activity#stopLockTask()} so that users can
-exit {@link android.R.attr#lockTaskMode}. 
+exit {@link android.R.attr#lockTaskMode}.
 </p>
 
 <h2 id="create-dpc">
@@ -298,7 +298,7 @@
 
 <p>
 To manage applications in COSU, you need a DPC running as device
-owner to set several policies on the device. 
+owner to set several policies on the device.
 </p>
 
 <p class="note">
diff --git a/docs/html/work/device-management-policy.jd b/docs/html/work/device-management-policy.jd
index d564b89..fd09150 100644
--- a/docs/html/work/device-management-policy.jd
+++ b/docs/html/work/device-management-policy.jd
@@ -14,7 +14,7 @@
   <li><a href="#ActivateDeviceAdmin">Activate the Device Administrator</a></li>
   <li><a href="#ImplementDevicePolicyController">Implement the Device Policy Controller</a></li>
 </ol>
-  
+
 <!-- related docs (NOT javadocs) -->
 <h2>You should also read</h2>
 <ul>