Merge "docs: Moving internationalized versions of multi-window doc" into nyc-dev
diff --git a/docs/html-intl/intl/es/preview/j8-jack.jd b/docs/html-intl/intl/es/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/es/preview/j8-jack.jd
rename to docs/html-intl/intl/es/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/es/preview/_book.yaml b/docs/html-intl/intl/es/preview/_book.yaml
index 815f0f6..e64ba5a 100644
--- a/docs/html-intl/intl/es/preview/_book.yaml
+++ b/docs/html-intl/intl/es/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Funciones del lenguaje Java 8
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Actualizaciones para Android for Work
     path: /preview/features/afw.html
   - title: Acceso a directorios determinados
diff --git a/docs/html-intl/intl/es/preview/features/afw.jd b/docs/html-intl/intl/es/preview/features/afw.jd
deleted file mode 100644
index 5e550a6..0000000
--- a/docs/html-intl/intl/es/preview/features/afw.jd
+++ /dev/null
@@ -1,552 +0,0 @@
-page.title=Actualizaciones de Android for Work
-page.metaDescription=Nuevas API y funciones de Android for Work en Android N.
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>En este documento</h2>
-      <ol>
-        <li><a href="#qr">Provisión de código QR
-                </a></li>
-
-        <li><a href="#sec-challenge">Comprobación de seguridad para perfiles de trabajo
-                </a></li>
-
-        <li><a href="#suspend">Inhabilitar acceso a aplicaciones
-                </a></li>
-
-        <li><a href="#toggle-work">Activar o desactivar el modo de trabajo
-                </a></li>
-
-        <li><a href="#always-on-vpn">VPN siempre visibles
-                </a></li>
-
-        <li><a href="#contacts">Integración de contactos con el perfil de trabajo
-                </a></li>
-
-        <li><a href="#remote-reboot">Reinicio remoto
-                </a></li>
-
-        <li><a href="#disable-roaming">Inhabilitar roaming de datos
-                </a></li>
-
-        <li><a href="#process-logging">Registros de procesos empresariales
-                </a></li>
-
-        <li><a href="#bug-reports">Informes de errores remotos
-                </a></li>
-
-        <li><a href="#remove-cert">Quitar un certificado de cliente
-                </a></li>
-
-        <li><a href="#grant-cert-on-install">Otorgar acceso a certificado de cliente
-                en la instalación</a></li>
-
-        <li><a href="#ui-policy">Transparencia de la política de IU del sistema
-                </a></li>
-
-        <li><a href="#restrictions-mgmt">Mejoras en la administración de restricciones de aplicaciones
-                </a></li>
-
-        <li><a href="#location-off">Interruptor de desactivación de los servicios de ubicación
-                </a></li>
-
-        <li><a href="#custom-provisioning">Provisión personalizada
-                </a></li>
-
-        <li><a href="#multi-wifi-ca">Múltiples certificados de CA de Wi-Fi
-                </a></li>
-
-        <li><a href="#custom-lock">Mensaje personalizado en la pantalla bloqueada
-                </a></li>
-
-        <li><a href="#work-connectionservice">ConnectionService del perfil de trabajo
-                </a></li>
-
-        <li><a href="#lock-wp">Bloquear fondo de pantalla
-                </a></li>
-
-        <li><a href="#lock-user-icon">Bloquear ícono de usuario
-                </a></li>
-
-        <li><a href="#health-monitoring">Control del estado del dispositivo
-                </a></li>
-
-      </ol>
-
-    <h2>Consulta también</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK
-            </a></li>
-    </ul>
-  </div>
-</div>
-
-<p>En este documento, se describen las nuevas funciones de Android for Work que se proporcionan en
-Android N.</p>
-
-<h2 id="qr">Provisión de código QR</h2>
-
-<p>
-  Android for Work ahora es compatible con la utilización de códigos QR para aprovisionar dispositivos
- de responsabilidad corporativa. Gracias al asistente de configuración, ahora puedes escanear un código QR para aprovisionar
- el dispositivo.
-</p>
-
-<h2 id="sec-challenge">Comprobación de seguridad para perfiles de trabajo</h2>
-
-<p>
-  Los propietarios de perfiles pueden solicitar que los usuarios especifiquen una comprobación de seguridad para las aplicaciones
- que se ejecutan en el perfil de trabajo. Dicha comprobación se muestra en el sistema cuando el
- usuario intenta abrir cualquier aplicación de trabajo. Si el usuario completa con éxito la
- comprobación de seguridad, el sistema desbloquea el perfil de trabajo y lo descifra
- si es necesario.
-</p>
-
-<p>
-  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>
- para que el usuario establezca un bloqueo de dispositivo.
-</p>
-
-<p>
-  Los propietarios de perfiles pueden elegir establecer las políticas de contraseña para la comprobación del perfil de trabajo de modo que sean
- diferentes de aquellas para las contraseñas de otros dispositivos. Por ejemplo, la
- longitud mínima para la respuesta de comprobación del dispositivo puede ser diferente de la
- longitud necesaria para otras contraseñas. Los propietarios de perfiles establecen las políticas de
- comprobación mediante los métodos {@link android.app.admin.DevicePolicyManager}
- comunes, como por ejemplo, {@link
-  android.app.admin.DevicePolicyManager#setPasswordQuality
-  setPasswordQuality()} y {@link
-  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-  setPasswordMinimumLength()}. El propietario del perfil también puede establecer el bloqueo del dispositivo mediante
- la utilización de la instancia de{@link android.app.admin.DevicePolicyManager} devuelta
- por el nuevo método <code>DevicePolicyManager.getParentProfileInstance()</code>
-. Además, los propietarios de perfiles pueden personalizar la pantalla de credenciales para
- la comprobación de trabajo mediante la utilización de los nuevos métodos de la clase{@link android.app.admin.DevicePolicyManager}
- <code>setOrganizationColor()</code> y
-  <code>setOrganizationName()</code>.
-</p>
-
-<p>
-  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>
-
-<h2 id="suspend">Inhabilitar acceso a aplicaciones</h2>
-
-<p>
-  Los propietarios de perfiles y dispositivos pueden suspender temporariamente el acceso a los paquetes
- mediante una llamada al nuevo método <code>DevicePolicyManager.setPackagesSuspended()</code>
-. Los propietarios pueden utilizar el mismo método para volver a habilitar esos paquetes.
-</p>
-
-<p>
-  Mientras un paquete está suspendido, este no puede comenzar actividades, se suprimen las notificaciones al
- paquete y se oculta la entrada de la aplicación en la <a href="{@docRoot}guide/components/recents.html">pantalla de información general</a>.
-  Los paquetes suspendidos no aparecen en la <a href="{@docRoot}guide/components/recents.html">pantalla de información general</a> y
- no pueden mostrar diálogos (incluidos avisos y snackbars). Además, no pueden reproducir
- audio ni hacer vibrar el dispositivo.
-</p>
-
-<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
-  <code>DevicePolicyManager.getPackageSuspended()</code>.
-</p>
-
-<h2 id="toggle-work">Activar o desactivar el modo de trabajo</h2>
-
-<p>
-  En dispositivos de perfil doble, los usuarios pueden activar o desactivar el modo de trabajo. Mientras este último está
- desactivado, el perfil administrado se encuentra inactivo temporariamente. Se inhabilitan
- todas las aplicaciones del perfil de trabajo, la sincronización en segundo plano y las notificaciones, incluida
- la aplicación del propietario del perfil. Mientras el perfil de trabajo está deshabilitado, en el sistema
- se muestra un ícono de estado persistente para recordarles a los usuarios que no pueden iniciar aplicaciones
- de trabajo. El launcher del sistema indica que no se puede acceder a aplicaciones ni widgets
- de trabajo.
-</p>
-
-<h2 id="always-on-vpn">VPN siempre visibles</h2>
-
-<p>
-  Los propietarios de dispositivos y perfiles pueden solicitar que las aplicaciones de trabajo siempre se conecten a la red
- a través de una VPN especificada. Si los propietarios establecen este requisito, el
- dispositivo inicia automáticamente esa VPN en el inicio.
-</p>
-
-<p>
-  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
-  <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>.
-</p>
-
-<p>
-  Debido a que los servicios de VPN pueden enlazarse directamente a través del sistema sin interacción con aplicaciones,
- los clientes de VPN deben administrar nuevos puntos de entrada para VPN siempre visibles. Como antes, puedes
- encontrar servicios activos mediante la utilización de un filtro de intent que coincida con la acción
- {@link android.net.VpnService android.net.VpnService}.
-</p>
-
-<p>
-  Para configurar manualmente un cliente de VPN que esté siempre visible y que implemente {@link
-  android.net.VpnService}, los usuarios deben ir a <strong>Settings &gt; More &gt;
- pantalla VPN</strong>.
-</p>
-
-<h2 id="contacts">Integración de contactos con el perfil de trabajo</h2>
-
-<p>
-  Los propietarios de perfiles pueden permitir la búsqueda local y la búsqueda en directorio de los contactos de trabajo
- a partir del usuario principal. Por ejemplo, un usuario puede acceder a contactos personales y laborales del directorio
- desde el teléfono personal o la aplicación de contactos (si
- así lo permite el administrador del perfil).
-</p>
-
-<p>
-  Los desarrolladores que aprovechan el proveedor de contactos pueden utilizar la API de contactos empresariales
- para acceder a las entradas del directorio del perfil de trabajo desde el usuario principal si así lo permiten
- las siguientes políticas:
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  Los propietarios de perfiles pueden controlar la visibilidad de los contactos laborales en el usuario
- principal por medio de los nuevos métodos a continuación:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">Reinicio remoto</h2>
-
-<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
-  <code>DevicePolicyManager.reboot()</code>.
-</p>
-
-<h2 id="disable-roaming">Inhabilitar roaming de datos</h2>
-
-<p>
-  Los propietarios de dispositivos pueden inhabilitar el roaming de datos mediante la nueva restricción de usuario de {@link
-  android.os.UserManager} denominada <code>DISALLOW_DATA_ROAMING</code>.
-</p>
-
-<h2 id="process-logging">Registros de procesos empresariales</h2>
-
-<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
- los registros de dispositivos mediante <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
-</p>
-
-<p>
-  Entre los cambios en la API, se incluyen los siguientes:
-</p>
-
-<ul>
-
-  <li>
-    La nueva clase <code>android.app.admin.SecurityLog</code> y sus
- métodos
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">Informes de errores remotos</h2>
-
-<p>
-  Los propietarios de dispositivos pueden activar y recuperar de forma remota un informe de errores que contenga un
- archivo de descarga sobre el estado del dispositivo, lo que permite llevar a cabo una investigación forense de un
- incidente conocido o un dispositivo afectado. Debido a la naturaleza detallada del informe de errores,
- se requiere el consentimiento del usuario.
-</p>
-
-<p>
-  Android N incluye los siguientes agregados de API para ofrecer compatibilidad con esta función. Para obtener
- detalles, consulte la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK
-</a>.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">Quitar un certificado de cliente</h2>
-
-<p>
-  Los propietarios de perfiles y dispositivos ahora pueden quitar certificados de cliente que se
- instalaron a través de {@link android.app.admin.DevicePolicyManager#installKeyPair
-  installKeyPair()} llamando al nuevo método
-  <code>DevicePolicyManager.removeKeyPair()</code>.
-</p>
-
-<h2 id="grant-cert-on-install">Otorgar acceso a certificado de cliente
- en la instalación</h2>
-
-<p>
-  Si un propietario de perfil o dispositivo otorga a una aplicación de terceros la capacidad de
- administrar certificados, dicha aplicación puede acceder por sí sola a los certificados que
- instala sin intervención alguna por parte del propietario.
-</p>
-
-<p>
-  La API existente para administrar certificados se extiende para incluir lo siguiente:
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">Transparencia de la política de IU del sistema</h2>
-
-<p>
-  Las políticas que afectan la experiencia del usuario o restringen las configuraciones del usuario se divulgan
- en su totalidad al usuario, y los propietarios de perfiles y dispositivos pueden atribuir la
- política al departamento de TI de la empresa. Además de un mensaje “Action
- not allowed” consistente en Settings, los administradores de TI pueden configurar un
- mensaje de soporte específico para la organización en la configuración del dispositivo con los nuevos
- métodos{@link android.app.admin.DevicePolicyManager} a continuación:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">Mejoras en la administración de las restricciones de aplicaciones</h2>
-
-<p>
-  El propietario del dispositivo o perfil puede habilitar otra aplicación para que administre las restricciones de
- aplicaciones mediante el nuevo método
-  <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
-. La aplicación nominada puede controlar si se otorgó este permiso
- llamando a
-  <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
-</p>
-
-<p>
-  Una aplicación nominada para administrar restricciones de aplicaciones puede llamar a {@link
-  android.app.admin.DevicePolicyManager#setApplicationRestrictions
-  setApplicationRestrictions()} y {@link
-  android.app.admin.DevicePolicyManager#getApplicationRestrictions
-  getApplicationRestrictions()} para cualquier paquete dentro de ese usuario o perfil.
-</p>
-
-<h2 id="location-off">Interruptor de desactivación de los servicios de ubicación</h2>
-
-<p>
-  Los usuarios pueden inhabilitar los permisos de ubicación para las aplicaciones de trabajo mientras continúan
- accediendo a información sobre ubicación en sus aplicaciones personales. Mediante un interruptor independiente de acceso
- a información de ubicación en Location Settings, los usuarios pueden denegar las actualizaciones de ubicación o
- las consultas de última ubicación para las aplicaciones que se ejecutan en el perfil de trabajo.
-</p>
-
-<p>
-  Gracias al interruptor de desactivación de servicios de ubicación de nivel superior, se inhabilita el acceso a este tipo de información para
- el perfil principal y el perfil administrado.
-</p>
-
-<h2 id="custom-provisioning">Aprovisionamiento personalizado</h2>
-
-<p>
-  En una aplicación se pueden personalizar los flujos de provisión
- del propietario del perfil y del propietario del dispositivo con logos y colores corporativos.
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    Permite personalizar el color del flujo.
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    Permite personalizar el flujo con un logo corporativo.
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">Múltiples certificados de CA de Wi-Fi</h2>
-
-<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
-  <code>setCaCertificates()</code>.
-</p>
-
-<p>
-  Las API que se agregaron son las siguientes:
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">Mensaje personalizado en la pantalla bloqueada</h2>
-
-<p>
-  Los propietarios de dispositivos pueden proporcionar información de propietario para que aparezca en la pantalla bloqueada.
-  Esta información prevalece sobre el mensaje de la pantalla bloqueada del usuario (si se configuró
- uno). Los nuevos métodos {@link android.app.admin.DevicePolicyManager} son los siguientes:
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">ConnectionService del perfil de trabajo</h2>
-
-<p>
-  Los propietarios de perfiles pueden especificar una aplicación de teléfono de trabajo que utilice un
- {@link android.telecom.ConnectionService} específico del trabajo para el backend
- de llamadas (cuentas de llamadas). El teléfono de trabajo lleva únicamente un registro de llamadas de trabajo
- y depende solo de contactos laborales. Los usuarios tienen una experiencia de IU
- de llamada entrante consistente independientemente de la aplicación de marcación. Las llamadas laborales que ingresan en las
- cuentas de llamadas de trabajo se distinguen de las llamadas personales que ingresan en
- las cuentas de llamadas personales.
-</p>
-
-<p>
-  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.
-</p>
-
-<h2 id="lock-wp">Bloquear fondo de pantalla</h2>
-
-<p>
-  Mediante una nueva restricción de usuario (<code>DISALLOW_SET_WALLPAPER</code>), se evita que el
- 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,
- 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
-  isWallpaperSupported()}) y si puede modificarlo (con el
- nuevo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>).
-</p>
-
-<h2 id="lock-user-icon">Bloquear ícono de usuario</h2>
-
-<p>
-  Mediante una nueva restricción de usuario (<code>DISALLOW_SET_USER_ICON</code>), se evita que el
- usuario modifique el ícono de usuario. El propietario del dispositivo o del perfil del usuario
- aún puede modificar el ícono. Sin embargo, un propietario de perfil solo puede modificar el ícono
- de usuario del perfil que controla.
-</p>
-
-<h2 id="health-monitoring">Control del estado del dispositivo</h2>
-
-<p>
-  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
- que se ejecutan en una ubicación remota.
-</p>
diff --git a/docs/html-intl/intl/in/preview/j8-jack.jd b/docs/html-intl/intl/in/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/in/preview/j8-jack.jd
rename to docs/html-intl/intl/in/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/in/preview/_book.yaml b/docs/html-intl/intl/in/preview/_book.yaml
index 88d6c71..171b8ca 100644
--- a/docs/html-intl/intl/in/preview/_book.yaml
+++ b/docs/html-intl/intl/in/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Fitur Bahasa Java 8
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Pembaruan Android for Work
     path: /preview/features/afw.html
   - title: Scoped Directory Access
diff --git a/docs/html-intl/intl/in/preview/features/afw.jd b/docs/html-intl/intl/in/preview/features/afw.jd
deleted file mode 100644
index 643fab2..0000000
--- a/docs/html-intl/intl/in/preview/features/afw.jd
+++ /dev/null
@@ -1,552 +0,0 @@
-page.title=Pembaruan Android for Work
-page.metaDescription=API dan fitur baru Android for Work di Android N.
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>Dalam dokumen ini</h2>
-      <ol>
-        <li><a href="#qr">Penyediaan Kode QR
-                </a></li>
-
-        <li><a href="#sec-challenge">Pertanyaan Keamanan Profil Kerja
-                </a></li>
-
-        <li><a href="#suspend">Menonaktifkan Akses ke Aplikasi
-                </a></li>
-
-        <li><a href="#toggle-work">Beralih Mode Kerja
-                </a></li>
-
-        <li><a href="#always-on-vpn">Always-On VPN
-                </a></li>
-
-        <li><a href="#contacts">Integrasi Kontak dengan Profil Kerja
-                </a></li>
-
-        <li><a href="#remote-reboot">Boot Ulang Jarak Jauh
-                </a></li>
-
-        <li><a href="#disable-roaming">Menonaktifkan Roaming Data
-                </a></li>
-
-        <li><a href="#process-logging">Pencatatan Proses Enterprise
-                </a></li>
-
-        <li><a href="#bug-reports">Laporan Bug Jarak Jauh
-                </a></li>
-
-        <li><a href="#remove-cert">Membuang Sertifikat Klien
-                </a></li>
-
-        <li><a href="#grant-cert-on-install">Memberi Akses ke Sertifikat Klien
-                saat Pemasangan</a></li>
-
-        <li><a href="#ui-policy">Transparansi Kebijakan UI Sistem
-                </a></li>
-
-        <li><a href="#restrictions-mgmt">Penyempurnaan Manajemen Pembatasan Aplikasi
-                </a></li>
-
-        <li><a href="#location-off">Tombol Lokasi Nonaktif
-                </a></li>
-
-        <li><a href="#custom-provisioning">Penyediaan yang Disesuaikan
-                </a></li>
-
-        <li><a href="#multi-wifi-ca">Multi-Sertifikat CA Wi-Fi
-                </a></li>
-
-        <li><a href="#custom-lock">Pesan Layar Kunci yang Disesuaikan
-                </a></li>
-
-        <li><a href="#work-connectionservice">ConnectionService Profil Kerja
-                </a></li>
-
-        <li><a href="#lock-wp">Mengunci Wallpaper
-                </a></li>
-
-        <li><a href="#lock-user-icon">Mengunci Ikon Pengguna
-                </a></li>
-
-        <li><a href="#health-monitoring">Pemantauan Kesehatan Perangkat
-                </a></li>
-
-      </ol>
-
-    <h2>Lihat Juga</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi
-            N Preview SDK</a></li>
-    </ul>
-  </div>
-</div>
-
-<p>Dokumen ini menjelaskan fitur baru Android for Work yang disediakan di
-Android N.</p>
-
-<h2 id="qr">Penyediaan Kode QR</h2>
-
-<p>
-  Android for Work kini mendukung penggunaan kode QR untuk penyediaan perangkat
-  milik perusahaan. Wizard persiapan kini memungkinkan Anda memindai kode QR untuk penyediaan
-  perangkat.
-</p>
-
-<h2 id="sec-challenge">Pertanyaan Keamanan Profil Kerja</h2>
-
-<p>
-  Pemilik profil bisa mengharuskan pengguna menetapkan pertanyaan keamanan untuk aplikasi
-  yang berjalan dalam profil kerja. Sistem akan menampilkan pertanyaan keamanan bila
-  pengguna mencoba membuka aplikasi kerja apa pun. Jika pengguna berhasil menyelesaikan
-  pertanyaan keamanan, sistem akan membuat profil kerja dan mendekripsinya
-  jika diperlukan.
-</p>
-
-<p>
-  Jika pemilik profil mengirim intent {@link
-  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} , sistem
-  akan menampilkan pertanyaan keamanan kepada pengguna. Pemilik profil juga dapat
-  mengirim intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> untuk
-  meminta pengguna menyetel kunci perangkat.
-</p>
-
-<p>
-  Pemilik profil dapat memilih untuk menyetel kebijakan sandi untuk pertanyaan pekerjaan
-  yang berbeda dari kebijakan sandi perangkat lainnya. Misalnya, panjang minimum
-  jawaban pertanyaan perangkat bisa berbeda dari panjang
-  yang diperlukan untuk sandi lainnya. Pemilik profil menyetel kebijakan pertanyaan
-  menggunakan metode{@link android.app.admin.DevicePolicyManager}
-  biasa, seperti {@link
-  android.app.admin.DevicePolicyManager#setPasswordQuality
-  setPasswordQuality()} dan {@link
-  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-  setPasswordMinimumLength()}. Pemilik profil juga bisa menyetel penguncian perangkat,
-  dengan menggunakan instance {@link android.app.admin.DevicePolicyManager} yang dikembalikan secara langsung
-  oleh metode <code>DevicePolicyManager.getParentProfileInstance()</code>
-  baru. Selain itu, pemilik profil dapat menyesuaikan layar kredensial untuk
-  pertanyaan kerja menggunakan kelas {@link android.app.admin.DevicePolicyManager}
-  dengan metode <code>setOrganizationColor()</code> dan
-  <code>setOrganizationName()</code> baru.
-</p>
-
-<p>
-  Untuk mengetahui detail tentang kelas dan metode berikut, lihat halaman referensi
-  <code>DevicePolicyManager</code> di <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N Preview SDK</a>.
-</p>
-
-<h2 id="suspend">Menonaktifkan Akses ke Aplikasi</h2>
-
-<p>
-  Pemilik perangkat dan pemilik profil bisa menangguhkan akses untuk sementara ke paket
-  dengan memanggil metode <code>DevicePolicyManager.setPackagesSuspended()</code>
-  baru. Pemilik bisa menggunakan metode yang sama untuk mengaktifkan kembali paket tersebut.
-</p>
-
-<p>
-  Selagi paket ditangguhkan, maka tidak bisa memulai aktivitas, pemberitahuan ke
-  paket akan disembunyikan, dan entri aplikasi dalam <a href="{@docRoot}guide/components/recents.html">layar ringkasan</a> akan disembunyikan.
-  Paket yang ditangguhkan tidak muncul di <a href="{@docRoot}guide/components/recents.html">layar ringkasan</a>, dan
-  tidak bisa menampilkan dialog (termasuk toast dan snackbar). Juga tidak bisa memutar
-  audio atau menggetarkan perangkat.
-</p>
-
-<p>
-  Launcher harus menerapkan UI berbeda pada aplikasi yang ditangguhkan untuk menunjukkan
-  aplikasi saat ini tidak tersedia; misalnya, bisa merender ikon aplikasi
-  dalam warna abu-abu. Launcher bisa mengetahui apakah aplikasi ditangguhkan dengan memanggil metode
-  <code>DevicePolicyManager.getPackageSuspended()</code> baru.
-</p>
-
-<h2 id="toggle-work">Beralih Mode Kerja</h2>
-
-<p>
-  Pada perangkat dua-profil, pengguna bisa mengaktifkan dan menonaktifkan mode kerja. Selagi mode
-  kerja dinonaktifkan, profil yang dikelola akan dinonaktifkan untuk sementara. Aplikasi Profil Kerja,
-  sinkronisasi latar belakang, dan pemberitahuan semuanya dinonaktifkan, termasuk
-  aplikasi pemilik profil. Selagi profil kerja dinonaktifkan, sistem
-  akan menampilkan ikon status tetap untuk mengingatkan pengguna bahwa mereka tidak bisa meluncurkan aplikasi
-  kerja. Peluncur sistem menunjukkan bahwa aplikasi kerja dan widget tidak bisa
-  diakses.
-</p>
-
-<h2 id="always-on-vpn">Always-On VPN</h2>
-
-<p>
-  Pemilik perangkat dan pemilik profil bisa mengharuskan aplikasi kerja selalu terhubung
-  ke jaringan melalui VPN yang ditetapkan. Jika pemilik menyetel persyaratan ini,
-  perangkat secara otomatis akan memulai VPN itu saat booting.
-</p>
-
-<p>
-  Pemilik bisa menggunakan VPN dengan memanggil metode
-  <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> baru. Untuk mengetahui
-  apakah pemilik telah menyetel persyaratan VPN, panggil metode
-  <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> baru.
-</p>
-
-<p>
-  Karena sistem bisa secara langsung mengikat layanan VPN tanpa interaksi aplikasi,
-  klien VPN perlu menangani titik masuk baru untuk Always-On VPN. Seperti sebelumnya,
-  Anda bisa menemukan layanan aktif dengan menggunakan filter intent yang cocok dengan tindakan
-  {@link android.net.VpnService android.net.VpnService}.
-</p>
-
-<p>
-  Pengguna bisa secara manual menyetel klien Always-On VPN yang mengimplementasikan {@link
-  android.net.VpnService} dengan menggunakan layar <strong>Settings &gt; More &gt;
-  VPN</strong>.
-</p>
-
-<h2 id="contacts">Integrasi Kontak dengan Profil Kerja</h2>
-
-<p>
-  Pemilik profil bisa mengizinkan penelusuran lokal dan pencarian direktori kontak kerja
-  dari pengguna utama. Misalnya, seorang pengguna bisa mengakses kontak direktori pribadi dan pekerjaan
-  dari telepon pribadi atau aplikasi kontak mereka (jika
-  diizinkan oleh administrator profil mereka).
-</p>
-
-<p>
-  Pengembang yang memanfaatkan Contact Provider bisa menggunakan Enterprise Contacts
-  API untuk mengakses entri direktori profil kerja dari pengguna utama jika diizinkan
-  oleh kebijakan:
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  Pemilik profil bisa mengendalikan visibilitas kontak kerja di
-  pengguna utama menggunakan metode baru berikut:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">Boot Ulang Jarak Jauh</h2>
-
-<p>
-  Pemilik perangkat bisa mem-boot ulang perangkat dari jarak jauh. Di beberapa kasus, perangkat yang diluncurkan di
-  tempat umum dalam pembatas bisa mencegah akses ke tombol daya. Jika
-  perangkat perlu di-boot ulang, administrator bisa melakukannya dengan metode
-  <code>DevicePolicyManager.reboot()</code> baru.
-</p>
-
-<h2 id="disable-roaming">Menonaktifkan Roaming Data</h2>
-
-<p>
-  Pemilik perangkat bisa menonaktifkan roaming data menggunakan pembatasan pengguna {@link
-  android.os.UserManager} <code>DISALLOW_DATA_ROAMING</code> baru.
-</p>
-
-<h2 id="process-logging">Pencatatan Proses Enterprise</h2>
-
-<p>
-  Pemilik perangkat bisa mengenali aktivitas mencurigakan dengan melacak perangkat dari jarak jauh,
-  termasuk peluncuran aplikasi, aktivitas adb, dan pembukaan kunci layar. Log proses
-  tidak memerlukan persetujuan pengguna. Untuk mengambil log, pemilik perangkat mengaktifkan
-  pencatatan perangkat menggunakan <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
-</p>
-
-<p>
-  Perubahan API meliputi:
-</p>
-
-<ul>
-
-  <li>
-    Kelas <code>android.app.admin.SecurityLog</code> baru dan
-    metodenya
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">Laporan Bug Jarak Jauh</h2>
-
-<p>
-  Pemilik perangkat bisa memicu dari jarak jauh dan mengambil laporan bug yang berisi
-  file dump status perangkat, yang memungkinkan penyelidikan forensik atas
-  kesalahan yang diketahui atau perangkat yang telah diutak-atik. Dikarenakan sifat detail laporan bug,
-  maka diperlukan persetujuan pengguna.
-</p>
-
-<p>
-  Android N menyertakan tambahan API berikut untuk mendukung fitur ini. Untuk detailnya, lihat
-  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi
-  N Preview SDK</a>.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">Membuang Sertifikat Klien</h2>
-
-<p>
-  Pemilik profil dan pemilik perangkat kini bisa membuang sertifikat klien yang telah dipasang melalui
-  {@link android.app.admin.DevicePolicyManager#installKeyPair
-  installKeyPair()} dengan memanggil metode baru
-  <code>DevicePolicyManager.removeKeyPair()</code>.
-</p>
-
-<h2 id="grant-cert-on-install">Memberi Akses ke Sertifikat Klien
-  saat Pemasangan</h2>
-
-<p>
-  Jika pemilik profil dan pemilik perangkat memberikan kemampuan kepada aplikasi pihak ketiga untuk
-  mengelola sertifikat, aplikasi bisa memberikan akses pada dirinya sendiri ke sertifikat
-  yang dipasangnya tanpa intervensi dari pemilik.
-</p>
-
-<p>
-  API yang sudah ada untuk mengelola sertifikat diperluas untuk mencakup:
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">Transparansi Kebijakan UI Sistem</h2>
-
-<p>
-  Kebijakan yang memengaruhi pengalaman pengguna atau membatasi Settings pengguna sepenuhnya
-  diungkapkan kepada pengguna, serta pemilik profil dan pemilik perangkat bisa memberlakukan
-  kebijakannya kepada departemen TI perusahaan mereka. Selain pesan “Action
-  not allowed” yang konsisten di Settings, administrator TI bisa menyetel
-  pesan dukungan khusus-organisasi di setelan perangkat dengan metode
-  {@link android.app.admin.DevicePolicyManager} baru berikut:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">Penyempurnaan Manajemen Pembatasan Aplikasi</h2>
-
-<p>
-  Pemilik perangkat atau profil bisa mengaktifkan aplikasi lain untuk mengelola
-  pembatasan aplikasi melalui metode
-  <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
-  baru. Aplikasi yang dipilih bisa memeriksa apakah izin ini telah
-  diberikan dengan memanggil
-  <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
-</p>
-
-<p>
-  Aplikasi yang dipilih untuk mengelola pembatasan aplikasi bisa memanggil {@link
-  android.app.admin.DevicePolicyManager#setApplicationRestrictions
-  setApplicationRestrictions()} dan {@link
-  android.app.admin.DevicePolicyManager#getApplicationRestrictions
-  getApplicationRestrictions()} untuk paket apa pun di pengguna atau profil itu.
-</p>
-
-<h2 id="location-off">Tombol Lokasi Nonaktif</h2>
-
-<p>
-  Pengguna bisa menonaktifkan izin lokasi untuk aplikasi kerja sambil melanjutkan
-  akses informasi lokasi di aplikasi pribadi mereka. Tombol akses
-  lokasi yang terpisah di Location Settings memungkinkan pengguna untuk menolak pembaruan lokasi atau
-  kueri lokasi terakhir untuk aplikasi yang berjalan di profil kerja.
-</p>
-
-<p>
-  Tombol lokasi nonaktif level teratas menonaktifkan akses lokasi untuk
-  profil utama dan profil yang dikelola.
-</p>
-
-<h2 id="custom-provisioning">Penyediaan yang Disesuaikan</h2>
-
-<p>
-  Aplikasi bisa menyesuaikan alur penyediaan pemilik profil dan pemilik perangkat
-  dengan warna dan logo perusahaan.
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    Menyesuaikan warna alur.
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    Menyesuaikan alur dengan logo perusahaan.
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">Multi-Sertifikat CA Wi-Fi</h2>
-
-<p>
-  Pemilik profil dan pemilik perangkat bisa menyetel beberapa sertifikat CA sekaligus untuk
-  konfigurasi Wi-Fi yang diberikan. Bila jaringan Wi-Fi perusahaan memiliki CA terpisah untuk
-  titik akses yang terpisah dengan SSID yang sama, administrator TI bisa menyertakan semua
-  CA yang relevan dalam konfigurasi Wi-Fi menggunakan metode
-  <code>setCaCertificates()</code> baru.
-</p>
-
-<p>
-  API yang ditambah adalah:
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">Pesan Layar Terkunci yang Disesuaikan</h2>
-
-<p>
-  Pemilik perangkat bisa menyediakan informasi pemilik agar ditampilkan di layar kunci.
-  Informasi ini lebih diprioritaskan dari pesan layar kunci pengguna (jika sudah ada
-  yang disetel). Metode {@link android.app.admin.DevicePolicyManager} baru adalah:
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">ConnectionService Profil Kerja</h2>
-
-<p>
-  Pemilik profil bisa menetapkan aplikasi telepon kerja yang menggunakan
-  {@link android.telecom.ConnectionService} khusus-kerja untuk
-  backend panggilan (akun panggilan). Telepon kerja hanya menyimpan log panggilan kerja
-  dan hanya mengandalkan kontak kerja. Pengguna memiliki pengalaman UI
-  saat-panggilan yang konsisten, apa pun aplikasi panggilannya. Panggilan telepon kerja yang masuk ke akun panggilan kerja
-  dibedakan dari telepon pribadi yang masuk
-  ke akun panggilan pribadi.
-</p>
-
-<p>
-  Penelepon harus memeriksa tanda baru
-  <code>android.telecom.Call.PROPERTY_WORK_CALL</code> untuk menentukan apakah telepon tersebut merupakan
-  telepon kerja. Jika merupakan telepon kerja, penelepon harus menunjukkannya,
-  misalnya dengan menambahkan lencana kerja.
-</p>
-
-<h2 id="lock-wp">Mengunci Wallpaper</h2>
-
-<p>
-  Pembatasan pengguna baru (<code>DISALLOW_SET_WALLPAPER</code>) mencegah
-  pengguna mengubah wallpaper mereka. Pemilik perangkat atau pemilik profil tetap bisa
-  mengubah wallpaper, namun mereka hanya bisa mengubah wallpaper
-  untuk pengguna atau profil yang mereka kontrol. Misalnya, pemilik profil tidak bisa mengubah
-  wallpaper pengguna induk, namun pemilik profil utama di profil utama atau
-  pemilik perangkat bisa melakukannya. Pemilik profil atau pemilik perangkat yang ingin mengubah
-  wallpapernya harus memeriksa apakah pengguna atau profil
-  yang mereka kelola memiliki wallpaper ({@link android.app.WallpaperManager#isWallpaperSupported
-  isWallpaperSupported()}) dan apakah mereka diperbolehkan untuk mengubahnya (dengan metode
-  baru<code>WallpaperManager.isWallpaperSettingAllowed()</code>)
-</p>
-
-<h2 id="lock-user-icon">Mengunci Ikon Pengguna</h2>
-
-<p>
-  Pembatasan pengguna baru (<code>DISALLOW_SET_USER_ICON</code>) mencegah
-  pengguna mengubah ikon pengguna mereka. Pemilik perangkat atau pemilik profil pengguna
-  tetap bisa mengubah ikon. Akan tetapi, pemilik profil hanya bisa mengubah ikon
-  pengguna untuk profil yang dikontrolnya.
-</p>
-
-<h2 id="health-monitoring">Pemantauan Kesehatan Perangkat</h2>
-
-<p>
-  Pemilik perangkat atau pemilik profil bisa menggunakan antarmuka
-  <code>HardwarePropertiesManager</code> baru untuk mengambil informasi
-  tentang kesehatan perangkat, seperti suhu CPU atau GPU dan penggunaan CPU. Antarmuka pemantauan
-  baru ini khususnya berguna untuk memantau berjalannya perangkat yang tidak diawasi
-  di lokasi yang jauh.
-</p>
diff --git a/docs/html-intl/intl/ja/preview/j8-jack.jd b/docs/html-intl/intl/ja/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/ja/preview/j8-jack.jd
rename to docs/html-intl/intl/ja/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/ja/preview/_book.yaml b/docs/html-intl/intl/ja/preview/_book.yaml
index 5f1e18f..6888647 100644
--- a/docs/html-intl/intl/ja/preview/_book.yaml
+++ b/docs/html-intl/intl/ja/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Java 8 の言語機能
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Android for Work のアップデート
     path: /preview/features/afw.html
   - title: 特定のディレクトリへのアクセス
diff --git a/docs/html-intl/intl/ja/preview/features/afw.jd b/docs/html-intl/intl/ja/preview/features/afw.jd
deleted file mode 100644
index 8e73298..0000000
--- a/docs/html-intl/intl/ja/preview/features/afw.jd
+++ /dev/null
@@ -1,552 +0,0 @@
-page.title=Android for Work のアップデート
-page.metaDescription=Android N の新しい Android for Work の API と機能。
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>このドキュメントの内容</h2>
-      <ol>
-        <li><a href="#qr">QR コードのプロビジョニング</a>
-</li>
-
-        <li><a href="#sec-challenge">仕事用プロファイルによるセキュリティ確認</a>
-</li>
-
-        <li><a href="#suspend">アプリへのアクセスを無効にする</a>
-</li>
-
-        <li><a href="#toggle-work">ワークモードの切り替え</a>
-</li>
-
-        <li><a href="#always-on-vpn">Always On VPN</a>
-</li>
-
-        <li><a href="#contacts">仕事用プロファイルと連絡先の統合</a>
-</li>
-
-        <li><a href="#remote-reboot">リモートでの再起動</a>
-</li>
-
-        <li><a href="#disable-roaming">データローミングを無効にする</a>
-</li>
-
-        <li><a href="#process-logging">企業によるプロセスのログ記録</a>
-</li>
-
-        <li><a href="#bug-reports">リモートでのバグレポート</a>
-</li>
-
-        <li><a href="#remove-cert">クライアント証明書を削除する</a>
-</li>
-
-        <li><a href="#grant-cert-on-install">インストール時にクライアント証明書へのアクセス権を付与する</a>
-</li>
-
-        <li><a href="#ui-policy">システムの UI ポリシーの透明性</a>
-</li>
-
-        <li><a href="#restrictions-mgmt">アプリ制限の管理の強化</a>
-</li>
-
-        <li><a href="#location-off">位置情報のオフへの切り替え</a>
-</li>
-
-        <li><a href="#custom-provisioning">カスタマイズされたプロビジョニング</a>
-</li>
-
-        <li><a href="#multi-wifi-ca">複数の Wi-Fi 用の CA 証明書
-</a></li>
-
-        <li><a href="#custom-lock">カスタマイズされたロック画面のメッセージ</a>
-</li>
-
-        <li><a href="#work-connectionservice">仕事用プロファイルの ConnectionService</a>
-</li>
-
-        <li><a href="#lock-wp">壁紙をロックダウンする</a>
-</li>
-
-        <li><a href="#lock-user-icon">ユーザー アイコンをロックダウンする</a>
-</li>
-
-        <li><a href="#health-monitoring">端末の状態の監視</a>
-</li>
-
-      </ol>
-
-    <h2>関連ドキュメント</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>
-</li>
-    </ul>
-  </div>
-</div>
-
-<p>このドキュメントでは、Android N で提供されている新しい Android for Work の機能について説明します。
-</p>
-
-<h2 id="qr">QR コードのプロビジョニング</h2>
-
-<p>
-  Android for Work では、企業が責任を負う端末のプロビジョニングに QR コードを使用できるようになりました。
-セットアップ ウィザードを使用すると、QR コードをスキャンして端末をプロビジョニングできます。
-
-</p>
-
-<h2 id="sec-challenge">仕事用プロファイルによるセキュリティ確認</h2>
-
-<p>
-  プロファイル オーナーは、仕事用プロファイルで実行しているアプリに対してセキュリティ確認を指定するようユーザーに要求できます。
-ユーザーが仕事用アプリを開こうとすると、セキュリティ確認画面が表示されます。
-ユーザーがセキュリティの確認に成功すると、仕事用プロファイルのロックが解除され、必要に応じて暗号化も解除されます。
-
-
-</p>
-
-<p>
-  プロファイル オーナーが {@link
-  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} インテントを送信すると、ユーザーはセキュリティ確認をセットアップするよう求められます。
-また、プロファイル オーナーは、<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> インテントを送信して、ユーザーに端末のロックを設定するよう求めることもできます。
-
-
-</p>
-
-<p>
-  プロファイル オーナーは仕事用プロファイル用のセキュリティ確認に、他の端末のパスワード ポリシーとは異なるパスワード ポリシーを設定できます。
-たとえば、端末の確認応答の最小長は、他のパスワードに必要な長さと異なっていてもかまいません。
-
-プロファイル オーナーがこの確認のポリシーを設定する場合は、通常 {@link
-  android.app.admin.DevicePolicyManager#setPasswordQuality
-  setPasswordQuality()} や {@link
-  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-  setPasswordMinimumLength()} など、{@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> メソッドを使用して仕事用プロファイル用のセキュリティ確認画面をカスタマイズすることができます。
-
-
-
-</p>
-
-<p>
-  新しいメソッドと定数の詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>の<code>DevicePolicyManager</code> リファレンス ページをご覧ください。
-
-</p>
-
-<h2 id="suspend">アプリへのアクセスを無効にする</h2>
-
-<p>
-  デバイス オーナーとプロファイル オーナーは、新しい <code>DevicePolicyManager.setPackagesSuspended()</code> メソッドを呼び出して、パッケージへのアクセスを一時的に停止することができます。
-
-オーナーがパッケージを再度有効にする場合は、同じメソッドを使用できます。
-</p>
-
-<p>
-  パッケージが停止されている場合は、アクティビティを開始できないため、パッケージへの通知は行われず、<a href="{@docRoot}guide/components/recents.html">オーバービュー画面</a>のアプリのエントリは非表示になります。
-
-  停止されているパッケージは<a href="{@docRoot}guide/components/recents.html">オーバービュー画面</a>に表示されず、ダイアログ(トーストや Snackbar を含む)を表示することはできません。
-また、音声を再生したり、端末を振動させたりすることもできません。
-
-</p>
-
-<p>
-  ランチャーは、アプリが現在利用できないことを示すために、アプリのアイコンをグレーでレンダリングするなど、停止されているアプリにひと目でわかる UI を適用する必要があります。
-
-ランチャーは、新しい <code>DevicePolicyManager.getPackageSuspended()</code> メソッドを呼び出してアプリが停止されているかどうかを確認できます。
-
-</p>
-
-<h2 id="toggle-work">ワークモードの切り替え</h2>
-
-<p>
-  デュアル プロファイル端末では、ユーザーはワークモードのオンとオフを切り替えることができます。ワークモードがオフの場合は、管理されているプロファイルが一時的にシャットダウンされます。
-仕事用プロファイルのアプリ、バックグラウンドでの同期、通知がすべて無効になります。これにはプロファイル オーナーのアプリも含まれます。
-
-また、仕事用プロファイルが無効にされている場合は、仕事用アプリを起動できないことをユーザーに示すステータス アイコンが表示されたままになります。
-
-システム ランチャーは、仕事用アプリとウィジェットにアクセスできないことを示します。
-
-</p>
-
-<h2 id="always-on-vpn">Always On VPN</h2>
-
-<p>
-  デバイス オーナーとプロファイル オーナーは、指定した VPN を介して仕事用アプリが常時ネットワークに接続することを要求できます。
-オーナーがこの要件を設定すると、端末は起動時に対象の VPN を自動的に開始します。
-
-</p>
-
-<p>
-  オーナーは、新しい <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> メソッドを呼び出して VPN を使用することを要求できます。
-オーナーが VPN 要件を設定しているかどうかを確認するには、新しい <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> メソッドを呼び出します。
-
-
-</p>
-
-<p>
-  システムがアプリの介入なしに VPN サービスを直接バインドできるため、常時接続 VPN の新しいエントリ ポイントは VPN クライアント側で処理する必要があります。
-以前と同様に、アクティブなサービスを見つけるには、アクション {@link android.net.VpnService android.net.VpnService} に一致するインテント フィルタを使用します。
-
-
-</p>
-
-<p>
-  ユーザーは {@link
-  android.net.VpnService} を実装する常時接続 VPN クライアントを、<strong>[Settings] &gt; [More] &gt; [VPN]</strong> 画面を使用して手動で設定できます。
-
-</p>
-
-<h2 id="contacts">仕事用プロファイルと連絡先の統合</h2>
-
-<p>
-  プロファイル オーナーは、プライマリ ユーザーの仕事用連絡先のローカル検索やディレクトリ検索を許可することができます。
-たとえば、ユーザーは個人用電話アプリや連絡先アプリから個人用と仕事用の両方のディレクトリの連絡先にアクセスできます(プロファイル管理者によって許可されている場合)。
-
-
-</p>
-
-<p>
-  連絡先プロバイダを活用するデベロッパーは、ポリシーで許可されている場合、Enterprise Contacts API を使用してプライマリ ユーザーの仕事用プロファイルのディレクトリのエントリにアクセスできます。
-
-
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  プロファイル オーナーは、以下の新しいメソッドを使用して、プライマリ ユーザーの仕事用連絡先の表示を制御できます。
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">リモートでの再起動</h2>
-
-<p>
-  デバイス オーナーは、端末をリモートで再起動できます。エンクロージャ内のパブリックな場所にデプロイされている端末は、電源ボタンにアクセスできないようにすることができる場合があります。
-端末を再起動する必要がある場合、管理者は新しい <code>DevicePolicyManager.reboot()</code> メソッドを使用して実行することができます。
-
-
-</p>
-
-<h2 id="disable-roaming">データローミングを無効にする</h2>
-
-<p>
-  デバイス オーナーがデータローミングを無効にするには、新しい {@link
-  android.os.UserManager} のユーザー制限 <code>DISALLOW_DATA_ROAMING</code> を使用します。
-</p>
-
-<h2 id="process-logging">企業によるプロセスのログ記録</h2>
-
-<p>
-  デバイス オーナーは、リモートで端末のアクティビティ(アプリの起動、adb アクティビティ、画面のロック解除など)を追跡することにより、疑わしいアクティビティを特定できます。
-プロセス ログはユーザーの同意は必要ありません。
-ログを取得するには、デバイス オーナーは <code>DevicePolicyManager.setSecurityLoggingEnabled()</code> を使用して端末のログ記録を有効にします。
-
-</p>
-
-<p>
-  API の変更点は以下のとおりです。
-</p>
-
-<ul>
-
-  <li>
-    新しいクラス <code>android.app.admin.SecurityLog</code> とそのメソッド
-
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">リモートでのバグレポート</h2>
-
-<p>
-  デバイス オーナーは、端末の状態のダンプファイルを含むバグレポートをリモートでトリガーして取得できます。これにより、既知のインシデントや障害が発生した端末の徹底的な調査が可能になります。
-
-バグレポートの内容は詳細にわたるため、ユーザーの同意が必要になります。
-
-</p>
-
-<p>
-  Android N では、この機能をサポートするために以下の API が追加されています。詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>をご覧ください。
-
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">クライアント証明書を削除する</h2>
-
-<p>
-  プロファイル オーナーとデバイス オーナーは、{@link android.app.admin.DevicePolicyManager#installKeyPair
-  installKeyPair()} によってインストールされたクライアント証明書を、新しい <code>DevicePolicyManager.removeKeyPair()</code> メソッドを呼び出して削除できるようになりました。
-
-
-</p>
-
-<h2 id="grant-cert-on-install">インストール時にクライアント証明書へのアクセス権を付与する
-</h2>
-
-<p>
-  プロファイル オーナーやデバイス オーナーが、サードパーティ アプリに証明書を管理する権限を付与する場合、アプリはオーナーの介入なしに、インストールされる証明書へのアクセス権をアプリ自体に付与できます。
-
-
-</p>
-
-<p>
-  証明書を管理するための既存の API は、以下を含むように拡張されています。
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">システムの UI ポリシーの透明性</h2>
-
-<p>
-  ユーザー エクスペリエンスに影響を及ぼしたり、ユーザー設定を制限したりするポリシーはユーザーに完全に公表されます。プロファイル オーナーとデバイス オーナーは、このポリシーと会社の IT 部門を関連付けることができます。
-
-IT 管理者は [Settings] の「Action not allowed」という通常のメッセージに加え、端末設定に組織固有のサポート メッセージを設定できます。これには以下の新しい {@link android.app.admin.DevicePolicyManager} メソッドを使用します。
-
-
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">アプリ制限の管理の強化</h2>
-
-<p>
-  デバイス オーナーやプロファイル オーナーは、別のアプリケーションでアプリ制限を管理できるようにすることができます。これには新しい <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> メソッドを使用します。
-
-
-指定されたアプリケーションは、このパーミッションが付与されているかどうかを、<code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code> を呼び出して確認できます。
-
-
-</p>
-
-<p>
-  アプリ制限を管理するように指定されたアプリケーションは、対象となるユーザーやプロファイル内のパッケージに対して {@link
-  android.app.admin.DevicePolicyManager#setApplicationRestrictions
-  setApplicationRestrictions()} と {@link
-  android.app.admin.DevicePolicyManager#getApplicationRestrictions
-  getApplicationRestrictions()} を呼び出すことができます。
-</p>
-
-<h2 id="location-off">位置情報のオフへの切り替え</h2>
-
-<p>
-  個人用アプリの位置情報に継続的にアクセスしている場合、ユーザーは仕事用アプリの位置パーミッションを無効にできます。
-[Location Settings] で別の位置情報へのアクセスに切り替えると、ユーザーは位置情報の更新や、仕事用プロファイルで実行されているアプリの最新位置情報の問い合わせを拒否できます。
-
-
-</p>
-
-<p>
-  トップレベルの位置情報をオフに切り替えると、プライマリ プロファイルと管理されているプロファイルの両方の位置情報へのアクセスが無効になります。
-
-</p>
-
-<h2 id="custom-provisioning">カスタマイズされたプロビジョニング</h2>
-
-<p>
-  アプリでは、コーポレート・カラーやロゴを含むプロファイル オーナーとデバイス オーナーのプロビジョニング フローをカスタマイズできます。
-
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    フローカラーをカスタマイズします。
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    コーポレート ロゴを含むフローをカスタマイズします。
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">複数の Wi-Fi 用の CA 証明書</h2>
-
-<p>
-  プロファイル オーナーとデバイス オーナーは、特定の Wi-Fi 設定に複数の CA 証明書を設定できます。
-企業の Wi-Fi ネットワークで、同じ SSID を持つ別のアクセス ポイントに別の CA を使用する場合、IT 管理者は新しい <code>setCaCertificates()</code> メソッドを使用して、関連するすべての CA を Wi-Fi 設定に含めることができます。
-
-
-
-</p>
-
-<p>
-  以下の API が追加されました。
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">カスタマイズされたロック画面のメッセージ</h2>
-
-<p>
-  デバイス オーナーは、ロック画面に表示されるオーナー情報を提供できます。
-  この情報は、ユーザーのロック画面のメッセージよりも優先されます(設定されている場合)。
-新しい {@link android.app.admin.DevicePolicyManager} メソッドは以下のとおりです。
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">仕事用プロファイルの ConnectionService</h2>
-
-<p>
-  プロファイル オーナーは、バックエンドの呼び出し(アカウントの呼び出し)に仕事固有の {@link android.telecom.ConnectionService} を使用する仕事用電話アプリを指定できます。
-
-仕事用電話は、仕事のみの通話履歴を保持し、仕事用連絡先のみを利用します。
-電話アプリに関係なく、ユーザーには統一された着信 UI が表示されます。
-仕事用通話アカウントへの仕事用の着信は、個人用通話アカウントへの個人用の着信とは区別されます。
-
-
-</p>
-
-<p>
-  通話が仕事用の通話かどうかを確認するには、電話は新しいフラグ <code>android.telecom.Call.PROPERTY_WORK_CALL</code> を確認する必要があります。
-
-通話が仕事用の通話の場合、電話はワーク バッジを追加するなどして、これを示す必要があります。
-
-</p>
-
-<h2 id="lock-wp">壁紙をロックダウンする</h2>
-
-<p>
-  新しいユーザー制限(<code>DISALLOW_SET_WALLPAPER</code>)により、ユーザーは壁紙を変更することができません。
-デバイス オーナーやプロファイル オーナーは壁紙を変更できますが、制御するユーザーやプロファイルの壁紙のみ変更できます。
-
-たとえば、プロファイル オーナーは、親ユーザーの壁紙は変更できませんが、プライマリ プロファイルのプロファイル オーナーやデバイス オーナーは変更できます。
-
-壁紙を変更する必要があるプロファイル オーナーやデバイス オーナーは、管理するユーザーやプロファイルに壁紙があるかどうか({@link android.app.WallpaperManager#isWallpaperSupported
-  isWallpaperSupported()})、壁紙の変更が許可されているかどうかを(新しい <code>WallpaperManager.isWallpaperSettingAllowed()</code> メソッドを使用して)確認する必要があります。
-
-
-
-</p>
-
-<h2 id="lock-user-icon">ユーザー アイコンをロックダウンする</h2>
-
-<p>
-  新しいユーザー制限(<code>DISALLOW_SET_USER_ICON</code>)により、ユーザーはユーザー アイコンを変更することができません。
-ユーザーのデバイス オーナーやプロファイル オーナーは、このアイコンを変更できます。
-ただし、プロファイル オーナーが変更できるのは、制御するプロファイルのユーザー アイコンのみです。
-
-</p>
-
-<h2 id="health-monitoring">端末の状態の監視</h2>
-
-<p>
-  デバイス オーナーやプロファイル オーナーは、新しい <code>HardwarePropertiesManager</code> インターフェースを使用して、CPU や GPU の温度、CPU 使用率などの端末の状態に関する情報を取得できます。
-
-新しい監視インターフェースは、遠隔地で実行されている使用されていない端末の監視に特に役立ちます。
-
-
-</p>
diff --git a/docs/html-intl/intl/ko/preview/j8-jack.jd b/docs/html-intl/intl/ko/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/ko/preview/j8-jack.jd
rename to docs/html-intl/intl/ko/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/ko/preview/_book.yaml b/docs/html-intl/intl/ko/preview/_book.yaml
index 17b1d96..4a43a4f 100644
--- a/docs/html-intl/intl/ko/preview/_book.yaml
+++ b/docs/html-intl/intl/ko/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Java 8 언어 기능
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Android for Work 업데이트
     path: /preview/features/afw.html
   - title: 범위가 지정된 디렉터리 액세스
diff --git a/docs/html-intl/intl/ko/preview/features/afw.jd b/docs/html-intl/intl/ko/preview/features/afw.jd
deleted file mode 100644
index 4c06451..0000000
--- a/docs/html-intl/intl/ko/preview/features/afw.jd
+++ /dev/null
@@ -1,552 +0,0 @@
-page.title=Android for Work 업데이트
-page.metaDescription=Android N의 새로운 Android for Work API와 기능.
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>이 문서의 내용</h2>
-      <ol>
-        <li><a href="#qr">QR 코드 프로비저닝
-                </a></li>
-
-        <li><a href="#sec-challenge">작업 프로필 보안 인증 질문
-                </a></li>
-
-        <li><a href="#suspend">앱에 대한 액세스 비활성화
-                </a></li>
-
-        <li><a href="#toggle-work">작업 모드 전환
-                </a></li>
-
-        <li><a href="#always-on-vpn">상시 접속 VPN
-                </a></li>
-
-        <li><a href="#contacts">연락처와 작업 프로필 통합
-                </a></li>
-
-        <li><a href="#remote-reboot">원격 재부팅
-                </a></li>
-
-        <li><a href="#disable-roaming">데이터 로밍 비활성화
-                </a></li>
-
-        <li><a href="#process-logging">엔터프라이즈 프로세스 로깅
-                </a></li>
-
-        <li><a href="#bug-reports">원격 버그 보고서
-                </a></li>
-
-        <li><a href="#remove-cert">클라이언트 인증서 제거
-                </a></li>
-
-        <li><a href="#grant-cert-on-install">설치 시 클라이언트 인증서에 대한
-                액세스 권한 부여</a></li>
-
-        <li><a href="#ui-policy">시스템 UI 정책 투명성
-                </a></li>
-
-        <li><a href="#restrictions-mgmt">앱 제한 관리 향상
-                </a></li>
-
-        <li><a href="#location-off">위치 해제 스위치
-                </a></li>
-
-        <li><a href="#custom-provisioning">사용자 지정 프로비저닝
-                </a></li>
-
-        <li><a href="#multi-wifi-ca">다중 Wi-Fi CA 인증서
-                </a></li>
-
-        <li><a href="#custom-lock">사용자 지정 잠금 화면 메시지
-                </a></li>
-
-        <li><a href="#work-connectionservice">작업 프로필 연결 서비스
-                </a></li>
-
-        <li><a href="#lock-wp">배경 화면 잠금
-                </a></li>
-
-        <li><a href="#lock-user-icon">사용자 아이콘 잠금
-                </a></li>
-
-        <li><a href="#health-monitoring">기기 상태 모니터링
-                </a></li>
-
-      </ol>
-
-    <h2>참고 항목</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
-            참조</a></li>
-    </ul>
-  </div>
-</div>
-
-<p>이 문서에서는 Android N에서 제공되는 새로운 Android for Work 기능을
-설명합니다.</p>
-
-<h2 id="qr">QR 코드 프로비저닝</h2>
-
-<p>
-  이제 Android for Work는 기업에서 업무용으로 지급하는 기기를 프로비저닝할 때 QR 코드 사용을
- 지원합니다. 이제는 설치 마법사를 통해 QR 코드를 스캔하여 기기를
- 프로비저닝할 수 있습니다.
-</p>
-
-<h2 id="sec-challenge">작업 프로필 보안 인증 질문</h2>
-
-<p>
-  프로필 소유자는 작업 프로필에서 작동하는 앱에 대한 보안 인증 질문을
- 지정하도록 사용자에게 요구할 수 있습니다. 시스템에서는 사용자가 업무용 앱을 열려고 할 때
- 보안 인증 질문을 표시합니다. 사용자가 보안 인증 질문에 올바로
- 답하면 작업 프로필의 잠금이 해제되고 필요하다면 작업 프로필의 암호가
- 해독됩니다.
-</p>
-
-<p>
-  프로필 소유자가 {@link
-  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} 인텐트를 보내면
-, 보안 인증 질문을 설정하라는 메시지가 사용자에게 표시됩니다. 또한, 프로필 소유자는
- 사용자에게 기기 잠금을 설정하도록 하는 <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 인텐트를
-  보낼 수 있습니다.
-</p>
-
-<p>
-  프로필 소유자는 작업 프로필 보안 인증 질문의 비밀번호 정책을 다른 기기
- 비밀번호의 정책과는 다르게 설정하도록 선택할 수 있습니다. 예를 들어, 기기 보안 질문 응답의 최소 길이는 다른 암호에 요구되는
-길이와
-다를 수 있습니다. 프로필 소유자는 {@link
- android.app.admin.DevicePolicyManager#setPasswordQuality
- setPasswordQuality()} 및 {@link
- android.app.admin.DevicePolicyManager#setPasswordMinimumLength
- setPasswordMinimumLength()}와 같은
- 일반적인 {@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> 메서드를 사용하여 작업 프로필 보안 인증 질문에 대한 자격 증명 화면을
- 사용자 지정할 수 있습니다.
-</p>
-
-<p>
-  새로운 메서드와 상수에 대한 자세한 내용은
- <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 참조</a>의 <code>DevicePolicyManager</code> 참조 페이지를 참조하십시오.
-</p>
-
-<h2 id="suspend">앱에 대한 액세스 비활성화</h2>
-
-<p>
-  기기 소유자 및 프로필 소유자는 새 <code>DevicePolicyManager.setPackagesSuspended()</code>
- 메서드를 호출하여 패키지에 대한 액세스를 일시적으로 중단할 수
- 있습니다. 소유자는 이 메서드를 똑같이 사용하여 해당 패키지를 다시 활성화할 수 있습니다.
-</p>
-
-<p>
-  패키지가 일시 중단된 동안에는 액티비티를 시작할 수 없고, 패키지에 대한
- 알림이 억제되고, <a href="{@docRoot}guide/components/recents.html">개요 화면</a>에서 앱 항목이 숨겨집니다.
-  일시 중단된 패키지는 <a href="{@docRoot}guide/components/recents.html">개요 화면</a>에 표시되지 않고
- (toast와 snackbar를 포함한) 대화 상자를 표시할 수 없습니다. 이들 패키지는 또한 오디오를
- 재생하거나 기기를 진동시킬 수도 없습니다.
-</p>
-
-<p>
-  현재 사용할 수 없는 앱임을 표시하기 위해
-, 런처는 뚜렷이 구별되는 UI를 일시 중단된 앱에 적용해야 합니다. 예를 들어, 앱 아이콘이 회색으로 표시되도록 할 수
- 있습니다. 런처는 앱이 일시 중단된 상태인지
- 확인하기 위해 새 <code>DevicePolicyManager.getPackageSuspended()</code> 메서드를 호출할 수 있습니다.
-</p>
-
-<h2 id="toggle-work">작업 모드 전환</h2>
-
-<p>
-  듀얼 프로필 기기에서는 사용자가 작업 모드를 설정하거나 해제할 수 있습니다. 작업 모드가
- 해제된 중에는 관리된 프로필이 일시적으로 종료됩니다. 프로필
- 소유자 앱을 포함하여 작업 프로필 앱, 백그라운드 동기화 및 알림이 모두
- 비활성화됩니다. 작업 프로필이 비활성화된 중에는 사용자가
- 업무용 앱을 실행할 수 없음을 미리 알려주기 위한 영구적인 상태 아이콘이
- 표시됩니다. 시스템 런처는 업무용 앱과 위젯에 액세스할 수 없음을
- 나타냅니다.
-</p>
-
-<h2 id="always-on-vpn">상시 접속 VPN</h2>
-
-<p>
-  기기 소유자 및 프로필 소유자는 항상 지정된 VPN을 통해 업무용 앱을
- 네트워크에 연결하도록 요구할 수 있습니다. 소유자가 이 요구 사항을 설정하면
- 기기는 부팅 시 해당 VPN을 자동으로 시작합니다.
-</p>
-
-<p>
-  소유자는 새 <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> 메서드를 호출하여 VPN을 사용하도록 요구할 수
- 있습니다. 소유자가
- VPN 요구 사항을 설정했는지 확인하려면 새
- <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> 메서드를 호출하십시오.
-</p>
-
-<p>
-  시스템에서 앱 상호 작용 없이 VPN 서비스를 직접 바인딩할 수 있으므로,
- VPN 클라이언트는 상시 접속 VPN에 대해 새로운 진입점을 처리해야 합니다. 이전과 마찬가지로,
- {@link android.net.VpnService android.net.VpnService} 작업과 일치하는 인텐트 필터를 사용하여 활성 서비스를
- 찾을 수 있습니다.
-</p>
-
-<p>
-  사용자는 <strong>Settings &gt; More &gt;
- VPN</strong> 화면을 사용하여 {@link
- android.net.VpnService}를 구현하는 상시 접속 VPN 클라이언트를 수동으로 설정할 수 있습니다.
-</p>
-
-<h2 id="contacts">연락처와 작업 프로필 통합</h2>
-
-<p>
-  프로필 소유자는 기본 사용자의 업무용 연락처에 대한 로컬 검색 및 디렉터리 조회를
- 허용할 수 있습니다. 예를 들어, 사용자는 개인 다이얼러 또는 연락처 애플리케이션에서
- 개인용 및 업무용 디렉터리 연락처에 모두 액세스할 수 있습니다(프로필
- 관리자가 허용한 경우).
-</p>
-
-<p>
-  Contact Provider를 활용하는 개발자는, 정책에 따라 허용되는 경우
-, Enterprise Contacts API를 사용하여 기본 사용자의 작업 프로필 디렉터리 항목에 액세스할 수
- 있습니다.
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  프로필 소유자는 다음과 같은 새로운 메서드를 사용하여 기본 사용자의 업무용 연락처를 표시할지
-여부를 제어할 수 있습니다.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">원격 재부팅</h2>
-
-<p>
-  기기 소유자는 기기를 원격으로 재부팅할 수 있습니다. 경우에 따라, 구내의 공공 장소에 배치되어 있는
- 기기는 전원 버튼에 액세스하지 못하게 되어 있습니다. 기기를
- 재부팅해야 하는 경우 관리자가 새
- <code>DevicePolicyManager.reboot()</code> 메서드를 사용하여 재부팅할 수 있습니다.
-</p>
-
-<h2 id="disable-roaming">데이터 로밍 비활성화</h2>
-
-<p>
-  기기 소유자는 새로운 {@link
- android.os.UserManager} 사용자 제한 <code>DISALLOW_DATA_ROAMING</code>을 사용하여 데이터 로밍을 비활성화할 수 있습니다.
-</p>
-
-<h2 id="process-logging">엔터프라이즈 프로세스 로깅</h2>
-
-<p>
-  기기 소유자는 앱 실행, adb 액티비티 및 화면 잠금 해제를 비롯한 기기 액티비티를
- 원격으로 추적하여 의심스러운 액티비티를 식별할 수 있습니다. 프로세스
- 로그는 사용자 동의를 받을 필요가 없습니다. 로그를 검색하기 위해, 기기 소유자는 <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>를 사용하여
- 기기 로깅을 활성화할 수 있습니다.
-</p>
-
-<p>
-  API 변경 사항에는 다음이 포함됩니다.
-</p>
-
-<ul>
-
-  <li>
-    새로운 클래스 <code>android.app.admin.SecurityLog</code>와 이 클래스의
- 메서드
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">원격 버그 보고서</h2>
-
-<p>
-  기기 소유자는 기기 상태 덤프 파일이 포함된 버그 보고서를
- 원격으로 트리거하고 검색할 수 있으며, 이를 통해 알려진 문제나 손상된 기기에 대한
- 포렌식 조사를 수행할 수 있습니다. 버그 보고서는 그 본질상 세세한 내용까지 담고 있으므로,
- 사용자 동의를 받아야 합니다.
-</p>
-
-<p>
-  Android N에서는 이 기능을 지원하기 위해 다음과 같은 API를 포함합니다. 자세한
- 내용은 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
- 참조</a>를 확인하세요.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">클라이언트 인증서 제거</h2>
-
-<p>
-  프로필 소유자와 기기 소유자는 이제 새 <code>DevicePolicyManager.removeKeyPair()</code>
- 메서드를 호출하여, {@link android.app.admin.DevicePolicyManager#installKeyPair
- installKeyPair()}를 통해 설치된 클라이언트 인증서를
- 제거할 수 있습니다.
-</p>
-
-<h2 id="grant-cert-on-install">설치 시 클라이언트 인증서에 대한
- 액세스 권한 부여</h2>
-
-<p>
-  프로필 소유자나 기기 소유자가 인증서 관리 권한을
- 타사 앱에 부여할 경우, 해당 앱은 소유자의 간섭을 전혀 받지 않고도 인증서에
- 액세스 권한을 부여할 수 있습니다.
-</p>
-
-<p>
-  인증서 관리를 위한 기존 API가 확장되었으며 다음을 포함합니다.
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">시스템 UI 정책 투명성</h2>
-
-<p>
-  사용자 환경에 영향을 미치는 정책이나 사용자 Settings를 제한하는 정책은
- 사용자에게 완전히 공개되며, 프로필 소유자와 기기 소유자는 해당 정책에 대한 책임을
- 회사의 IT 부서로 돌릴 수 있습니다. Settings에 일관되게 표시되는 “Action
- not allowed” 메시지 외에도, IT 관리자는
- 다음과 같은 새로운 {@link android.app.admin.DevicePolicyManager} 메서드를 사용하여 기기 설정에서 조직별 지원 메시지를
- 설정할 수 있습니다.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">앱 제한 관리 향상</h2>
-
-<p>
-  기기 소유자나 프로필 소유자는 새 <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
- 메서드를 통해 다른 애플리케이션이 앱 제한을
- 관리하도록 할 수
- 있습니다. 지정된 애플리케이션은 이 권한이 부여되었는지
-여부를 확인하기 위해 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>를 호출할
-수 있습니다.
-</p>
-
-<p>
-  앱 제한을 관리하도록 지정된 애플리케이션은 해당 사용자 또는 프로필 내에 있는 어떤 패키지에 대해서도 {@link
- android.app.admin.DevicePolicyManager#setApplicationRestrictions
- setApplicationRestrictions()} 및 {@link
- android.app.admin.DevicePolicyManager#getApplicationRestrictions
- getApplicationRestrictions()}를 호출할 수 있습니다.
-</p>
-
-<h2 id="location-off">위치 해제 스위치</h2>
-
-<p>
-  사용자는 개인용 앱에서 위치 정보에 계속 액세스하는 동안에도
- 업무용 앱의 위치 권한을 비활성화할 수 있습니다. 사용자는
- Location Settings에 있는 별개의 위치 액세스 스위치를 사용하여 작업 프로필에서 실행 중인
- 앱의 위치 업데이트 또는 마지막 위치 쿼리를 거부할 수 있습니다.
-</p>
-
-<p>
-  최상위 수준 위치 해제 스위치를 사용하면 기본 프로필과 관리된 프로필에
- 대해 모두 위치 액세스를 비활성화할 수 있습니다.
-</p>
-
-<h2 id="custom-provisioning">사용자 지정 프로비저닝</h2>
-
-<p>
-  애플리케이션은 기업 색상과 로고를 사용하여 프로필 소유자 및 기기 소유자 프로비저닝
- 흐름을 사용자 지정할 수 있습니다.
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    흐름 색상을 사용자 지정합니다.
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    기업 로고를 사용하여 흐름을 사용자 지정합니다.
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">다중 Wi-Fi CA 인증서</h2>
-
-<p>
-  프로필 소유자와 기기 소유자는 주어진 Wi-Fi 구성에 대해 다중 CA 인증서를 설정할 수
- 있습니다. SSID가 동일한 별개의 액세스 지점에 대해
- 별개의 CA가 기업 Wi-Fi 네트워크에 있는 경우, IT 관리자가 새 메서드 <code>setCaCertificates()</code>를 사용하여
- 모든 관련 CA를 Wi-Fi 구성에 포함시킬 수
- 있습니다.
-</p>
-
-<p>
-  추가되는 API는 다음과 같습니다.
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">사용자 지정 잠금 화면 메시지</h2>
-
-<p>
-  기기 소유자는 잠금 화면에 표시될 소유자 정보를 제공할 수 있습니다.
-  이 정보는 사용자 잠금 화면 메시지(설정되어 있는 경우)보다
- 우선합니다. 새 {@link android.app.admin.DevicePolicyManager} 메서드는 다음과 같습니다.
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">작업 프로필 연결 서비스</h2>
-
-<p>
-  프로필 소유자는 호출 백엔드(호출 계정)용으로
- 작업별 {@link android.telecom.ConnectionService}를 사용하는 업무용 다이얼러 애플리케이션을
- 지정할 수 있습니다. 업무용 다이얼러는 업무 전용 통화 기록을
- 유지 관리하고 업무용 연락처에만 의존합니다. 사용자는 전화 걸기 애플리케이션에 상관없이 일관된 통화 UI
- 환경을 사용합니다. 업무 통화 계정으로 수신되는 업무 통화는
- 개인 통화 계정으로 수신되는 개인용 통화와
- 구분됩니다.
-</p>
-
-<p>
-  다이얼러는 새 플래그
- <code>android.telecom.Call.PROPERTY_WORK_CALL</code>을 검사하여 통화가
-업무 통화인지 결정합니다. 통화가 업무 통화인 경우, 다이얼러는 작업 배지를 추가하는 등의 방법으로
- 이를 표시해야 합니다.
-</p>
-
-<h2 id="lock-wp">배경 화면 잠금</h2>
-
-<p>
-  새 사용자 제한(<code>DISALLOW_SET_WALLPAPER</code>)에 따라 사용자는
- 배경 화면을 변경할 수 없습니다. 그래도 기기 소유자나 프로필 소유자는
- 배경 화면을 변경할 수 있지만, 자신이 관리하는 사용자나 프로필의
- 배경 화면만 변경할 수 있을 뿐입니다. 예를 들어, 프로필 소유자는 상위 사용자의 배경 화면은
- 변경할 수 없지만, 기본 프로필에 있는 프로필 소유자나 기기 소유자는
- 변경할 수 있습니다. 배경 화면을 변경하고 싶은 프로필 소유자나 기기 소유자는
- 자신이 관리하는 사용자 또는 프로필에
- 배경 화면이 있는지({@link android.app.WallpaperManager#isWallpaperSupported
-  isWallpaperSupported()}), 그리고 이를 변경하도록 허용되는지 여부를 확인해야 합니다(새 메서드
- <code>WallpaperManager.isWallpaperSettingAllowed()</code> 사용).
-</p>
-
-<h2 id="lock-user-icon">사용자 아이콘 잠금</h2>
-
-<p>
-  새 사용자 제한(<code>DISALLOW_SET_USER_ICON</code>)에 따라 사용자는
- 사용자 아이콘을 변경할 수 없습니다. 그래도 사용자의 기기 소유자나 프로필 소유자는
- 아이콘을 변경할 수 있습니다. 하지만, 프로필 소유자는 자신이 관리하는 프로필에 대한 사용자 아이콘만
- 변경할 수 있을 뿐입니다.
-</p>
-
-<h2 id="health-monitoring">기기 상태 모니터링</h2>
-
-<p>
-  기기 소유자나 프로필 소유자는 새
- <code>HardwarePropertiesManager</code> 인터페이스를 사용하여 CPU나 GPU의 온도, CPU 사용량 등, 기기 상태에 대한
- 정보를 검색할 수 있습니다. 새
- 모니터링 인터페이스는 원격 위치에서 지켜보는 사람이 없이 작동하는 기기를
- 모니터링하는 데 특히 유용합니다.
-</p>
diff --git a/docs/html-intl/intl/pt-br/preview/j8-jack.jd b/docs/html-intl/intl/pt-br/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/pt-br/preview/j8-jack.jd
rename to docs/html-intl/intl/pt-br/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/pt-br/preview/_book.yaml b/docs/html-intl/intl/pt-br/preview/_book.yaml
index 8f75c9a..d4af8e1 100644
--- a/docs/html-intl/intl/pt-br/preview/_book.yaml
+++ b/docs/html-intl/intl/pt-br/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Recursos de linguagem do Java 8
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Atualizações no Android for Work
     path: /preview/features/afw.html
   - title: Acesso a diretórios com escopo
diff --git a/docs/html-intl/intl/pt-br/preview/features/afw.jd b/docs/html-intl/intl/pt-br/preview/features/afw.jd
deleted file mode 100644
index 977d2a0..0000000
--- a/docs/html-intl/intl/pt-br/preview/features/afw.jd
+++ /dev/null
@@ -1,552 +0,0 @@
-page.title=Atualizações no Android for Work
-page.metaDescription=Novas APIs do Android for Work e novos recursos do Android N.
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>Neste documento</h2>
-      <ol>
-        <li><a href="#qr">Provisionamento de código QR
-</a></li>
-
-        <li><a href="#sec-challenge">Desafio de segurança de perfil de trabalho
-</a></li>
-
-        <li><a href="#suspend">Desativar acesso a aplicativos
-</a></li>
-
-        <li><a href="#toggle-work">Alternar modo de trabalho
-</a></li>
-
-        <li><a href="#always-on-vpn">Always-On VPN
-</a></li>
-
-        <li><a href="#contacts">Integração de contatos com perfil de trabalho
-</a></li>
-
-        <li><a href="#remote-reboot">Reinicialização remota
-</a></li>
-
-        <li><a href="#disable-roaming">Desativação de roaming de dados
-</a></li>
-
-        <li><a href="#process-logging">Registro do processo empresarial
-</a></li>
-
-        <li><a href="#bug-reports">Relatórios de erros remotos
-</a></li>
-
-        <li><a href="#remove-cert">Remoção de certificado do cliente
-</a></li>
-
-        <li><a href="#grant-cert-on-install">Concessão de acesso a certificado do cliente
-na instalação</a></li>
-
-        <li><a href="#ui-policy">Transparência da política de IU do sistema
-</a></li>
-
-        <li><a href="#restrictions-mgmt">Melhorias no gerenciamento de restrições de aplicativos
-</a></li>
-
-        <li><a href="#location-off">Interruptor para desativar localidade
-</a></li>
-
-        <li><a href="#custom-provisioning">Provisionamento personalizado
-</a></li>
-
-        <li><a href="#multi-wifi-ca">Diversos certificados de CA para Wi-Fi
-</a></li>
-
-        <li><a href="#custom-lock">Mensagem de tela de bloqueio personalizada
-</a></li>
-
-        <li><a href="#work-connectionservice">Perfil de trabalho ConnectionService
-</a></li>
-
-        <li><a href="#lock-wp">Bloqueio de plano de fundo
-</a></li>
-
-        <li><a href="#lock-user-icon">Bloqueio de ícone de usuário
-</a></li>
-
-        <li><a href="#health-monitoring">Monitoramento da saúde do dispositivo
-</a></li>
-
-      </ol>
-
-    <h2>Veja também</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
-do N Preview SDK</a></li>
-    </ul>
-  </div>
-</div>
-
-<p>Este documento descreve os novos recursos do Android for Work oferecidos no
-Android N.</p>
-
-<h2 id="qr">Provisionamento de código QR</h2>
-
-<p>
-  O Android for Work agora é compatível com o uso de códigos QR para fornecimento de dispositivos
-de responsabilidade corporativa. Este assistente de configuração permite a digitalização de um código QR para fornecer
-ao dispositivo.
-</p>
-
-<h2 id="sec-challenge">Desafio de segurança de perfil de trabalho</h2>
-
-<p>
-  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
-perfil de trabalho.
-</p>
-
-<p>
-  Se um dono de perfil enviar uma intenção {@link
- android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, o
- sistema solicitará que o usuário defina um desafio de segurança. O dono de perfil também
- pode enviar uma intenção <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> para
- solicitar que o usuário defina um bloqueio de dispositivo.
-</p>
-
-<p>
-  Os donos de perfil podem escolher políticas de senha diferentes
- das políticas de outros dispositivos para o desafio de trabalho. Por exemplo, o
- tamanho mínimo da resposta do desafio no dispositivo pode ser diferente do tamanho
- exigido para outras senhas. Os donos de perfis definem as
-políticas do desafio por meio dos métodos {@link android.app.admin.DevicePolicyManager}
-usuais, como {@link
-android.app.admin.DevicePolicyManager#setPasswordQuality
-setPasswordQuality()} e {@link
-android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-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
-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
-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>
-
-<h2 id="suspend">Desativar acesso a aplicativos</h2>
-
-<p>
-  Donos de dispositivos e perfis podem suspender temporariamente o acesso a pacotes
- chamando o novo método <code>DevicePolicyManager.setPackagesSuspended()</code>
-. Os donos podem usar o mesmo método para reativar esses pacotes.
-</p>
-
-<p>
-  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
- áudio nem vibrar o dispositivo.
-</p>
-
-<p>
-  A tela de início pode aplicar uma IU destacada ao aplicativos suspensos para mostrar que
- não estão disponíveis. Podem, por exemplo, exibir o ícone do aplicativo
- em cinza. A tela de início pode descobrir se um aplicativo está suspenso chamando o novo método
- <code>DevicePolicyManager.getPackageSuspended()</code>.
-</p>
-
-<h2 id="toggle-work">Alternar modo de trabalho</h2>
-
-<p>
-  Em dispositivos com dois perfis, o usuário pode ativar ou desativar o modo de trabalho. Quando o modo de trabalho
- é desativado, o perfil gerenciado é encerrado temporariamente. Os aplicativos,
- a sincronização em segundo plano e as notificações do perfil de trabalho são desativados, inclusive
- 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 indica que os aplicativos e widgets de trabalho não podem
- ser acessados.
-</p>
-
-<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
-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
-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>.
-</p>
-
-<p>
-  Como o sistema pode vincular os serviços de VPN diretamente sem interação com aplicativos,
- os clientes de VPN precisam processar novos pontos de entrada para a Always-on VPN. Como antes, você
- pode encontrar serviços ativos usando um filtro de intenção que corresponda à ação
- {@link android.net.VpnService android.net.VpnService}.
-</p>
-
-<p>
-  Os usuários podem configurar manualmente um cliente de VPN always-on que implemente {@link
-android.net.VpnService} usando a tela <strong>Settings &gt; More &gt;
- VPN</strong>.
-</p>
-
-<h2 id="contacts">Integração de contatos com perfil de trabalho</h2>
-
-<p>
-  Os donos de perfil podem permitir pesquisa local e busca no diretório de contatos de trabalho
- do usuário principal. Por exemplo, um usuário pode acessar os diretórios de contatos
- pessoais e de trabalho no telefone ou no aplicativo de contatos particular (se
- permitido pelo administrador do perfil).
-</p>
-
-<p>
-  Desenvolvedores que se valem do Provedor de Contatos podem usar a Enterprise Contacts API
- para acessar as entradas do diretório do perfil de trabalho do usuário principal se permitido
- pela política:
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  Donos de perfis podem controlar a visibilidade de contatos de trabalho no usuário
- principal usando os seguintes novos métodos:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">Reinicialização remota</h2>
-
-<p>
-  Donos de dispositivos podem reinicializá-los remotamente. Em alguns casos, dispositivos implementados
- dentro de compartimentos em locais públicos podem impedir o acesso ao botão liga/desliga. Se um
- dispositivo precisar de reinicialização, os administradores poderão fazer isso usando o novo
- método <code>DevicePolicyManager.reboot()</code>.
-</p>
-
-<h2 id="disable-roaming">Desativação de roaming de dados</h2>
-
-<p>
-  Os donos de dispositivos podem desativar o roaming de dados usando a nova restrição de usuário <code>DISALLOW_DATA_ROAMING</code> do {@link
-android.os.UserManager}.
-</p>
-
-<h2 id="process-logging">Registro do processo empresarial</h2>
-
-<p>
-  Donos de dispositivos podem monitorá-los remotamente
- para identificar atividades suspeitas, incluindo inicialização de aplicativos, atividade adb e desbloqueios de tela. Registros de processo
- não exigem consentimento do usuário. Para recuperar os registros, os donos de dispositivos precisam ativar
-o registro no dispositivo usando <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
-</p>
-
-<p>
-  As mudanças na API incluem:
-</p>
-
-<ul>
-
-  <li>
-    A nova classe <code>android.app.admin.SecurityLog</code> e seus
- métodos
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">Relatórios de erros remotos</h2>
-
-<p>
-  Donos de dispositivos podem acionar e recuperar remotamente um relatório de erros que contém um
- arquivo de despejo, o que permite a investigação forense de um incidente
- conhecido ou um dispositivo danificado. Devido à natureza detalhada do relatório de erros,
- ele só é gerado com o consentimento do usuário.
-</p>
-
-<p>
-  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>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<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
-instalados por meio do {@link android.app.admin.DevicePolicyManager#installKeyPair
- installKeyPair()} chamando o novo método
- <code>DevicePolicyManager.removeKeyPair()</code>.
-</p>
-
-<h2 id="grant-cert-on-install">Concessão de acesso a certificado do cliente
-na instalação</h2>
-
-<p>
-  Se um dono de perfil ou dispositivo conceder a um aplicativo de terceiros a capacidade de
- gerenciar certificados, o próprio aplicativo poderá conceder acesso a certificados que
- tenha instalado sem qualquer intervenção do dono.
-</p>
-
-<p>
-  A API existente para gerenciamento de certificados foi expandida para incluir:
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">Transparência da política de IU do sistema</h2>
-
-<p>
-  Políticas que afetem a experiência do usuário ou restrinjam Settings são
- totalmente divulgadas e os donos de perfis e dispositivos podem atribuir a
- política ao departamento de TI da empresa. Além de incluir uma mensagem consistente de "Ação
- não permitida” em Settings, os administradores de TI podem definir uma
- mensagem de suporte específica para a organização nas configurações do dispositivo com os seguintes
- novos métodos {@link android.app.admin.DevicePolicyManager}:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">Melhorias no gerenciamento de restrições de aplicativos</h2>
-
-<p>
-  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
-concedida chamando
- <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
-</p>
-
-<p>
-  Um aplicativo indicado para gerenciar restrições de aplicativos pode chamar {@link
- android.app.admin.DevicePolicyManager#setApplicationRestrictions
-setApplicationRestrictions()} e {@link
-android.app.admin.DevicePolicyManager#getApplicationRestrictions
-getApplicationRestrictions()} para quaisquer pacotes dentro daquele usuário ou perfil.
-</p>
-
-<h2 id="location-off">Interruptor para desativar localidade</h2>
-
-<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
- 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>
-
-<p>
-  O interruptor de desligamento de localidade em nível superior desativa o acesso à localidade para o
- perfil principal e o perfil gerenciado.
-</p>
-
-<h2 id="custom-provisioning">Provisionamento personalizado</h2>
-
-<p>
-  Um aplicativo pode personalizar os fluxos de provisionamento do dono do perfil e do dispositivo
- com cores e logos corporativos.
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    Personaliza a cor do fluxo.
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    Personaliza o fluxo com um logo corporativo.
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">Diversos certificados de CA para Wi-Fi</h2>
-
-<p>
-  Donos de dispositivos e perfis podem definir vários certificados de CA para uma determinada
- configuração de Wi-Fi. Quando redes Wi-Fi corporativas têm CA separadas para
- pontos de acesso separados com o mesmo SSID, os administradores de TI podem incluir todas as
- CA correspondentes na configuração de Wi-Fi usando o novo método
- <code>setCaCertificates()</code>.
-</p>
-
-<p>
-  As APIs adicionadas foram:
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">Mensagem de tela de bloqueio personalizada</h2>
-
-<p>
-  Donos de dispositivos podem fornecer informações a ser exibidas na tela de bloqueio.
-  Essas informações têm prioridade sobre a mensagem do usuário na tela de bloqueio (se houver uma
- definida). Os novos métodos {@link android.app.admin.DevicePolicyManager} são:
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">Perfil de trabalho ConnectionService</h2>
-
-<p>
-  Os donos de perfil podem especificar um aplicativo de telefone de trabalho que usa um
- {@link android.telecom.ConnectionService} específico para trabalho para o back-end de
- chamada (contas de chamada). O telefone de trabalho só mantém um registro de chamadas de trabalho
- e baseia-se apenas em contatos de trabalho. Os usuários têm uma experiência consistente
- de IU em chamada em qualquer aplicativo de ligação. As chamadas recebidas pelas contas de trabalho
- são distintas das chamadas recebidas pelas
-contas pessoais.
-</p>
-
-<p>
-  O telefone deve verificar o novo sinalizador
- <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar se a chamada
- é de trabalho. Se for de trabalho, o telefone deverá indicar o fato
- adicionando um distintivo de trabalho, por exemplo.
-</p>
-
-<h2 id="lock-wp">Bloqueio de plano de fundo</h2>
-
-<p>
-  Uma nova restrição de usuário (<code>DISALLOW_SET_WALLPAPER</code>) impede que
- o usuário altere o plano de fundo. O dono do dispositivo ou perfil ainda pode
- alterar o plano de fundo, mas só consegue mudar o plano de fundo
- do usuário ou perfil que controla. Por exemplo, um dono de perfil não consegue mudar o
-plano de fundo do usuário pai, mas o dono de um perfil principal e
- o dono do dispositivo conseguem. Um dono de perfil ou dispositivo que queira alterar o
- plano de fundo precisa verificar se o usuário ou perfil que gerencia tem um
- plano de fundo ({@link android.app.WallpaperManager#isWallpaperSupported
- isWallpaperSupported()}) e se possui permissão para alterá-lo (com o
- novo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>)
-</p>
-
-<h2 id="lock-user-icon">Bloqueio de ícone de usuário</h2>
-
-<p>
-  Uma nova restrição de usuário (<code>DISALLOW_SET_USER_ICON</code>) impede que
- o usuário altere o ícone de usuário. O dono do dispositivo ou perfil
- ainda pode alterar o ícone. No entanto, um dono de perfil só consegue alterar o
- ícone de usuário do perfil que controla.
-</p>
-
-<h2 id="health-monitoring">Monitoramento da saúde do dispositivo</h2>
-
-<p>
-  Um dono de perfil ou dispositivo pode usar a nova interface
- <code>HardwarePropertiesManager</code> para recuperar informações importantes
- sobre a integridade do dispositivo, como temperatura da CPU ou da GPU e uso de CPU. A nova
- interface de monitoramento é especialmente útil para monitorar dispositivos não assistidos
- executados em uma localidade remota.
-</p>
diff --git a/docs/html-intl/intl/ru/preview/j8-jack.jd b/docs/html-intl/intl/ru/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/ru/preview/j8-jack.jd
rename to docs/html-intl/intl/ru/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/vi/preview/j8-jack.jd b/docs/html-intl/intl/vi/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/vi/preview/j8-jack.jd
rename to docs/html-intl/intl/vi/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/zh-cn/preview/j8-jack.jd b/docs/html-intl/intl/zh-cn/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/zh-cn/preview/j8-jack.jd
rename to docs/html-intl/intl/zh-cn/guide/platform/j8-jack.jd
diff --git a/docs/html-intl/intl/zh-cn/preview/_book.yaml b/docs/html-intl/intl/zh-cn/preview/_book.yaml
index 81956ed..fe44ea8 100644
--- a/docs/html-intl/intl/zh-cn/preview/_book.yaml
+++ b/docs/html-intl/intl/zh-cn/preview/_book.yaml
@@ -260,27 +260,6 @@
       value: ICU4J Android フレームワーク API
     - name: zh-tw-lang
       value: ICU4J Android フレームワーク API
-  - title: Java 8 语言功能
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 の機能
-    - name: zh-tw-lang
-      value: Java 8 の機能
   - title: Android for Work Updates
     path: /preview/features/afw.html
   - title: 作用域目录访问
diff --git a/docs/html-intl/intl/zh-cn/preview/features/afw.jd b/docs/html-intl/intl/zh-cn/preview/features/afw.jd
deleted file mode 100644
index 0d4c562..0000000
--- a/docs/html-intl/intl/zh-cn/preview/features/afw.jd
+++ /dev/null
@@ -1,556 +0,0 @@
-page.title=Android for Work 更新
-page.metaDescription=Android N 中的新 Android for Work API 和功能
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-
-
-
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>本文内容</h2>
-      <ol>
-        <li><a href="#qr">QR 码配置</a>
-</li>
-
-        <li><a href="#sec-challenge">工作资料安全性挑战</a>
-</li>
-
-        <li><a href="#suspend">停用应用访问</a>
-</li>
-
-        <li><a href="#toggle-work">切换工作模式</a>
-</li>
-
-        <li><a href="#always-on-vpn">Always-On VPN</a>
-</li>
-
-        <li><a href="#contacts">联系人与工作资料集成</a>
-</li>
-
-        <li><a href="#remote-reboot">远程重新启动</a>
-</li>
-
-        <li><a href="#disable-roaming">停用数据网络漫游</a>
-</li>
-
-        <li><a href="#process-logging">企业进程记录</a>
-</li>
-
-        <li><a href="#bug-reports">远程错误报告</a>
-</li>
-
-        <li><a href="#remove-cert">移除客户端证书</a>
-</li>
-
-        <li><a href="#grant-cert-on-install">允许访问安装设备上的客户端证书</a>
-</li>
-
-        <li><a href="#ui-policy">系统 UI 策略透明度</a>
-</li>
-
-        <li><a href="#restrictions-mgmt">应用限制管理增强</a>
-</li>
-
-        <li><a href="#location-off">位置关闭开关</a>
-</li>
-
-        <li><a href="#custom-provisioning">自定义配置</a>
-</li>
-
-        <li><a href="#multi-wifi-ca">多 Wi-Fi CA 证书</a>
-</li>
-
-        <li><a href="#custom-lock">自定义锁屏消息</a>
-</li>
-
-        <li><a href="#work-connectionservice">工作资料 ConnectionService</a>
-</li>
-
-        <li><a href="#lock-wp">锁定壁纸</a>
-</li>
-
-        <li><a href="#lock-user-icon">锁定壁纸</a>
-</li>
-
-        <li><a href="#health-monitoring">设备运行状况监测</a>
-</li>
-
-      </ol>
-
-    <h2>另请参阅</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a>
-</li>
-    </ul>
-  </div>
-</div>
-
-<p>本文介绍了 Android N 中提供的新 Android for Work 功能。
-</p>
-
-<h2 id="qr">QR 码配置</h2>
-
-<p>
-  Android for Work 现在支持使用 QR 码来配置企业负责的设备。
-安装向导现在允许您通过扫描 QR 码来配置设备。
-
-</p>
-
-<h2 id="sec-challenge">工作资料安全性挑战</h2>
-
-<p>
-  个人资料所有者可以要求用户为在工作资料中运行的应用指定安全性挑战。
-系统会在用户尝试打开任何工作应用时显示安全性挑战。
-如果用户成功完成安全性挑战,系统可解锁工作资料并将其解密(如果需要)。
-
-
-</p>
-
-<p>
-  如果个人资料所有者发送一项 {@link
-  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} Intent,系统会提示用户设置一项安全性挑战。
-个人资料所有者也可以发送一项 <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> Intent 来提示用户设置设备锁定。
-
-
-</p>
-
-<p>
-  个人资料所有者可以选择为工作挑战设置不同于其他设备密码策略的密码策略。
-例如,设备挑战响应的最小长度可以与其它密码要求的长度不同。
-
-个人资料所有者使用常见的 {@link android.app.admin.DevicePolicyManager} 方法来设置挑战策略,如 {@link
-  android.app.admin.DevicePolicyManager#setPasswordQuality
-  setPasswordQuality()} 和 {@link
-  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-  setPasswordMinimumLength()}。
-
-个人资料所有者还能通过使用由新的 <code>DevicePolicyManager.getParentProfileInstance()</code> 方法返回的 {@link android.app.admin.DevicePolicyManager} 实例来设置设备锁定,
-
-
-此外,个人资料所有者可以使用 {@link android.app.admin.DevicePolicyManager} 类的新 <code>setOrganizationColor()</code> 和 <code>setOrganizationName()</code> 方法来自定义工作挑战的凭据屏幕。
-
-
-
-</p>
-
-<p>
-  有关新方法和常量的详细信息,请参阅 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a> 中的 <code>DevicePolicyManager</code> 参考页面。
-
-</p>
-
-<h2 id="suspend">停用应用访问</h2>
-
-<p>
-  设备所有者和个人资料所有者可以通过调用新 <code>DevicePolicyManager.setPackagesSuspended()</code> 方法来临时暂停软件包访问。
-
-所有者可以用同样的方法来重新启用这些软件包。
-</p>
-
-<p>
-  在软件包被暂停期间,它不能启动 Activity ,到软件包的通知会被阻止,而<a href="{@docRoot}guide/components/recents.html">概览屏幕</a>中的应用条目会被隐藏。
-
-  暂停的软件包不会显示在<a href="{@docRoot}guide/components/recents.html">概览屏幕</a>中,并且它们不能显示对话(包括提醒和 Snackbar),
-也不能播放音频或振动设备。
-
-</p>
-
-<p>
-  启动器应对暂停的应用应用一个独特的 UI,以指示应用目前不可用;例如它们可以将应用图标显示为灰色。
-
-启动器可以通过调用新 <code>DevicePolicyManager.getPackageSuspended()</code> 方法来确定应用是否被暂停。
-
-</p>
-
-<h2 id="toggle-work">切换工作模式</h2>
-
-<p>
-  在双个人资料设备上,用户可以打开或关闭工作模式。在工作模式关闭时,托管个人资料会被暂时关闭。
-工作资料应用、后台同步和通知都会被停用,包括个人资料所有者应用。
-
-在工作资料被停用时,系统会显示一个持久的状态图标,以提醒用户他们将无法启动工作应用。
-
-系统启动器会指示工作应用和小工具都将无法访问。
-
-</p>
-
-<h2 id="always-on-vpn">Always-On VPN</h2>
-
-<p>
-  设备所有者和个人资料所有者可以要求工作应用始终通过指定的 VPN 连接到网络。
-如果所有者设置了此要求,设备会在启动时自动开始 VPN。
-
-</p>
-
-<p>
-  所有者可以通过调用新 <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> 方法来要求使用 VPN。
-通过调用新 <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> 方法来确定所有者是否设置了 VPN 要求。
-
-
-</p>
-
-<p>
-  由于 VPN 服务无需应用交互即可由系统直接绑定,因此,VPN 客户端必须针对 Always on VPN 处理新的入口点。
-像以前一样,您可以通过使用与操作 {@link android.net.VpnService android.net.VpnService} 匹配的 Intent 过滤器查找活动的服务。
-
-
-</p>
-
-<p>
-  用户可以使用 <strong>Settings &gt; More &gt; VPN</strong> 屏幕来手动设置实现 {@link
-  android.net.VpnService} 的 Always on VPN 客户端。
-
-</p>
-
-<h2 id="contacts">联系人与工作资料集成</h2>
-
-<p>
-  个人资料所有者可以允许主用户对工作联系人进行本地搜索和目录查找。
-例如,用户可以从他们的个人拨号器或联系人应用访问个人和工作目录联系人(如果他们的个人资料管理员允许)。
-
-
-</p>
-
-<p>
-  利用联系人提供程序的开发者可以使用企业联系人 API 从主用户访问工作资料目录条目(如果策略允许):
-
-
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  个人资料所有者可以使用以下新方法来控制主用户的工作联系人可见性:
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">远程重新启动</h2>
-
-<p>
-  设备所有者可以远程重新启动设备。有些情况下,部署在公共场所的封装内设备会阻止访问电源按钮。
-如果设备需要重新启动,管理员可以使用新 <code>DevicePolicyManager.reboot()</code> 方法来进行此操作。
-
-
-</p>
-
-<h2 id="disable-roaming">停用数据网络漫游</h2>
-
-<p>
-  设备所有者可以使用新的 {@link
-  android.os.UserManager} 用户限制 <code>DISALLOW_DATA_ROAMING</code> 来停用数据网络漫游。
-</p>
-
-<h2 id="process-logging">企业进程记录</h2>
-
-<p>
-  设备所有者可以通过远程跟踪设备活动来识别可疑活动 ,包括应用启动、ADB Activity 和屏幕解锁。
-进程记录不要求用户同意。
-若要检索记录,设备所有者可以使用 <code>DevicePolicyManager.setSecurityLoggingEnabled()</code> 来启用设备记录。
-
-</p>
-
-<p>
-  API 更改包括:
-</p>
-
-<ul>
-
-  <li>
-    新类 <code>android.app.admin.SecurityLog</code> 和它的方法
-
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">远程错误报告</h2>
-
-<p>
-  设备所有者可以远程触发和检索包含设备状态转储文件的错误报告,这允许对已知事故或受损害的设备进行取证调查。
-
-鉴于错误报告的详细性质,需要经过用户同意。
-
-</p>
-
-<p>
-  Android N 包括以下 API 添加来支持此功能。如需详细信息,请参阅 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a>。
-
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">移除客户端证书</h2>
-
-<p>
-  个人资料所有者和设备所有者现在可以通过调用新方法 <code>DevicePolicyManager.removeKeyPair()</code> 来移除通过 {@link android.app.admin.DevicePolicyManager#installKeyPair
-  installKeyPair()} 安装的客户端证书。
-
-
-</p>
-
-<h2 id="grant-cert-on-install">允许访问安装设备上的客户端证书
-</h2>
-
-<p>
-  如果个人资料所有者或设备所有者授予第三方应用管理证书的权限,应用便可授予自身访问其所安装证书的权限,无需所有者进行任何干预。
-
-
-</p>
-
-<p>
-  用于管理证书的现有 API 经过扩展,现包括:
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">系统 UI 策略透明度</h2>
-
-<p>
-  影响用户体验或限制用户设置的策略是向用户完全公开的,个人资料所有者和设备所有者可以将策略归于他们公司的 IT 部门。
-
-除了“Settings”中一贯的“Action not allowed”消息之外,IT 管理员可以通过以下新 {@link android.app.admin.DevicePolicyManager} 方法在设备设置中设置组织特定的支持消息:
-
-
-
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="restrictions-mgmt">应用限制管理增强</h2>
-
-<p>
-  设备或个人资料所有者可以通过新 <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> 方法启用另一项应用,以管理应用限制。
-
-
-提名的应用可以通过调用 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code> 来检查是否已被授予此权限。
-
-
-</p>
-
-<p>
-  提名管理应用限制的应用可以为该用户或个人资料内的任何软件包调用 {@link
-  android.app.admin.DevicePolicyManager#setApplicationRestrictions
-  setApplicationRestrictions()} 和 {@link
-  android.app.admin.DevicePolicyManager#getApplicationRestrictions
-  getApplicationRestrictions()}。
-</p>
-
-<h2 id="location-off">位置关闭开关</h2>
-
-<p>
-  用户可以停用工作应用的位置权限,同时仍可继续在个人应用中访问位置信息。
-Location Settings 中的一个单独的位置访问开关允许用户拒绝对工作资料内运行的应用的位置更新或最后位置查询。
-
-
-</p>
-
-<p>
-  顶层位置关闭开关停用对主个人资料和托管个人资料的位置访问权限。
-
-</p>
-
-<h2 id="custom-provisioning">自定义配置</h2>
-
-<p>
-  应用可以用企业颜色和徽标来自定义个人资料所有者和设备所有者配置流程。
-
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    自定义流程颜色。
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    用企业徽标来自定义流程。
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">多 Wi-Fi CA 证书</h2>
-
-<p>
-  个人资料所有者和设备所有者可以为一项指定的 Wi-Fi 配置设置多个 CA 证书。
-如果企业 Wi-Fi 网络针对有相同 SSID 的独立接入点设置了独立 CA,IT 管理员可以使用新 <code>setCaCertificates()</code> 方法将所有相关 CA 包括在 Wi-Fi 配置中。
-
-
-
-</p>
-
-<p>
-  添加的 API 有:
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">自定义锁屏消息</h2>
-
-<p>
-  设备所有者可以提供将显示在锁屏上的所有者信息。
-  该信息的优先级高于用户锁屏消息(如果已设置)。
-新 {@link android.app.admin.DevicePolicyManager} 方法有:
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">工作资料 ConnectionService</h2>
-
-<p>
-  个人资料所有者可以为调用后端(调用帐户)指定一项使用工作特定 {@link android.telecom.ConnectionService} 的工作拨号器应用。
-
-工作拨号器会保持仅限工作的调用记录,并仅依赖于工作联系人。
-无论拨号应用是什么,用户都将获得一致的调用内 UI 体验。
-传入到工作调用帐户的工作调用会与传入到个人调用帐户的个人调用相区别。
-
-
-</p>
-
-<p>
-  拨号器应检查新标记 <code>android.telecom.Call.PROPERTY_WORK_CALL</code>,以确定一项调用是否是工作调用。
-
-如果一项调用是工作调用,拨号器应通过添加工作徽章等方式做如此指示。
-
-</p>
-
-<h2 id="lock-wp">锁定壁纸</h2>
-
-<p>
-  新的用户限制 (<code>DISALLOW_SET_WALLPAPER</code>) 可以阻止用户更改他们的壁纸。
-设备所有者或个人资料所有者仍可以改变壁纸,但只能更改他们控制的用户或个人资料的壁纸。
-
-例如,个人资料所有者不能更改父用户的壁纸,但主个人资料的个人资料所有者或设备所有者却可以。
-
-想要更改壁纸的个人资料所有者或设备所有者应检查他们管理的用户或个人资料是否有壁纸 ({@link android.app.WallpaperManager#isWallpaperSupported
-  isWallpaperSupported()}) 以及他们是否被允许更改这个壁纸(通过新方法 <code>WallpaperManager.isWallpaperSettingAllowed()</code>)。
-
-
-
-</p>
-
-<h2 id="lock-user-icon">锁定用户图标</h2>
-
-<p>
-  新的用户限制 (<code>DISALLOW_SET_USER_ICON</code>) 阻止用户更改其用户图标。
-用户的设备所有者或个人资料所有者仍可以更改图标。
-但是个人资料所有者只能更改其控制的个人资料的用户图标。
-
-</p>
-
-<h2 id="health-monitoring">设备运行状况监测</h2>
-
-<p>
-  设备所有者或个人资料所有者可以使用新的 <code>HardwarePropertiesManager</code> 界面来检索有关设备运行状况的信息,如 CPU 或 GPU 温度和 CPU 使用率。
-
-新的监测界面特别适合监测在远程位置运行的无人值守设备。
-
-
-</p>
diff --git a/docs/html-intl/intl/zh-tw/preview/j8-jack.jd b/docs/html-intl/intl/zh-tw/guide/platform/j8-jack.jd
similarity index 100%
rename from docs/html-intl/intl/zh-tw/preview/j8-jack.jd
rename to docs/html-intl/intl/zh-tw/guide/platform/j8-jack.jd
diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index 2b94718..81f8137 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -1202,9 +1202,28 @@
 - from: /r/studio-ui/menu-start.html
   to: /training/index.html?utm_medium=android-studio
 
-# N Preview redirects
-
+# Redirects from (removed) N Preview documentation
+- from: /preview/features/afw.html
+  to: https://developers.google.com/android/work/overview
+- from: /preview/features/multi-window.html
+  to: /guide/topics/ui/multi-window.html
+- from: /preview/features/icu4j-framework.html
+  to: /guide/topics/resources/icu4j-framework.html
 - from: /preview/features/key-attestation.html
   to: /training/articles/security-key-attestation.html
 - from: /preview/features/security-config.html
-  to: /training/articles/security-config.html
\ No newline at end of file
+  to: /training/articles/security-config.html
+- from: /preview/features/picture-in-picture.html
+  to: /training/tv/playback/picture-in-picture.html
+- from: /preview/features/tv-recording-api.html
+  to: /training/tv/tif/content-recording.html
+- from: /preview/features/direct-boot.html
+  to: /training/articles/direct-boot.html
+- from: /preview/features/scoped-folder-access.html
+  to: /training/articles/scoped-directory-access.html
+- from: /preview/features/notification-updates.html
+  to: /guide/topics/ui/notifiers/notifications.html
+- from: /preview/features/multilingual-support.html
+  to: /guide/topics/resources/multilingual-support.html
+- from: /preview/j8-jack.html
+  to: /guide/platform/j8-jack.html
diff --git a/docs/html/guide/_book.yaml b/docs/html/guide/_book.yaml
index 6d6686b..20ee483 100644
--- a/docs/html/guide/_book.yaml
+++ b/docs/html/guide/_book.yaml
@@ -9,6 +9,33 @@
   - title: System Permissions
     path: /guide/topics/security/permissions.html
 
+- title: Platform Architecture
+  path: /guide/platform/index.html
+  section:
+  - title: Use Java 8 Language Features
+    path: /guide/platform/j8-jack.html
+    path_attributes:
+    - name: es-lang
+      value: Funciones del lenguaje Java 8
+    - name: in-lang
+      value: Fitur Bahasa Java 8
+    - name: ja-lang
+      value: Java 8 の機能
+    - name: ko-lang
+      value: Java 8 언어 기능
+    - name: pt-br-lang
+      value: Recursos de linguagem do Java 8
+    - name: ru-lang
+      value: Возможности языка Java 8
+    - name: vi-lang
+      value: Tính năng của Ngôn ngữ Java 8
+    - name: zh-cn-lang
+      value: Java 8 语言功能
+    - name: zh-tw-lang
+      value: Java 8 語言功能
+  - title: Verifying App Behavior on the Android Runtime (ART)
+    path: /guide/practices/verifying-apps-art.html
+
 - title: App Components
   path: /guide/components/index.html
   section:
@@ -69,6 +96,11 @@
     path: /guide/topics/resources/runtime-changes.html
   - title: Localization
     path: /guide/topics/resources/localization.html
+    section:
+    - title: ICU4J Android Framework APIs
+      path: /guide/topics/resources/icu4j-framework.html
+    - title: Language and Locale
+      path: /guide/topics/resources/multilingual-support.html
   - title: Resource Types
     path: /guide/topics/resources/available-resources.html
     section:
@@ -203,6 +235,8 @@
       path: /guide/topics/search/adding-custom-suggestions.html
     - title: Searchable Configuration
       path: /guide/topics/search/searchable-config.html
+  - title: Multi-Window Support
+    path: /guide/topics/ui/multi-window.html
   - title: Drag and Drop
     path: /guide/topics/ui/drag-drop.html
   - title: Accessibility
@@ -417,5 +451,3 @@
       path: /guide/practices/screen-compat-mode.html
   - title: Supporting Tablets and Handsets
     path: /guide/practices/tablets-and-handsets.html
-  - title: Verifying App Behavior on ART
-    path: /guide/practices/verifying-apps-art.html
diff --git a/docs/html/guide/platform/Images/android-stack_2x.png b/docs/html/guide/platform/Images/android-stack_2x.png
new file mode 100644
index 0000000..33bb144
--- /dev/null
+++ b/docs/html/guide/platform/Images/android-stack_2x.png
Binary files differ
diff --git a/docs/html/guide/platform/index.jd b/docs/html/guide/platform/index.jd
new file mode 100644
index 0000000..9aed461
--- /dev/null
+++ b/docs/html/guide/platform/index.jd
@@ -0,0 +1,217 @@
+page.title=Platform Architecture
+page.keywords=platform,architecture,framework
+@jd:body
+
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      In this document
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#linux-kernel">The Linux Kernel</a>
+      </li>
+
+      <li>
+        <a href="#hal">Hardware Abstraction Layer (HAL)</a>
+      </li>
+
+      <li>
+        <a href="#art">Android Runtime</a>
+      </li>
+
+      <li>
+        <a href="#native-libs">Native C/C++ Libraries</a>
+      </li>
+
+      <li>
+        <a href="#api-framework">Java API Framework</a>
+      </li>
+
+      <li>
+        <a href="#system-apps">System Apps</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  Android is an open source, Linux-based software stack created for a wide
+  array of devices and form factors. The following diagram shows the major
+  components of the Android platform.
+</p>
+
+<img src="/guide/platform/images/android-stack_2x.png" alt="" width=
+"519">
+<p class="img-caption">
+  <strong>Figure 1.</strong> The Android software stack.
+</p>
+
+<h2 id="linux-kernel">
+The Linux Kernel
+</h2>
+
+<p>
+  The foundation of the Android platform is the Linux kernel. For example,
+  <a href="#art">the Android Runtime (ART)</a> relies on the Linux kernel for
+  underlying functionalities such as threading and low-level memory management.
+</p>
+
+<p>
+  Using a Linux kernel allows Android to take advantage of <a href=
+  "https://source.android.com/security/overview/kernel-security.html">key
+  security features</a> and allows device manufacturers to develop hardware
+  drivers for a well-known kernel.
+</p>
+
+<h2 id="hal">
+Hardware Abstraction Layer (HAL)
+</h2>
+
+<p>
+  The <a href=
+  "https://source.android.com/devices/index.html#Hardware%20Abstraction%20Layer">
+  hardware abstraction layer (HAL)</a> provides standard interfaces that expose
+  device hardware capabilities to the higher-level <a href=
+  "#api-framework">Java API framework</a>. The HAL consists of multiple library
+  modules, each of which implements an interface for a specific type of hardware
+  component, such as the <a href=
+  "https://source.android.com/devices/camera/index.html">camera</a> or <a href=
+  "https://source.android.com/devices/bluetooth.html">bluetooth</a> module.
+  When a framework API makes a call to access device hardware, the Android
+  system loads the library module for that hardware component.
+</p>
+
+<h2 id="art">
+Android Runtime
+</h2>
+
+<p>
+  For devices running Android version 5.0 (API level 21) or higher, each app
+  runs in its own process and with its own instance of the <a href=
+  "http://source.android.com/devices/tech/dalvik/index.html">Android Runtime
+  (ART)</a>. ART is written to run multiple virtual machines on low-memory
+  devices by executing DEX files, a bytecode format designed specially for
+  Android that's optimized for minimal memory footprint. Build toolchains, such
+  as <a href="https://source.android.com/source/jack.html">Jack</a>, compile
+  Java sources into DEX bytecode, which can run on the Android platform.
+</p>
+
+<p>
+  Some of the major features of ART include the following:
+</p>
+
+<ul>
+  <li>Ahead-of-time (AOT) and just-in-time (JIT) compilation
+  </li>
+
+  <li>Optimized garbage collection (GC)
+  </li>
+
+  <li>Better debugging support, including a dedicated sampling profiler,
+  detailed diagnostic exceptions and crash reporting, and the ability to set
+  watchpoints to monitor specific fields
+  </li>
+</ul>
+
+<p>
+  Prior to Android version 5.0 (API level 21), Dalvik was the Android runtime.
+  If your app runs well on ART, then it should work on Dalvik as well, but
+  <a href="/guide/platform/verifying-apps-art.html">the reverse may not be
+  true</a>.
+</p>
+
+<p>
+  Android also includes a set of core runtime libraries that provide most of
+  the functionality of the Java programming language, including some <a href=
+  "/guide/platform/j8-jack.html">Java 8 language features</a>, that the Java
+  API framework uses.
+</p>
+
+<h2 id="native-libs">
+  Native C/C++ Libraries
+</h2>
+
+<p>
+  Many core Android system components and services, such as ART and HAL, are
+  built from native code that require native libraries written in C and C++.
+  The Android platform provides Java framework APIs to expose the functionality
+  of some of these native libraries to apps. For example, you can access
+  <a href="/guide/topics/graphics/opengl.html">OpenGL ES</a> through the
+  Android framework’s <a href=
+  "/reference/android/opengl/package-summary.html">Java OpenGL API</a> to add
+  support for drawing and manipulating 2D and 3D graphics in your app.
+</p>
+
+<p>
+  If you are developing an app that requires C or C++ code, you can use the
+  <a href="/ndk/index.html">Android NDK</a> to access some of these <a href=
+  "/ndk/guides/stable_apis.html">native platform libraries</a> directly from
+  your native code.
+</p>
+
+<h2 id="api-framework">
+Java API Framework
+</h2>
+
+<p>
+  The entire feature-set of the Android OS is available to you through APIs
+  written in the Java language. These APIs form the building blocks you need to
+  create Android apps by simplifying the reuse of core, modular system
+  components and services, which include the following:
+</p>
+
+<ul>
+  <li>A rich and extensible <a href="/guide/topics/ui/overview.html">View
+  System</a> you can use to build an app’s UI, including lists, grids, text
+  boxes, buttons, and even an embeddable web browser
+  </li>
+
+  <li>A <a href="/guide/topics/resources/overview.html">Resource Manager</a>,
+  providing access to non-code resources such as localized strings, graphics,
+  and layout files
+  </li>
+
+  <li>A <a href="/guide/topics/ui/notifiers/notifications.html">Notification
+  Manager</a> that enables all apps to display custom alerts in the status bar
+  </li>
+
+  <li>An <a href="/guide/components/activities.html">Activity Manager</a> that
+  manages the lifecycle of apps and provides a common <a href=
+  "/guide/components/tasks-and-back-stack.html">navigation back stack</a>
+  </li>
+
+  <li>
+    <a href="/guide/topics/providers/content-providers.html">Content
+    Providers</a> that enable apps to access data from other apps, such as
+    the Contacts app, or to share their own data
+  </li>
+</ul>
+
+<p>
+  Developers have full access to the same <a href=
+  "/reference/packages.html">framework APIs</a> that Android system apps use.
+</p>
+
+<h2 id="system-apps">
+System Apps
+</h2>
+
+<p>
+  Android comes with a set of core apps for email, SMS messaging, calendars,
+  internet browsing, contacts, and more. Apps included with the platform have
+  no special status among the apps the user chooses to install. So a
+  third-party app can become the user's default web browser, SMS messenger, or
+  even the default keyboard (some exceptions apply, such as the system's
+  Settings app).
+</p>
+
+<p>
+  The system apps function both as apps for users and to provide key
+  capabilities that developers can access from their own app. For example, if
+  your app would like to deliver an SMS message, you don't need to build that
+  functionality yourself—you can instead invoke whichever SMS app is already
+  installed to deliver a message to the recipient you specify.
+</p>
\ No newline at end of file
diff --git a/docs/html/preview/j8-jack.jd b/docs/html/guide/platform/j8-jack.jd
similarity index 63%
rename from docs/html/preview/j8-jack.jd
rename to docs/html/guide/platform/j8-jack.jd
index 4ea016d..9b19426 100644
--- a/docs/html/preview/j8-jack.jd
+++ b/docs/html/guide/platform/j8-jack.jd
@@ -1,41 +1,63 @@
-page.title=Java 8 Language Features
+page.title=Use Java 8 Language Features
 page.keywords="android N", "Java 8", "Jack"
 @jd:body
 
 <div id="qv-wrapper">
   <div id="qv">
+    <h2 id="Contents">
+      In this document:
+    </h2>
+
     <ol>
       <li>
-        <a href="#supported-features">Supported Java 8 Language Features and APIs</a>
+        <a href="#supported-features">Supported Java 8 Language Features and
+        APIs</a>
       </li>
+
       <li>
-        <a href="#configuration">Enabling Java 8 Features and the Jack Toolchain</a>
+        <a href="#configuration">Enable Java 8 Features and the Jack
+        Toolchain</a>
+        <ul>
+          <li>
+            <a href="#configure-gradle">Configure Gradle</a>
+          </li>
+
+          <li>
+            <a href="#known-issues">Known issues</a>
+          </li>
+        </ul>
       </li>
     </ol>
   </div>
 </div>
 
-<p>Android N introduces support for Java 8 language features
-  that you can use when developing apps that target Android N.
-  This page describes the new language features supported in the Android N
-  Preview, how to properly set up your project to use them, and any known
-  issues you may encounter.
+<p>
+  Android supports all Java 7 language features and a subset of Java 8 language
+  features that vary by platform version. This page describes the new language
+  features you can use, how to properly configure your project to use them, and
+  any known issues you may encounter.
 </p>
 
-<p>To start using these features, you need to download and set up Android
-Studio 2.1 and the Android N Preview SDK, which includes the required
-Jack toolchain and updated Android Plugin for Gradle. If you haven't yet
-installed the Android N Preview SDK, see <a href=
-"{@docRoot}preview/setup-sdk.html">Set Up to Develop for Android N</a>.</p>
-
-
-
 <p class="note">
-  <strong>Note:</strong> Using the new Java 8 language features is not a
-  requirement for developing apps that target the Android N platform. If you
-  don't want to write code with Java 8 language features, you can keep your
-  project's source and target compatibility values set to Java 7, but you still
-  must compile with JDK 8 to build against the Android N platform.
+  <strong>Note:</strong> When developing apps for Android, using Java 8
+  language features is optional. You can keep your project's source and target
+  compatibility values set to Java 7, but you still need to compile using JDK
+  8.
+</p>
+
+<p>
+  Support for Java 8 language features requires a new compiler called <a href=
+  "https://source.android.com/source/jack.html">Jack</a>. Jack is supported
+  only on Android Studio 2.1 and higher. So if you want to use Java 8 language
+  features, you need to use Android Studio 2.1 to build your app.
+</p>
+
+<p>
+  If you already have Android Studio installed, make sure you update to the
+  latest version by clicking <strong>Help &gt; Check for Update</strong> (on
+  Mac, <strong>Android Studio &gt; Check for Updates</strong>). If you don't
+  already have the IDE installed on your workstation, <a href=
+  "{@docRoot}studio/">download Android Studio here</a>.
 </p>
 
 <h2 id="supported-features">
@@ -43,9 +65,9 @@
 </h2>
 
 <p>
-  Android does not currently support all Java 8 language features. However, the
-  following features are now available when developing apps targeting the
-  Android N Preview:
+  Android does not support all Java 8 language features. However, the
+  following features are available when developing apps targeting
+  Android 7.0 (API level 24):
 </p>
 
 <ul>
@@ -94,7 +116,7 @@
 </p>
 
 <p>
-  Additionally, the following Java 8 language feature APIs are now available:
+  Additionally, the following Java 8 language APIs are also available:
 </p>
 
 <ul>
@@ -144,37 +166,36 @@
 </ul>
 
 <h2 id="configuration">
-  Enabling Java 8 Features and the Jack Toolchain
+  Enable Java 8 Features and the Jack Toolchain
 </h2>
 
 <p>
   In order to use the new Java 8 language features, you need to also use the
-  new <a class="external-link" href=
-  "https://source.android.com/source/jack.html">Jack toolchain</a>. This new
-  Android toolchain compiles Java language source into Android-readable dex
-  bytecode, has its own {@code .jack} library format, and provides most toolchain
-  features as part of a single tool: repackaging, shrinking, obfuscation and
-  multidex.
+  <a href="https://source.android.com/source/jack.html">Jack toolchain</a>.
+  This new Android toolchain compiles Java language sources into
+  Android-readable DEX bytecode, has its own {@code .jack} library format, and
+  provides most toolchain features as part of a single tool: repackaging,
+  shrinking, obfuscation and multidex.
 </p>
 
 <p>Here is a comparison of the two toolchains used to build Android DEX files:</p>
 <ul>
   <li>Legacy javac toolchain:<br>
-  <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
-  .class} --&gt; {@code .dex})
+  <b>javac</b> ({@code .java} → {@code .class}) → <b>dx</b> ({@code
+  .class} → {@code .dex})
   </li>
 
   <li>New Jack toolchain:<br>
-  <b>Jack</b> ({@code .java} --&gt; {@code .jack} --&gt; {@code .dex})
+  <b>Jack</b> ({@code .java} → {@code .jack} → {@code .dex})
   </li>
 </ul>
 
-<h3>
-  Configuring Gradle
+<h3 id="configure-gradle">
+  Configure Gradle
 </h3>
 
 <p>
-  To enable the Java 8 language features and Jack for your project, enter the
+  To enable Java 8 language features and Jack for your project, enter the
   following in your module-level {@code build.gradle} file:
 </p>
 
@@ -195,7 +216,7 @@
 </pre>
 
 <h3 id="known-issues">
-  Known Issues
+  Known issues
 </h3>
 
 <p>
@@ -217,5 +238,5 @@
   </li>
 </ul>
 
-<p>If you find other problems while using Jack, <a href=
+<p>If you find other issues while using Jack, <a href=
 "http://tools.android.com/filing-bugs">please file a bug</a>.</p>
\ No newline at end of file
diff --git a/docs/html/guide/practices/verifying-apps-art.jd b/docs/html/guide/practices/verifying-apps-art.jd
index 217c65c..2da7c0e 100644
--- a/docs/html/guide/practices/verifying-apps-art.jd
+++ b/docs/html/guide/practices/verifying-apps-art.jd
@@ -2,60 +2,82 @@
 @jd:body
 
 <div id="qv-wrapper">
-<div id="qv">
-<h2>Quickview</h2>
-  <ul>
-    <li>The new Android runtime (ART) is available on some of the newest Android
-      devices, though all of them currently have Dalvik as the default
-      runtime.</li>
-    <li>App developers should make sure their apps are compatible with ART,
-      especially if you use JNI to run native code or if you use certain tools
-      that produce non-standard code (such as some obfuscators).</li>
-  </ul>
+  <div id="qv">
+    <h2 id="Contents">
+      In this document
+    </h2>
 
-  <h2 id="Contents">In this document</h2>
- <ol>
-    <li><a href="#GC_Migration">Addressing Garbage Collection (GC) Issues</a></li>
-    <li><a href="#JNI_Issues">Preventing JNI Issues</a>
-      <ol>
-        <li><a href="#JNI_and_GC">Checking JNI code for garbage-collection
-          issues</a></li>
-        <li><a href="#Error_Handling">Error handling</a></li>
-        <li><a href="#Object_Model_Changes">Object model changes</a></li>
-      </ol>
-    </li>
-    <li><a href="#Stack_Size">Preventing Stack Size Issues</a></li>
-    <li><a href="#AOT_Fails">Fixing AOT Compilation Issues</a></li>
-    <li><a href="#Reporting_Problems">Reporting Problems</a></li>
-  </ol>
-  <h2>See also</h2>
-  <ol>
-    <li><a href="http://source.android.com/devices/tech/dalvik/art.html">Introducing ART</a></li>
-    <li><a
-href="http://android-developers.blogspot.com/2011/07/debugging-android-jni-with-checkjni.html">Debugging
-Android JNI with CheckJNI</a></li>
-  </ol>
-</div>
+    <ol>
+      <li>
+        <a href="#GC_Migration">Addressing Garbage Collection (GC) Issues</a>
+      </li>
+
+      <li>
+        <a href="#JNI_Issues">Preventing JNI Issues</a>
+        <ol>
+          <li>
+            <a href="#JNI_and_GC">Checking JNI code for garbage-collection
+            issues</a>
+          </li>
+
+          <li>
+            <a href="#Error_Handling">Error handling</a>
+          </li>
+
+          <li>
+            <a href="#Object_Model_Changes">Object model changes</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#Stack_Size">Preventing Stack Size Issues</a>
+      </li>
+
+      <li>
+        <a href="#AOT_Fails">Fixing AOT Compilation Issues</a>
+      </li>
+
+      <li>
+        <a href="#Reporting_Problems">Reporting Problems</a>
+      </li>
+    </ol>
+
+    <h2>
+      See also
+    </h2>
+
+    <ol>
+      <li>
+        <a href=
+        "http://source.android.com/devices/tech/dalvik/art.html">Introducing
+        ART</a>
+      </li>
+
+      <li>
+        <a href=
+        "http://android-developers.blogspot.com/2011/07/debugging-android-jni-with-checkjni.html">
+        Debugging Android JNI with CheckJNI</a>
+      </li>
+    </ol>
+  </div>
 </div>
 
-<p>With Android 4.4, we are beginning to roll out a new Android runtime,
-<strong>ART</strong>. This runtime offers a number of new features that improve
-performance and smoothness of the Android platform and apps. (You can find more
-information about ART's new features in <a
-href="http://source.android.com/devices/tech/dalvik/art.html">Introducing
-ART</a>.)</p>
+<p>
+  The Android runtime (ART) is the default runtime for devices running Android
+  5.0 (API level 21) and higher. This runtime offers a number of features
+  that improve performance and smoothness of the Android platform and apps.
+  You can find more information about ART's new features in <a href=
+  "http://source.android.com/devices/tech/dalvik/art.html">Introducing
+  ART</a>.
+</p>
 
-<p>Currently, ART is available on a number of Android 4.4 devices, such as the
-Nexus 4, Nexus 5, Nexus 7, and Google Play edition devices.
-At this time, all devices still use Dalvik as the default runtime. We encourage
-you to test your apps for ART compatibility and to take advantage of ART's new
-features. However, for the time being, you should also take care to maintain
-compatibility with Dalvik.</p>
-
-<p>This document lets you know about things to watch for when migrating an
-existing app to be compatible with ART. Most apps should just work when
-running with ART. However, some techniques that work on Dalvik do not work on
-ART. This document discusses some of these issues.</p>
+<p>
+  However, some techniques that work on Dalvik do not work on ART. This
+  document lets you know about things to watch for when migrating an existing
+  app to be compatible with ART. Most apps should just work when running with
+  ART.
+</p>
 
 <h2 id="GC_Migration">Addressing Garbage Collection (GC) Issues</h2>
 
@@ -147,7 +169,7 @@
 
 <h3 id="Error_Handling">Error handling</h3>
 
-<p>ART's JNI throws errors in a number of cases where Dalvik didn’t. (Once
+<p>ART's JNI throws errors in a number of cases where Dalvik doesn’t. (Once
 again, you can catch many such cases by testing with CheckJNI.)</p>
 
 <p>For example, if <code>RegisterNatives</code> is called with a method that
diff --git a/docs/html/guide/topics/data/data-storage.jd b/docs/html/guide/topics/data/data-storage.jd
index a745d00..770340b 100644
--- a/docs/html/guide/topics/data/data-storage.jd
+++ b/docs/html/guide/topics/data/data-storage.jd
@@ -252,6 +252,17 @@
 save to the external storage. All applications can read and write files placed on the external
 storage and the user can remove them.</p>
 
+<h3 id="ScopedDirAccess">Using Scoped Directory Access</h3>
+
+On Android 7.0 or later, if you need access to a specific directory on
+external storage, use scoped directory access. Scoped directory access
+simplifies how your application accesses standard external storage directories,
+such as the <code>Pictures</code> directory, and provides a simple
+permissions UI that clearly details what directory the application is
+requesting access to. For more details on scoped directory access, see
+<a href="{@docRoot}training/articles/scoped-directory-access.html">Using
+Scoped Directory Access</a>.
+
 <h3 id="ExternalPermissions">Getting access to external storage</h3>
 
 <p>In order to read or write files on the external storage, your app must acquire the
diff --git a/docs/html/guide/topics/manifest/activity-element.jd b/docs/html/guide/topics/manifest/activity-element.jd
index 5ced295..6deb14b 100644
--- a/docs/html/guide/topics/manifest/activity-element.jd
+++ b/docs/html/guide/topics/manifest/activity-element.jd
@@ -35,6 +35,7 @@
           android:<a href="#prmsn">permission</a>="<i>string</i>"
           android:<a href="#proc">process</a>="<i>string</i>"
           android:<a href="#relinquish">relinquishTaskIdentity</a>=["true" | "false"]
+          android:<a href="#resizeableActivity">resizeableActivity</a>=["true" | "false"]
           android:<a href="#screen">screenOrientation</a>=["unspecified" | "behind" |
                                      "landscape" | "portrait" |
                                      "reverseLandscape" | "reversePortrait" |
@@ -43,6 +44,7 @@
                                      "sensor" | "fullSensor" | "nosensor" |
                                      "user" | "fullUser" | "locked"]
           android:<a href="#state">stateNotNeeded</a>=["true" | "false"]
+          android:<a href="#supportsPIP">supportsPictureInPicture</a>=["true" | "false"]
           android:<a href="#aff">taskAffinity</a>="<i>string</i>"
           android:<a href="#theme">theme</a>="<i>resource or theme</i>"
           android:<a href="#uioptions">uiOptions</a>=["none" | "splitActionBarWhenNarrow"]
@@ -794,9 +796,39 @@
 and icons in the <a href="{@docRoot}guide/components/recents.html">overview screen</a>.</p>
 </dd>
 
+<dt id="resizeableActivity"><code>resizeableActivity</code></dt>
+
+<dd>
+<p>
+  Specifies whether the app supports <a href=
+  "{@docRoot}guide/topics/ui/multi-window.html">multi-window display</a>. You
+  can set this attribute in either the <code>&lt;activity&gt;</code> or
+  <a href="application-element.html"><code>&lt;application&gt;</code></a>
+  element.
+</p>
+
+<p>
+  If you set this attribute to true, the user can launch the activity in
+  split-screen and freeform modes. If you set the attribute to false, the
+  activity does not support multi-window mode. If this value is false, and the
+  user attempts to launch the activity in multi-window mode, the activity takes
+  over the full screen.
+</p>
+
+<p>
+  If your app targets API level 24 or higher, but you do not specify a value
+  for this attribute, the attribute's value defaults to true.
+</p>
+
+<p>
+  This attribute was added in API level 24.
+</p>
+</dd>
 
 <dt><a name="screen"></a>{@code android:screenOrientation}</dt>
-<dd>The orientation of the activity's display on the device.
+<dd>The orientation of the activity's display on the device. The system ignores
+  this attribute if the activity is running in <a
+  href="{@docRoot}guide/topics/ui/multi-window.html">multi-window mode</a>.
 
 <p>The value can be any one of the following strings:</p>
 
@@ -921,6 +953,19 @@
 crashes for some reason.
 </p></dd>
 
+<dt id="supportsPIP"><code>supportsPictureInPicture</code></dt>
+
+<dd>
+<p>
+  Specifies whether the activity supports <a href=
+  "{@docRoot}training/tv/playback/picture-in-picture.jd">Picture-in-Picture</a>
+  display. The system ignores this attribute if <a href=
+  "#resizeableActivity"><code>android:resizeableActivity</code></a> is false.
+</p>
+
+<p>This attribute was added in API level 24.</p>
+</dd>
+
 <dt><a name="aff"></a>{@code android:taskAffinity}</dt>
 <dd>The task that the activity has an affinity for.  Activities with
 the same affinity conceptually belong to the same task (to the same
diff --git a/docs/html/guide/topics/manifest/application-element.jd b/docs/html/guide/topics/manifest/application-element.jd
index 56d61f3..f8e251e 100644
--- a/docs/html/guide/topics/manifest/application-element.jd
+++ b/docs/html/guide/topics/manifest/application-element.jd
@@ -26,6 +26,7 @@
              android:<a href="#proc">process</a>="<i>string</i>"
              android:<a href="#restoreany">restoreAnyVersion</a>=["true" | "false"]
              android:<a href="#requiredAccountType">requiredAccountType</a>="<i>string</i>"
+             android:<a href="#resizeableActivity">resizeableActivity</a>=["true" | "false"]
              android:<a href="#restrictedAccountType">restrictedAccountType</a>="<i>string</i>"
              android:<a href="#supportsrtl">supportsRtl</a>=["true" | "false"]
              android:<a href="#aff">taskAffinity</a>="<i>string</i>"
@@ -358,6 +359,34 @@
 </dd>
 
 
+<dt id="resizeableActivity"><code>resizeableActivity</code></dt>
+
+<dd>
+<p>
+  Specifies whether the app supports <a href=
+  "{@docRoot}guide/topics/ui/multi-window.html">multi-window display</a>. You
+  can set this attribute in either the <a href="activity-element">
+  <code>&lt;activity&gt;</code></a> or <code>&lt;application&gt;</code> element.
+</p>
+
+<p>
+  If you set this attribute to true, the user can launch the activity in
+  split-screen and freeform modes. If you set the attribute to false, the
+  activity does not support multi-window mode. If this value is false, and the
+  user attempts to launch the activity in multi-window mode, the activity takes
+  over the full screen.
+</p>
+
+<p>
+  If your app targets API level 24 or higher, but you do not specify a value
+  for this attribute, the attribute's value defaults to true.
+</p>
+
+<p>
+  This attribute was added in API level 24.
+</p>
+</dd>
+
 <dt><a name="restrictedAccountType"></a>{@code android:restrictedAccountType}</dt>
 <dd>Specifies the account type required by this application and indicates that restricted profiles
 are allowed to access such accounts that belong to the owner user. If your app requires an
diff --git a/docs/html/guide/topics/manifest/uses-sdk-element.jd b/docs/html/guide/topics/manifest/uses-sdk-element.jd
index 94577ed..b8126c0 100755
--- a/docs/html/guide/topics/manifest/uses-sdk-element.jd
+++ b/docs/html/guide/topics/manifest/uses-sdk-element.jd
@@ -223,9 +223,14 @@
 are running each version, see the <a href="{@docRoot}about/dashboards/index.html">Platform
 Versions dashboards page</a>.</p>
 
-<table>
+<table id="api-level-table">
   <tr><th>Platform Version</th><th>API Level</th><th>VERSION_CODE</th><th>Notes</th></tr>
 
+    <tr><td><a href="{@docRoot}about/versions/nougat/android-7.0.html">Android 7.0</a></td>
+    <td><a href="{@docRoot}sdk/api_diff/24/changes.html" title="Diff Report">24</a></td>
+    <td>{@link android.os.Build.VERSION_CODES#N}</td>
+    <td><a href="{@docRoot}about/versions/nougat/index.html">Platform Highlights</a></td></tr>
+
     <tr><td><a href="{@docRoot}about/versions/marshmallow/android-6.0.html">Android 6.0</a></td>
     <td><a href="{@docRoot}sdk/api_diff/23/changes.html" title="Diff Report">23</a></td>
     <td>{@link android.os.Build.VERSION_CODES#M}</td>
diff --git a/docs/html/preview/features/icu4j-framework.jd b/docs/html/guide/topics/resources/icu4j-framework.jd
similarity index 92%
rename from docs/html/preview/features/icu4j-framework.jd
rename to docs/html/guide/topics/resources/icu4j-framework.jd
index 839c077..e7cbe72 100644
--- a/docs/html/preview/features/icu4j-framework.jd
+++ b/docs/html/guide/topics/resources/icu4j-framework.jd
@@ -30,14 +30,16 @@
 
 <p>
   ICU4J is an open-source, widely used set of Java libraries providing Unicode
-  and globalization support for software applications. Android N
-  exposes a subset of the ICU4J APIs in the Android framework for app developers
+  and globalization support for software applications. Starting in Android 7.0
+  (API level 24), Android
+  exposes a subset of the ICU4J APIs for app developers
   to use under the {@code android.icu} package. These APIs use
   localization data present on the device. As a result, you can reduce your APK
   footprint by not compiling the ICU4J libraries into your APK; instead, you can
   simply call out to them in the framework. (In this case, you may want to provide
   <a href="{@docRoot}google/play/publishing/multiple-apks.html">multiple versions
-  of your APK</a>, so users running versions of Android lower than Android N
+  of your APK</a>, so users running versions of Android lower than
+  Android 7.0 (API level 24)
   can download a version of the app that contains the ICU4J libraries.)
 </p>
 
@@ -51,17 +53,17 @@
 <h2 id="relation">Relationship to ICU4J</h2>
 
 <p>
-  Android N exposes a subset of the ICU4J APIs via the
+  Android exposes a subset of the ICU4J APIs via the
   <code>android.icu</code> package, rather than <code>com.ibm.icu</code>. The
   Android framework may choose not to
-  expose ICU4J APIs for various reasons; for example, Android N does not expose
+  expose ICU4J APIs for various reasons; for example, Android does not expose
   some deprecated APIs or those that the ICU team have not yet declared as
   stable. As the ICU team deprecates APIs in the future, Android will also mark
   them as deprecated but will continue to include them.
 </p>
 
 <p class="table-caption"><strong>Table 1.</strong> ICU and CLDR versions used
-  in Android N.</p>
+  in Android].</p>
 <table>
 <tr>
 <th>Android API level</th>
@@ -69,7 +71,7 @@
 <th>CLDR version</th>
 </tr>
 <tr>
-<td>Android N</td>
+<td>Android 7.0 (API level 24)</td>
 <td>56</td>
 <td>28</td>
 </tr>
diff --git a/docs/html/preview/features/multilingual-support.jd b/docs/html/guide/topics/resources/multilingual-support.jd
similarity index 62%
rename from docs/html/preview/features/multilingual-support.jd
rename to docs/html/guide/topics/resources/multilingual-support.jd
index ff21b52..8d8484b 100644
--- a/docs/html/preview/features/multilingual-support.jd
+++ b/docs/html/guide/topics/resources/multilingual-support.jd
@@ -18,25 +18,21 @@
 </div>
 </div>
 
-<p>Android N provides enhanced support for multilingual users,
-allowing them to select multiple locales in settings. Android N
+<p>Starting in Android 7.0 (API level 24),
+Android provides enhanced support for multilingual users,
+allowing them to select multiple locales in settings. Android
 provides this capability by greatly expanding the number of locales supported
-and changing the way the system resolves resources. The new method of resolving
-resources is more robust and designed to be compatible with existing APKs, but
-you should take extra care to spot any unexpected behavior. For example, you
-should test to make sure that your app defaults to the expected language. Also,
-if your app supports multiple languages, you should ensure that this support works as
-intended. Finally, you should try to ensure that your app gracefully handles
-languages that you didn't explicitly design it to support.</p>
+and changing the way the system resolves resources.</p>
 
-<p>This document starts by explaining the resource resolution strategy prior to
-Android N. Next, it describes Android N's improved
-resource-resolution strategy. Last, it explains how to take advantage of
+<p>This document starts by explaining the resource resolution strategy in
+versions of Android lower than 7.0 (API level 24). Next, it describes
+the improved resource-resolution strategy in Android 7.0.
+Last, it explains how to take advantage of
 the expanded number of locales to support more multilingual users.</p>
 
 <h2 id="preN">Challenges in Resolving Language Resources</h2>
 
-<p>Prior to Android N, Android could not always successfully
+<p>Prior to Android 7.0, Android could not always successfully
  match app and system locales.</p>
 
  <p>For example, assume that you have the following situation:</p>
@@ -88,15 +84,17 @@
 
 <p>In this example, the system displays English strings without
 knowing whether the user can understand English. This behavior is pretty common
-today. Android N should substantially reduce the frequency
-of outcomes like this one.</p>
+today.</p>
 
 <h2 id="postN">Improvements to Resource-Resolution Strategy</h2>
-<p>Android N brings more robust resource resolution, and
-finds better fallbacks automatically. However, to speed up resolution and improve
+<p>Android 7.0 (API level 24) brings more robust resource resolution, and
+ finds better fallbacks automatically. However, to speed up resolution and
+ improve
  maintainability, you should store resources in the most common parent dialect.
- For example, if you were storing Spanish resources in the {@code es-US} directory
- before, move them into the {@code es-419} directory, which contains Latin American Spanish.
+ For example, if you were storing Spanish resources in the {@code es-US}
+ directory
+ before, move them into the {@code es-419} directory, which contains Latin
+ American Spanish.
  Similarly, if you have resource strings in a folder named {@code en-GB}, rename
  the folder to {@code en-001} (international English), because the most common
  parent for <code>en-GB</code> strings is {@code en-001}.
@@ -105,8 +103,8 @@
 
 <h3>Resource resolution examples</h3>
 
-<p>With Android N, the case described in <strong>Table 1</strong> is resolved
-differently:</p>
+<p>With versions of Android greater than 7.0, the case described in
+	<strong>Table 1</strong> is resolved differently:</p>
 
 <p class="table-caption" id="t-improved-res">
 <strong>Table 2.</strong> An improved resolution strategy for when there is no
@@ -142,7 +140,8 @@
 
 <p>Now the user gets French resources instead of English. This example also shows
  why you should store French strings in {@code fr} rather than {@code fr_FR}
- for Android N. Here the course of action is to match the closest parent dialect,
+ for Android 7.0 or higher. Here the course of action is
+ to match the closest parent dialect,
  making resolution faster and more predictable.</p>
 
 <p>In addition to this improved resolution logic, Android now offers more
@@ -184,38 +183,48 @@
 </tr>
 
 </table>
-<p>The user still gets a language they understand, even though the app doesn’t
-support French.</p>
+<p>
+  The user still gets a language they understand, even though the app doesn’t
+  support French.
+</p>
 
 
 <h2 id="design">Designing your App to Support Additional Locales</h2>
 <h3>LocaleList API</h3>
 
-<p>Android N adds a new API {@code LocaleList.getDefault()}
-that lets apps directly query the list of languages a user has specified. This API
-allows you to create more sophisticated
- app behavior and better-optimized display of content. For example, Search
+<p>
+  Starting with Android 7.0 (API level 24), Android exposes the
+  {@code LocaleList.getDefault()} API
+  that lets apps directly query the list of languages a user has specified. This API
+  allows you to create more sophisticated
+  app behavior and better-optimized display of content. For example, Search
   can show results in multiple languages based on user’s settings.  Browser apps
   can avoid offering to translate pages in a language the user already knows,
-  and keyboard apps can auto-enable all appropriate layouts. </p>
+  and keyboard apps can auto-enable all appropriate layouts.
+</p>
 
 <h3>Formatters</h3>
 
-<p>Up through Android 6.0 (API level 23), Android supported only one or two locales
- for many common languages
-(en, es, ar, fr, ru). Because there were only a few variants of each language,
-apps could get away with storing some numbers and dates as hard coded strings
-in resource files.  However, with Android's broadened set of supported locales,
-there can be
-significant differences in formats for dates, times, currencies, and similar
-information even within a single locale. Hard-coding your formats can produce a
-confusing experience for end users.  Therefore, when developing for Android N
-make sure to use formatters instead of hard coding numbers and date strings.</p>
+<p>
+  Up through Android 6.0 (API level 23), Android supported only one or
+  two locales
+  for many common languages
+  (en, es, ar, fr, ru). Because there were only a few variants of each language,
+  apps could get away with storing some numbers and dates as hard coded strings
+  in resource files.  However, with Android's broadened set of supported
+  locales, there can be
+  significant differences in formats for dates, times, currencies, and similar
+  information even within a single locale. Hard-coding your formats can produce
+  a confusing experience for end users.
+  Therefore, when developing for Android 7.0 or higher versions,
+  make sure to use formatters instead of hard coding numbers and date strings.</p>
 
-<p>A prime example is Arabic, whose support Android N expands from
-one {@code ar_EG} to 27 Arabic locales. These locales can share most resources,
-but some prefer ASCII digits, while others prefer native digits. For example,
-when you want to create a sentence with a digit variable, such as
-"Choose a 4 digit pin", use formatters as shown below:</p>
+<p>
+  For example, Android 7.0 and higher includes support for
+  27 Arabic locales. These locales can share most resources,
+  but some prefer ASCII digits, while others prefer native digits. For example,
+  when you want to create a sentence with a digit variable, such as
+  "Choose a 4 digit pin", use formatters as shown below:
+</p>
 
 <pre> format(locale, "Choose a %d-digit PIN", 4)</pre>
diff --git a/docs/html/guide/topics/resources/runtime-changes.jd b/docs/html/guide/topics/resources/runtime-changes.jd
index 2e6f9b7..3444e16 100644
--- a/docs/html/guide/topics/resources/runtime-changes.jd
+++ b/docs/html/guide/topics/resources/runtime-changes.jd
@@ -17,6 +17,8 @@
     <li><a href="accessing-resources.html">Accessing Resources</a></li>
     <li><a href="http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html">Faster
         Screen Orientation Change</a></li>
+    <li><a href="{@docRoot}guide/topics/ui/multi-window.html#lifecycle">
+      Multi-Window Lifecycle</a></li>
   </ol>
 </div>
 </div>
diff --git a/docs/html/preview/features/multi-window.jd b/docs/html/guide/topics/ui/multi-window.jd
similarity index 77%
rename from docs/html/preview/features/multi-window.jd
rename to docs/html/guide/topics/ui/multi-window.jd
index ca5bd0d..704391f 100644
--- a/docs/html/preview/features/multi-window.jd
+++ b/docs/html/guide/topics/ui/multi-window.jd
@@ -17,6 +17,8 @@
       </ol>
     <h2>See Also</h2>
       <ol>
+        <li><a href="{@docRoot}training/tv/playback/picture-in-picture.html">Adding
+          Picture-in-Picture</a></li>
         <li><a class="external-link"
           href="https://github.com/googlesamples/android-MultiWindowPlayground">Multi-Window
           Playground sample app</a></li>
@@ -28,7 +30,7 @@
 </div>
 
 <p>
-  Android N adds support for displaying more than one app at the
+  Android 7.0 adds support for displaying more than one app at the
   same time. On handheld devices, two apps can run side-by-side or
   one-above-the-other in <em>split-screen</em> mode. On TV devices, apps can
   use <em>picture-in-picture</em> mode to continue video playback while users
@@ -36,7 +38,7 @@
 </p>
 
 <p>
-  If you build your app with the N Preview SDK, you can configure how your app
+  If your app targets Android 7.0 (API level 24) or higher, you can configure how your app
   handles multi-window display. For example, you can specify your activity's
   minimum allowable dimensions. You can also disable multi-window display for
   your app, ensuring that the system only shows your app in full-screen
@@ -46,20 +48,20 @@
 <h2 id="overview">Overview</h2>
 
 <p>
-  Android N allows several apps to share the screen at once. For
+  Android 7.0 allows several apps to share the screen at once. For
   example, a user could split the screen, viewing a web page on the left side
   while composing an email on the right side. The user experience depends on
   the device:
 </p>
 
 <ul>
-  <li>Handheld devices running Android N offer split-screen
+  <li>Handheld devices running Android 7.0 offer split-screen
   mode. In this mode, the system fills the screen with two apps, showing them
   either side-by-side or one-above-the-other. The user can drag the dividing
   line separating the two to make one app larger and the other smaller.
   </li>
 
-  <li>On Nexus Player running Android N, apps can put themselves
+  <li>On TV devices, apps can put themselves
   in <a href="picture-in-picture.html">picture-in-picture mode</a>, allowing
   them to continue showing content while the user browses or interacts with
   other apps.
@@ -72,9 +74,9 @@
   </li>
 </ul>
 
-<img src="{@docRoot}preview/images/mw-splitscreen.png" alt="" width="650"
-    srcset="{@docRoot}preview/images/mw-splitscreen.png 1x,
-    {@docRoot}preview/images/mw-splitscreen_2x.png 2x,"
+<img src="{@docRoot}images/android-7.0/mw-splitscreen.png" alt="" width="650"
+    srcset="{@docRoot}images/android-7.0/mw-splitscreen.png 1x,
+    {@docRoot}images/android-7.0/mw-splitscreen_2x.png 2x,"
     id="img-split-screen" />
 <p class="img-caption">
   <strong>Figure 1.</strong> Two apps running side-by-side in split-screen mode.
@@ -100,9 +102,7 @@
 <p>
   Users can <a href="{@docRoot}guide/topics/ui/drag-drop.html">drag and
   drop</a> data from one activity to another while the activities are sharing
-  the screen. (Previously, users could only drag and drop data within a single
-  activity.)
-</p>
+  the screen.
 
 <h2 id="lifecycle">Multi-Window Lifecycle</h2>
 
@@ -163,7 +163,7 @@
 <h2 id="configuring">Configuring Your App for Multi-Window Mode</h2>
 
 <p>
-  If your app targets Android N, you can configure how and
+  If your app targets API level 24 or higher, you can configure how and
   whether your app's activities support multi-window display. You can set
   attributes in your manifest to control both size and layout.
   A root activity's attribute settings apply to all activities
@@ -173,8 +173,8 @@
 </p>
 
 <p class="note">
-  <strong>Note:</strong> If you build a multi-orientation app with a version of the
-  SDK lower than Android N, and the user uses the app in
+  <strong>Note:</strong> If you build a multi-orientation app that targets API
+  level 23 or lower, and the user uses the app in
   multi-window mode, the system forcibly resizes the app. The system presents a
   dialog box warning the user that the app may behave unexpectedly. The system
   does <em>not</em> resize fixed-orientation apps; if
@@ -183,10 +183,13 @@
 </p>
 
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
+
 <p>
-  Set this attribute in your manifest's <code>&lt;activity&gt;</code> or
-  <code>&lt;application&gt;</code> node to enable or disable multi-window
-  display:
+  Set this attribute in your manifest's <a href=
+  "{@docRoot}guide/topics/manifest/activity-element"><code>&lt;activity&gt;</code></a>
+  or <a href=
+  "{@docRoot}guide/topics/manifest/application-element"><code>&lt;application&gt;</code></a>
+  element to enable or disable multi-window display:
 </p>
 
 <pre>
@@ -202,16 +205,19 @@
 </p>
 
 <p>
-  If your app targets Android N, but you do not specify a value
+  If your app targets API level 24, but you do not specify a value
   for this attribute, the attribute's value defaults to true.
 </p>
 
 <h4 id="supportsPictureInPicture">android:supportsPictureInPicture</h4>
 
 <p>
-  Set this attribute in your manifest's <code>&lt;activity&gt;</code> node to
-  indicate whether the activity supports picture-in-picture display. This
-  attribute is ignored if <code>android:resizeableActivity</code> is false.
+  Set this attribute in your manifest's <a href=
+  "{@docRoot}guide/topics/manifest/activity-element"><code>&lt;activity&gt;</code></a>
+  node to indicate whether the activity supports <a href=
+  "{@docRoot}training/tv/playback/picture-in-picture.jd">Picture-in-Picture</a>
+  display. This attribute is ignored if <code>android:resizeableActivity</code>
+  is false.
 </p>
 
 <pre>
@@ -221,7 +227,7 @@
 <h3 id="layout">Layout attributes</h3>
 
 <p>
-  With Android N, the <code>&lt;layout&gt;</code> manifest element
+  With Android 7.0, the <code>&lt;layout&gt;</code> manifest element
   supports several attributes that affect how an activity behaves in
   multi-window mode:
 </p>
@@ -283,8 +289,8 @@
 <h2 id="running">Running Your App in Multi-Window Mode</h2>
 
 <p>
-  Android N offers new functionality to support apps that can run
-  in multi-window mode.
+  Beginning with Android 7.0, the system offers functionality to support apps
+  that can run in multi-window mode.
 </p>
 
 <h3 id="disabled-features">Disabled features in multi-window mode</h3>
@@ -309,15 +315,13 @@
 <h3 id="change-notification">Multi-window change notification and querying</h3>
 
 <p>
-  The following new methods have been added to the {@link android.app.Activity}
-  class to support multi-window display. For details on each method, see the
-  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
-  Reference</a>.
+  {@link android.app.Activity} offers the following methods to support
+  multi-window display.
 </p>
 
 <dl>
   <dt>
-    <code>Activity.isInMultiWindowMode()</code>
+    {@link android.app.Activity#isInMultiWindowMode isInMultiWindowMode()}
   </dt>
 
   <dd>
@@ -325,12 +329,14 @@
   </dd>
 
   <dt>
-    <code>Activity.isInPictureInPictureMode()</code>
+    {@link android.app.Activity#isInPictureInPictureMode
+    isInPictureInPictureMode()}
   </dt>
 
   <dd>
-    Call to find out if the activity is in picture-in-picture mode.
-
+    Call to find out if the activity is in <a href=
+    "{@docRoot}training/tv/playback/picture-in-picture.jd">picture-in-picture</a>
+    mode.
     <p class="note">
       <strong>Note:</strong> Picture-in-picture mode is a special case of
       multi-window mode. If <code>myActivity.isInPictureInPictureMode()</code>
@@ -340,7 +346,8 @@
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowModeChanged()</code>
+    {@link android.app.Activity#onMultiWindowModeChanged
+    onMultiWindowModeChanged()}
   </dt>
 
   <dd>
@@ -351,7 +358,8 @@
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureModeChanged()</code>
+    {@link android.app.Activity#onPictureInPictureModeChanged
+    onPictureInPictureModeChanged()}
   </dt>
 
   <dd>
@@ -363,17 +371,21 @@
 </dl>
 
 <p>
-  There are also {@link android.app.Fragment} versions of each of these
-  methods, for example <code>Fragment.isInMultiWindowMode()</code>.
+  The {@link android.app.Fragment} class exposes versions of many of these
+  methods, for example {@link android.app.Fragment#onMultiWindowModeChanged
+  Fragment.onMultiWindowModeChanged()}.
 </p>
 
 <h3 id="entering-pip">Entering picture-in-picture mode</h3>
 
 <p>
-  To put an activity in picture-in-picture mode, call the new method
-  <code>Activity.enterPictureInPictureMode()</code>. This method has no effect if
-  the device does not support picture-in-picture mode. For more information,
-  see the <a href="picture-in-picture.html">Picture-in-Picture</a> documentation.
+  To put an activity in picture-in-picture mode, call {@link
+  android.app.Activity#enterPictureInPictureMode
+  Activity.enterPictureInPictureMode()}. This method has no effect if the
+  device does not support picture-in-picture mode. For more information, see
+  the <a href=
+  "{@docRoot}training/tv/playback/picture-in-picture.jd">Picture-in-Picture</a>
+  documentation.
 </p>
 
 <h3 id="launch">Launch New Activities in Multi-Window Mode</h3>
@@ -381,8 +393,8 @@
 <p>
   When you launch a new activity, you can hint to the system that the new
   activity should be displayed adjacent to the current one, if possible. To do
-  this, use the flag
-  <code>Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT</code>. Passing
+  this, use the intent flag
+  {@link android.content.Intent#FLAG_ACTIVITY_LAUNCH_ADJACENT}. Passing
   this flag requests the following behavior:
 </p>
 
@@ -400,7 +412,8 @@
 <p>
   If a device is in freeform mode and you are launching a new activity, you can
   specify the new activity's dimensions and screen location by calling
-  <code>ActivityOptions.setLaunchBounds()</code>. This method has no effect if
+  {@link android.app.ActivityOptions#setLaunchBounds
+  ActivityOptions.setLaunchBounds()}. This method has no effect if
   the device is not in multi-window mode.
 </p>
 
@@ -416,22 +429,15 @@
 <p>
   Users can <a href="{@docRoot}guide/topics/ui/drag-drop.html">drag and
   drop</a> data from one activity to another while the two activities are
-  sharing the screen. (Previously, users could only drag and drop data within a
-  single activity.) For this reason, you may want to add drag and drop
+  sharing the screen. (Prior to Android 7.0, users could only drag and drop data
+  within a single activity.) For this reason, you may want to add drag and drop
   functionality to your app if your app does not currently support it.
 </p>
 
-<p>
-  The N Preview SDK extends the <a href=
-  "{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a>
-  package to support cross-app drag and drop. For details on the following
-  classes and methods, see the <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N
-  Preview SDK Reference</a>.
-</p>
 
 <dl>
   <dt>
-    <code>android.view.DropPermissions</code>
+    {@link android.view.DragAndDropPermissions}
   </dt>
 
   <dd>
@@ -440,20 +446,20 @@
   </dd>
 
   <dt>
-    <code>View.startDragAndDrop()</code>
+    {@link android.view.View#startDragAndDrop View.startDragAndDrop()}
   </dt>
 
   <dd>
-    New alias for {@link android.view.View#startDrag View.startDrag()}. To
-    enable cross-activity drag and drop, pass the new flag
-    <code>View.DRAG_FLAG_GLOBAL</code>. If you need to give URI permissions to
-    the recipient activity, pass the new flags
-    <code>View.DRAG_FLAG_GLOBAL_URI_READ</code> or
-    <code>View.DRAG_FLAG_GLOBAL_URI_WRITE</code>, as appropriate.
+    Alias for {@link android.view.View#startDrag View.startDrag()}. To enable
+    cross-activity drag and drop, pass the flag {@link
+    android.view.View#DRAG_FLAG_GLOBAL}. If you need to give URI permissions to
+    the recipient activity, pass the flags {@link
+    android.view.View#DRAG_FLAG_GLOBAL_URI_READ} or {@link
+    android.view.View#DRAG_FLAG_GLOBAL_URI_WRITE}, as appropriate.
   </dd>
 
   <dt>
-    <code>View.cancelDragAndDrop()</code>
+    {@link android.view.View#cancelDragAndDrop View.cancelDragAndDrop()}
   </dt>
 
   <dd>
@@ -462,7 +468,7 @@
   </dd>
 
   <dt>
-    <code>View.updateDragShadow()</code>
+    {@link android.view.View#updateDragShadow View.updateDragShadow()}
   </dt>
 
   <dd>
@@ -471,7 +477,8 @@
   </dd>
 
   <dt>
-    <code>Activity.requestDragAndDropPermissions()</code>
+    {@link android.app.Activity#requestDragAndDropPermissions
+    Activity.requestDragAndDropPermissions()}
   </dt>
 
   <dd>
@@ -483,29 +490,29 @@
 <h2 id="testing">Testing Your App's Multi-Window Support</h2>
 
 <p>
-  Whether or not you update your app for Android N, you should
+  Whether or not your app targets API level 24 or higher, you should
   verify how it behaves in multi-window mode in case a user tries to launch it
-  in multiwindow mode on a device running Android N.
+  in multi-window mode on a device running Android 7.0 or higher.
 </p>
 
 <h3 id="configuring">Configuring a Test Device</h3>
 
 <p>
-  If you install Android N on a device, split-screen mode is
-  automatically supported.
+  If a device runs Android 7.0 or higher, it automatically supports split-screen
+  mode.
 </p>
 
-<h3 id="test-non-n">If your app was not built with the N Preview SDK</h3>
+<h3 id="test-non-n">If your app targets API level 23 or lower</h3>
 
 <p>
-  If you did not build your app with the N Preview SDK and the user attempts to use
-  the app in multi-window mode, the system forcibly resizes the app unless the app
-  declares a fixed orientation.
+  If your app targets API level 23 or lower and the user attempts to use
+  the app in multi-window mode, the system forcibly resizes the app unless the
+  app declares a fixed orientation.
 </p>
 
 <p>
   If your app does not declare a fixed orientation, you should launch your app
-  on a device running Android N and attempt to put the app in
+  on a device running Android 7.0 or higher and attempt to put the app in
   split-screen mode. Verify that the user experience is
   acceptable when the app is forcibly resized.
 </p>
@@ -519,7 +526,7 @@
 <h3 id="test-mw">If you support multi-window mode</h3>
 
 <p>
-  If you built your app with the N Preview SDK and have not disabled
+  If your app targets API level 24 or higher and does not disable
   multi-window support, verify the following behavior under both split-screen
   and freeform modes.
 </p>
@@ -593,7 +600,7 @@
 <p>
   If you disabled multi-window support by setting
   <code>android:resizableActivity="false"</code>, you should launch your app on
-  a device running Android N and attempt to put the app in
+  a device running Android 7.0 or higher and attempt to put the app in
   freeform and split-screen modes. Verify that when you do so, the app remains
   in full-screen mode.
 </p>
diff --git a/docs/html/guide/topics/ui/notifiers/notifications.jd b/docs/html/guide/topics/ui/notifiers/notifications.jd
index 6cd63f3..205da73 100644
--- a/docs/html/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html/guide/topics/ui/notifiers/notifications.jd
@@ -21,6 +21,8 @@
     <ol>
       <li><a href="#Updating">Updating notifications</a></li>
       <li><a href="#Removing">Removing notifications</a></li>
+      <li><a href="#direct">Replying to notifications</a></li>
+      <li><a href="#bundle">Bundling notifications</a></li>
     </ol>
   </li>
   <li><a href="#NotificationResponse">Preserving Navigation when Starting an Activity</a>
@@ -37,12 +39,18 @@
   </li>
   <li><a href="#metadata">Notification Metadata</a></li>
   <li><a href="#Heads-up">Heads-up Notifications</a></li>
-  <li><a href="#lockscreenNotification">Lock Screen Notifications</a></li>
+  <li><a href="#lockscreenNotification">Lock Screen Notifications</a>
     <ol>
       <li><a href="#visibility">Setting Visibility</a></li>
       <li><a href="#controllingMedia">Controlling Media Playback on the Lock Screen</a></li>
     </ol>
-  <li><a href="#CustomNotification">Custom Notification Layouts</a></li>
+  </li>
+  <li><a href="#CustomNotification">Customizing Notifications</a>
+    <ol>
+      <li><a href="#custom">Custom Views</a></li>
+      <li><a href="#style">Messaging Style</a></li>
+    </ol>
+  </li>
 </ol>
 
     <h2>Key classes</h2>
@@ -394,6 +402,305 @@
         all of the notifications you previously issued.
     </li>
 </ul>
+
+<!--------------------------------------------------------------- -->
+<h2 id="direct">Replying to notifications</h2>
+
+<p>
+  Starting in Android 7.0 (API level 24),
+  users can respond directly to text messages or update task lists
+  from within the notification
+  dialog. On a handheld, the inline reply action appears as an additional
+  button
+  displayed in the notification. When a user replies via keyboard, the system
+  attaches the text response to the intent
+  you had specified for the notification action and sends the intent to your
+  handheld app.
+</p>
+
+<img id="fig-reply-button" src="{@docRoot}images/android-7.0/inline-reply.png"
+  srcset="{@docRoot}images/android-7.0/inline-reply.png 1x,
+  {@docRoot}images/android-7.0/inline-reply_2x.png 2x"
+  width="400">
+<p class="img-caption">
+  <strong>Figure 1.</strong> The <strong>Reply</strong> action button.
+</p>
+
+<h3>Adding inline reply actions</h3>
+
+<p>To create a notification action that supports direct reply:
+</p>
+
+<ol>
+<li>Create an instance of {@link android.support.v4.app.RemoteInput.Builder}
+  that you can add to your notification
+action. This class's constructor accepts a string that the system uses as the key
+ for the text input. Later, your handheld app uses that key to retrieve the text
+  of the input.
+
+<pre>
+// Key for the string that's delivered in the action's intent.
+private static final String KEY_TEXT_REPLY = "key_text_reply";
+String replyLabel = getResources().getString(R.string.reply_label);
+RemoteInput remoteInput = new RemoteInput.Builder(KEY_TEXT_REPLY)
+        .setLabel(replyLabel)
+        .build();
+</pre>
+</li>
+<li>Attach the {@link android.support.v4.app.RemoteInput}
+ object to an action using <code>addRemoteInput()</code>.
+
+<pre>
+// Create the reply action and add the remote input.
+Notification.Action action =
+        new Notification.Action.Builder(R.drawable.ic_reply_icon,
+                getString(R.string.label), replyPendingIntent)
+                .addRemoteInput(remoteInput)
+                .build();
+</pre>
+</li>
+
+<li>Apply the action to a notification and issue the notification.
+
+<pre>
+// Build the notification and add the action.
+Notification newMessageNotification =
+        new Notification.Builder(mContext)
+                .setSmallIcon(R.drawable.ic_message)
+                .setContentTitle(getString(R.string.title))
+                .setContentText(getString(R.string.content))
+                .addAction(action))
+                .build();
+
+// Issue the notification.
+NotificationManager notificationManager =
+        NotificationManager.from(mContext);
+notificationManager.notify(notificationId, newMessageNotification);
+
+</pre>
+</li>
+
+</ol>
+
+
+<p> The system prompts the user to input a response when they trigger the
+notification action. </p>
+
+<img id="fig-user-input" src="{@docRoot}images/android-7.0/inline-type-reply.png"
+    srcset="{@docRoot}images/android-7.0/inline-type-reply.png 1x,
+    {@docRoot}images/android-7.0/inline-type-reply_2x.png 2x"
+    width="300">
+<p class="img-caption">
+  <strong>Figure 2.</strong> The user inputs text from the notification shade.
+</p>
+
+<h3>
+  Retrieving user input from the inline reply
+</h3>
+
+<p>
+  To receive user input from the notification interface to the activity you
+  declared in the reply action's intent:
+</p>
+
+<ol>
+  <li>Call {@link android.support.v4.app.RemoteInput#getResultsFromIntent
+  getResultsFromIntent()} by passing the notification action’s intent as the
+  input parameter. This method returns a {@link android.os.Bundle} that
+  contains the text response.
+
+    <pre>
+Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
+</pre>
+  </li>
+
+  <li>Query the bundle using the result key (provided to the {@link
+  android.support.v4.app.RemoteInput.Builder} constructor). You can complete
+  this process and retrieve the input text by creating a method, as in the
+  following code snippet:
+
+    <pre>
+// Obtain the intent that started this activity by calling
+// Activity.getIntent() and pass it into this method to
+// get the associated string.
+
+private CharSequence getMessageText(Intent intent) {
+    Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
+    if (remoteInput != null) {
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
+    return null;
+ }
+</pre>
+  </li>
+
+  <li>Build and issue another notification, using the same notification ID that
+    you provided for the previous notification. The progress indicator
+    disappears from the notification interface to inform users of a successful
+    reply. When working with this new notification, use the context that gets
+    passed to the receiver's {@code onReceive()} method.
+
+    <pre>
+// Build a new notification, which informs the user that the system
+// handled their interaction with the previous notification.
+Notification repliedNotification =
+        new Notification.Builder(context)
+                .setSmallIcon(R.drawable.ic_message)
+                .setContentText(getString(R.string.replied))
+                .build();
+
+// Issue the new notification.
+NotificationManager notificationManager =
+        NotificationManager.from(context);
+notificationManager.notify(notificationId, repliedNotification);
+</pre>
+  </li>
+</ol>
+
+<p>
+  For interactive apps, such as chats, you can include additional
+  context when handling retrieved text. For example, these apps could show
+  multiple lines of chat history. When the user responds via {@link
+  android.support.v4.app.RemoteInput}, you can update the reply history
+  using the {@code setRemoteInputHistory()} method.
+</p>
+
+<p>
+  The notification must be either updated or cancelled after the app has
+  received remote input. When the user replies to a remote update
+  using Direct Reply,
+  do not cancel the notification. Instead, update the notification
+  to display the user's reply.
+  For notifications using {@code MessagingStyle}, you should add
+  the reply as the latest message. When using other templates, you can
+  append the user's reply to the remote-input history.
+</p>
+
+<!-------------------------------------------------------------------------- -->
+
+<h2 id="bundle">Bundling notifications</h2>
+
+<p>
+  Starting in Android 7.0 (API level 24),
+  Android provides developers with a new way to represent
+  a queue of notifications: <i>bundled notifications</i>. This is similar to the
+  <a href="{@docRoot}training/wearables/notifications/stacks.html">Notification
+  Stacks</a> feature in Android Wear. For example, if your app
+  creates notifications
+  for received messages, when more than one message is received, bundle the
+  notifications together as a single group. You can
+  use the {@link android.support.v4.app.NotificationCompat.Builder#setGroup
+  Builder.setGroup()} method to bundle similar notifications.</p>
+
+<p>
+  A notification group imposes a hierarchy on the notifications comprising it.
+  At the top of that hierarchy is a parent notification that displays summary
+  information for the group. The user can progressively
+  expand the notification group, and the system shows more information as the
+  user drills deeper. When the user expands the bundle, the system reveals more
+  information for all its child notifications; when the user
+  expands one of those notifications, the system reveals its entire content.
+</p>
+
+<img id="fig-bundles" src="{@docRoot}images/android-7.0/bundles.png"
+  srcset="{@docRoot}images/android-7.0/bundles.png 1x,
+          {@docRoot}images/android-7.0/bundles_2x.png 2x"
+  width="300">
+<p class="img-caption">
+  <strong>Figure 3.</strong> The user can progressively expand the notification
+  group.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> If the same app sends four or more notifications
+  and does not specify a grouping, the
+  system automatically groups them together.
+</p>
+
+<p>To learn how to add notifications to a group, see
+<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Add
+Each Notification to a Group</a>.</p>
+
+
+<h3 id="best-practices">Best practices for bundled notifications</h3>
+<p>This section provides guidelines about when to use notification groups instead
+of the {@link android.app.Notification.InboxStyle InboxStyle}
+notifications available in Android 6.0 and previous versions.</p>
+
+<h3>When to use bundled notifications</h3>
+
+<p>You should use notification groups only if all of the following conditions are
+true for your use case:</p>
+
+<ul>
+  <li>The child notifications are complete notifications and can be displayed
+   individually without the need for a group summary.</li>
+  <li>There is a benefit to surfacing the child notifications individually. For
+  example:
+  </li>
+  <ul>
+    <li>They are actionable, with actions specific to each child.</li>
+    <li>There is more information to the child that the user wants to read.</li>
+  </ul>
+</ul>
+
+<p>Examples of good use cases for notification groups include: a messaging app
+displaying a list of incoming messages, or an email app displaying a list of
+received emails.</p>
+
+<p>
+Examples of cases where a single notification is preferable
+ include individual messages from a single person, or a list representation of
+ single-line text items. You can use
+({@link android.app.Notification.InboxStyle InboxStyle} or
+{@link android.app.Notification.BigTextStyle BigTextStyle}) to accomplish
+this.
+</p>
+
+<h3 id ="post">Displaying bundled notifications</h3>
+
+<p>
+  The app should always post a group summary, even if the group contains just a
+  single child. The system will suppress the summary and directly display the
+  child notification if it only contains a single notification. This ensures
+  that the system can provide a consistent experience when the user swipes away
+  children of a group.
+</p>
+
+<h3>Peeking notifications</h3>
+
+<p>While the system usually displays child notifications as a group, you can set
+ them to temporarily appear as
+ <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Heads-up">
+ heads-up notifications</a>. This feature is especially useful because it allows
+  immediate access to the most recent child and the actions associated with it.
+</p>
+
+
+<h3>Backwards compatibility</h3>
+
+<p>
+  Both notification groups and remote input have been a part of the {@link
+  android.app.Notification} API since Android 5.0 (API level 21) to support
+  Android Wear devices. If you've already built notifications with these APIs,
+  the only action you must take is to verify that the app behavior corresponds
+  to the guidelines described above, and to consider implementing {@code
+  setRemoteInputHistory()}.
+</p>
+
+<p>
+  In order to support backward compatibility, the same APIs are available with
+  the support library's {@link android.support.v4.app.NotificationCompat}
+  class, allowing you to build notifications that works on versions of Android
+  less than 5.0 (API level 21).
+  On handhelds and tablets, users only see the summary notification,
+  so an app should still have an inbox style or an equivalent notification
+  representative for the whole information content of the group. As Android
+  Wear devices allow users to see all child notifications even on older
+  platform levels, you should build child notifications regardless of API
+  level.
+</p>
+
 <!-- ------------------------------------------------------------------------------------------ -->
 <!-- ------------------------------------------------------------------------------------------ -->
 <h2 id="NotificationResponse">Preserving Navigation when Starting an Activity</h2>
@@ -886,35 +1193,38 @@
 
 <h3 id="controllingMedia">Controlling Media Playback on the Lock Screen</h3>
 
-<p>In Android 5.0 (API level 21) the lock screen no longer displays media controls
-based on the {@link android.media.RemoteControlClient}, which is now deprecated. Instead, use the
-{@link android.app.Notification.MediaStyle} template with the
-{@link android.app.Notification.Builder#addAction(android.app.Notification.Action) addAction()}
-method, which converts actions into clickable icons.</p>
+<p>
+  In Android 5.0 (API level 21) the lock screen no longer displays media
+  controls based on the {@link android.media.RemoteControlClient}, which is
+  now deprecated. Instead, use the {@link
+  android.support.v7.app.NotificationCompat.MediaStyle} template with the
+  {@link
+  android.support.v4.app.NotificationCompat.Builder#addAction(android.support.v4.app.NotificationCompat.Action)
+  addAction()} method, which converts actions into clickable icons.
+</p>
 
-<p class="note"><strong>Note:</strong> The template and the
-{@link android.app.Notification.Builder#addAction(android.app.Notification.Action) addAction()}
-method are not included in the support library, so these features run in Android 5.0 and higher
-only.</p>
-
-<p>To display media playback controls on the lock screen in Android 5.0, set the visibility
-to {@link android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}, as described above. Then add
-the actions and set the {@link android.app.Notification.MediaStyle} template, as described in the
-following sample code:</p>
+<p>
+  To display media playback controls on the lock screen in Android 5.0, set
+  the visibility to {@link
+  android.support.v4.app.NotificationCompat#VISIBILITY_PUBLIC}, as described
+  above. Then add the actions and set the {@link
+  android.support.v7.app.NotificationCompat.MediaStyle} template, as described
+  in the following sample code:
+</p>
 
 <pre>
-Notification notification = new Notification.Builder(context)
+Notification notification = new NotificationCompat.Builder(context)
     // Show controls on lock screen even when user hides sensitive content.
-    .setVisibility(Notification.VISIBILITY_PUBLIC)
+    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
     .setSmallIcon(R.drawable.ic_stat_player)
     // Add media control buttons that invoke intents in your media service
     .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0
     .addAction(R.drawable.ic_pause, "Pause", pausePendingIntent)  // #1
     .addAction(R.drawable.ic_next, "Next", nextPendingIntent)     // #2
     // Apply the media style template
-    .setStyle(new Notification.MediaStyle()
-    .setShowActionsInCompactView(1 /* #1: pause button */)
-    .setMediaSession(mMediaSession.getSessionToken())
+    .setStyle(new NotificationCompat.MediaStyle()
+        .setShowActionsInCompactView(1 /* #1: pause button */)
+        .setMediaSession(mMediaSession.getSessionToken()))
     .setContentTitle("Wonderful music")
     .setContentText("My Awesome Band")
     .setLargeIcon(albumArtBitmap)
@@ -984,3 +1294,69 @@
     standard notification layout text. If you use the same style in applications that target Android
     2.3 or higher, you'll ensure that your text is visible against the display background.
 </p>
+
+<!-- ------------------------------------------------------------------------ -->
+<h3 id="custom"> Custom Views</h3>
+<p>
+  Starting from Android 7.0 (API level 24),
+  you can customize notification views and
+  still obtain system decorations like notification headers, actions, and
+  expandable layouts.
+</p>
+
+<p>To enable this capability, Android provides the following APIs to style your
+  custom view:</p>
+
+<dl>
+<dt>
+{@code DecoratedCustomViewStyle()}</dt>
+<dd> Styles notifications other than media
+notifications.</dd>
+<dt>
+{@code DecoratedMediaCustomViewStyle()}</dt>
+<dd> Styles media notifications.</dd>
+</dl>
+
+<p>To use this API, call the {@code setStyle()} method, passing to it
+the desired custom view style.</p>
+
+<p>This snippet shows how to construct a custom notification object with the
+{@code DecoratedCustomViewStyle()} method.</p>
+
+<pre>
+Notification notification = new Notification.Builder()
+           .setSmallIcon(R.drawable.ic_stat_player)
+           .setLargeIcon(albumArtBitmap))
+           .setCustomContentView(contentView);
+           .setStyle(new Notification.DecoratedCustomViewStyle())
+           .build();
+
+</pre>
+
+<!-- ----------------------------------------------------------------------- -->
+
+<h3 id="style">Messaging Style</h3>
+<p>
+  Starting in Android 7.0 (API level 24),
+  Android provides an API for customizing the style of a notification.
+  Using the <code>MessagingStyle</code> class, you can change several of the
+  labels displayed on the notification, including the conversation title,
+  additional messages, and the content view for the notification.
+</p>
+
+<p>
+  The following code snippet demonstrates how to customize a notification's
+  style using the <code>MessagingStyle</code> class.
+</p>
+
+<pre>
+  Notification notification = new Notification.Builder()
+             .setStyle(new Notification.MessagingStyle("Me")
+                 .setConversationTitle("Team lunch")
+                 .addMessage("Hi", timestamp1, null) // Pass in null for user.
+                 .addMessage("What's up?", timestamp2, "Coworker")
+                 .addMessage("Not much", timestamp3, null)
+                 .addMessage("How about lunch?", timestamp4, "Coworker"))
+             .build();
+</pre>
+
diff --git a/docs/html/preview/images/bundles.png b/docs/html/images/android-7.0/bundles.png
similarity index 100%
rename from docs/html/preview/images/bundles.png
rename to docs/html/images/android-7.0/bundles.png
Binary files differ
diff --git a/docs/html/preview/images/bundles_2x.png b/docs/html/images/android-7.0/bundles_2x.png
similarity index 100%
rename from docs/html/preview/images/bundles_2x.png
rename to docs/html/images/android-7.0/bundles_2x.png
Binary files differ
diff --git a/docs/html/preview/images/inline-reply.png b/docs/html/images/android-7.0/inline-reply.png
similarity index 100%
rename from docs/html/preview/images/inline-reply.png
rename to docs/html/images/android-7.0/inline-reply.png
Binary files differ
diff --git a/docs/html/preview/images/inline-reply_2x.png b/docs/html/images/android-7.0/inline-reply_2x.png
similarity index 100%
rename from docs/html/preview/images/inline-reply_2x.png
rename to docs/html/images/android-7.0/inline-reply_2x.png
Binary files differ
diff --git a/docs/html/preview/images/inline-type-reply.png b/docs/html/images/android-7.0/inline-type-reply.png
similarity index 100%
rename from docs/html/preview/images/inline-type-reply.png
rename to docs/html/images/android-7.0/inline-type-reply.png
Binary files differ
diff --git a/docs/html/preview/images/inline-type-reply_2x.png b/docs/html/images/android-7.0/inline-type-reply_2x.png
similarity index 100%
rename from docs/html/preview/images/inline-type-reply_2x.png
rename to docs/html/images/android-7.0/inline-type-reply_2x.png
Binary files differ
diff --git a/docs/html/preview/images/notifications-1.png b/docs/html/images/android-7.0/notifications-1.png
similarity index 100%
rename from docs/html/preview/images/notifications-1.png
rename to docs/html/images/android-7.0/notifications-1.png
Binary files differ
diff --git a/docs/html/preview/images/notifications-2.png b/docs/html/images/android-7.0/notifications-2.png
similarity index 100%
rename from docs/html/preview/images/notifications-2.png
rename to docs/html/images/android-7.0/notifications-2.png
Binary files differ
diff --git a/docs/html/preview/images/notifications-3.png b/docs/html/images/android-7.0/notifications-3.png
similarity index 100%
rename from docs/html/preview/images/notifications-3.png
rename to docs/html/images/android-7.0/notifications-3.png
Binary files differ
diff --git a/docs/html/preview/images/notifications-card.png b/docs/html/images/android-7.0/notifications-card.png
similarity index 100%
rename from docs/html/preview/images/notifications-card.png
rename to docs/html/images/android-7.0/notifications-card.png
Binary files differ
diff --git a/docs/html/preview/images/pip-active.png b/docs/html/images/android-7.0/pip-active.png
similarity index 100%
rename from docs/html/preview/images/pip-active.png
rename to docs/html/images/android-7.0/pip-active.png
Binary files differ
diff --git a/docs/html/preview/images/pip-button.png b/docs/html/images/android-7.0/pip-button.png
similarity index 100%
rename from docs/html/preview/images/pip-button.png
rename to docs/html/images/android-7.0/pip-button.png
Binary files differ
diff --git a/docs/html/images/android-7.0/scoped-directory-access-dont-ask.png b/docs/html/images/android-7.0/scoped-directory-access-dont-ask.png
new file mode 100644
index 0000000..6682948
--- /dev/null
+++ b/docs/html/images/android-7.0/scoped-directory-access-dont-ask.png
Binary files differ
diff --git a/docs/html/images/android-7.0/scoped-directory-access-dont-ask_2x.png b/docs/html/images/android-7.0/scoped-directory-access-dont-ask_2x.png
new file mode 100644
index 0000000..be717f9
--- /dev/null
+++ b/docs/html/images/android-7.0/scoped-directory-access-dont-ask_2x.png
Binary files differ
diff --git a/docs/html/images/android-7.0/scoped-directory-access-framed.png b/docs/html/images/android-7.0/scoped-directory-access-framed.png
new file mode 100644
index 0000000..e4d619a
--- /dev/null
+++ b/docs/html/images/android-7.0/scoped-directory-access-framed.png
Binary files differ
diff --git a/docs/html/images/android-7.0/scoped-directory-access-framed_2x.png b/docs/html/images/android-7.0/scoped-directory-access-framed_2x.png
new file mode 100644
index 0000000..fe17bce
--- /dev/null
+++ b/docs/html/images/android-7.0/scoped-directory-access-framed_2x.png
Binary files differ
diff --git a/docs/html/preview/_book.yaml b/docs/html/preview/_book.yaml
index ad67249..a3458dd 100644
--- a/docs/html/preview/_book.yaml
+++ b/docs/html/preview/_book.yaml
@@ -262,27 +262,6 @@
       value: ICU4J Android 框架 API
     - name: zh-tw-lang
       value: ICU4J Android 架構 API
-  - title: Java 8 Language Features
-    path: /preview/j8-jack.html
-    path_attributes:
-    - name: es-lang
-      value: Funciones del lenguaje Java 8
-    - name: in-lang
-      value: Fitur Bahasa Java 8
-    - name: ja-lang
-      value: Java 8 の機能
-    - name: ko-lang
-      value: Java 8 언어 기능
-    - name: pt-br-lang
-      value: Recursos de linguagem do Java 8
-    - name: ru-lang
-      value: Возможности языка Java 8
-    - name: vi-lang
-      value: Tính năng của Ngôn ngữ Java 8
-    - name: zh-cn-lang
-      value: Java 8 语言功能
-    - name: zh-tw-lang
-      value: Java 8 語言功能
   - title: Android for Work Updates
     path: /preview/features/afw.html
   - title: Scoped Directory Access
diff --git a/docs/html/preview/features/afw.jd b/docs/html/preview/features/afw.jd
deleted file mode 100644
index 17cd58e..0000000
--- a/docs/html/preview/features/afw.jd
+++ /dev/null
@@ -1,555 +0,0 @@
-page.title=Android for Work Updates
-page.metaDescription=New Android for Work APIs and features in Android N.
-page.keywords="android for work", "android N", "enterprise", "QR code"
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>In this document</h2>
-      <ol>
-        <li><a href="#qr">QR Code Provisioning
-                </a></li>
-
-        <li><a href="#sec-challenge">Work Profile Security Challenge
-                </a></li>
-
-        <li><a href="#suspend">Disable Access to Apps
-                </a></li>
-
-        <li><a href="#toggle-work">Toggle Work Mode
-                </a></li>
-
-        <li><a href="#always-on-vpn">Always-On VPN
-                </a></li>
-
-        <li><a href="#contacts">Contacts Integration with Work Profile
-                </a></li>
-
-        <li><a href="#remote-reboot">Remote Reboot
-                </a></li>
-
-        <li><a href="#disable-roaming">Disable Data Roaming
-                </a></li>
-
-        <li><a href="#process-logging">Enterprise Process Logging
-                </a></li>
-
-        <li><a href="#bug-reports">Remote Bug Reports
-                </a></li>
-
-        <li><a href="#remove-cert">Remove a Client Certificate
-                </a></li>
-
-        <li><a href="#grant-cert-on-install">Grant Access to Client Certificate
-                on Installation</a></li>
-
-        <li><a href="#ui-policy">System UI Policy Transparency
-                </a></li>
-
-        <li><a href="#managed-configurations">Managed Configurations Enhancements
-                </a></li>
-
-        <li><a href="#location-off">Location Off Switch
-                </a></li>
-
-        <li><a href="#custom-provisioning">Customized Provisioning
-                </a></li>
-
-        <li><a href="#multi-wifi-ca">Multiple Wi-Fi CA Certificates
-                </a></li>
-
-        <li><a href="#custom-lock">Customized Lockscreen Message
-                </a></li>
-
-        <li><a href="#work-connectionservice">Work Profile ConnectionService
-                </a></li>
-
-        <li><a href="#lock-wp">Lock Down Wallpaper
-                </a></li>
-
-        <li><a href="#lock-user-icon">Lock Down User Icon
-                </a></li>
-
-        <li><a href="#health-monitoring">Device Health Monitoring
-                </a></li>
-
-      </ol>
-
-    <h2>See Also</h2>
-    <ul>
-      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
-            Reference</a></li>
-    </ul>
-  </div>
-</div>
-
-<p>This document describes the new Android for Work features provided in
-Android N.</p>
-
-<h2 id="qr">QR Code Provisioning</h2>
-
-<p>
-  Android for Work now supports using QR codes to provision corporate-liable
-  devices. The setup wizard now allows you to scan a QR code to provision
-  the device.
-</p>
-
-<h2 id="sec-challenge">Work Profile Security Challenge</h2>
-
-<p>
-  Profile owners can require users to specify a security challenge for apps
-  running in the work profile. The system shows the security challenge when the
-  user attempts to open any work apps. If the user successfully completes the
-  security challenge, the system unlocks the work profile and decrypts it if
-  necessary.
-</p>
-
-<p>
-  If a profile owner sends an {@link
-  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} intent, the
-  system prompts a user to set up a security challenge. The profile owner can
-  also send an <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> intent to
-  prompt the user to set a device lock.
-</p>
-
-<p>
-  Profile owners can choose to set the password policies for the work challenge
-  differently from the policies for other device passwords. For example, the
-  minimum length for the device challenge response can be different from the
-  length required for other passwords. Profile owners set the challenge
-  policies using the usual {@link android.app.admin.DevicePolicyManager}
-  methods, such as {@link
-  android.app.admin.DevicePolicyManager#setPasswordQuality
-  setPasswordQuality()} and {@link
-  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
-  setPasswordMinimumLength()}. The profile owner can also set the device lock,
-  by using the {@link android.app.admin.DevicePolicyManager} instance returned
-  by the new <code>DevicePolicyManager.getParentProfileInstance()</code>
-  method. Additionally, profile owners can customize the credentials screen for
-  the work challenge by using the {@link android.app.admin.DevicePolicyManager}
-  class's new <code>setOrganizationColor()</code> and
-  <code>setOrganizationName()</code> methods.
-</p>
-
-<p>
-  For details on the new methods and constants, see the
-  <code>DevicePolicyManager</code> reference page in the <a
-  href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK Reference</a>.
-</p>
-
-<h2 id="suspend">Disable Access to Apps</h2>
-
-<p>
-  Device owners and profile owners can temporarily suspend access to packages
-  by calling the new <code>DevicePolicyManager.setPackagesSuspended()</code>
-  method. Owners can use the same method to re-enable those packages.
-</p>
-
-<p>
-  While a package is suspended, it cannot start activities, notifications to
-  the package are suppressed, and the app's entry in the <a
-  href="{@docRoot}guide/components/recents.html">overview screen</a> is hidden.
-  Suspended packages do not show in the <a href=
-  "{@docRoot}guide/components/recents.html">overview screen</a>, and they
-  cannot show dialogs (including toasts and snackbars). They also cannot play
-  audio or vibrate the device.
-</p>
-
-<p>
-  Launchers should apply a distinctive UI to suspended apps to show that the
-  apps aren't currently available; for example, they might render the app icon
-  in gray. Launchers can find out if an app is suspended by calling the new
-  <code>DevicePolicyManager.getPackageSuspended()</code> method.
-</p>
-
-<h2 id="toggle-work">Toggle Work Mode</h2>
-
-<p>
-  On dual-profile devices, users can toggle work mode on and off. While work
-  mode is turned off, the managed profile is temporarily shut down. Work
-  profile apps, background sync, and notifications are all disabled, including
-  the profile owner app. While the work profile is disabled, the system
-  displays a persistent status icon to remind users that they can't launch work
-  apps. The system launcher indicates that work apps and widgets are not
-  accessible.
-</p>
-
-<h2 id="always-on-vpn">Always-On VPN</h2>
-
-<p>
-  Device owners and profile owners can require that work apps always connect to
-  the network through a specified VPN. If owners set this requirement, the
-  device automatically starts that VPN at boot time.
-</p>
-
-<p>
-  Owners can require use of a VPN by calling the new
-  <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> method. To find out
-  if the owner has set a VPN requirement, call the new
-  <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> method.
-</p>
-
-<p>
-  Because the system can directly bind VPN services without app interaction,
-  VPN clients need to handle new entry points for always-on VPN. As before, you
-  can find active services by using an intent filter that matches the action
-  {@link android.net.VpnService android.net.VpnService}.
-</p>
-
-<p>
-  Users can manually set an always-on VPN client that implement {@link
-  android.net.VpnService} by using the <strong>Settings &gt; More &gt;
-  VPN</strong> screen.
-</p>
-
-<h2 id="contacts">Contacts Integration with Work Profile</h2>
-
-<p>
-  Profile owners can allow local search and directory lookup of work contacts
-  from the primary user. For example, a user can access both personal and work
-  directory contacts from their personal dialer or contacts application (if
-  permitted by their profile administrator).
-</p>
-
-<p>
-  Developers that leverage the Contact Provider can use the Enterprise Contacts
-  API to access work profile directory entries from the primary user if allowed
-  by policy:
-</p>
-
-<ul>
-  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
-  </li>
-
-  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
-  </li>
-</ul>
-
-<p>
-  Profile owners can control the visibility of work contacts in the primary
-  user using the following new methods:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
-  </li>
-</ul>
-
-<h2 id="remote-reboot">Remote Reboot</h2>
-
-<p>
-  Device owners can remotely reboot devices. In some cases, devices deployed in
-  public places inside enclosures can prevent access to the power button. If a
-  device needs to be rebooted, administrators can do so using the new
-  <code>DevicePolicyManager.reboot()</code> method.
-</p>
-
-<h2 id="disable-roaming">Disable Data Roaming</h2>
-
-<p>
-  Device owners can disable data roaming using the new {@link
-  android.os.UserManager} user restriction <code>DISALLOW_DATA_ROAMING</code>.
-</p>
-
-<h2 id="process-logging">Enterprise Process Logging</h2>
-
-<p>
-  Device owners can identify suspicious activity by remotely tracking device
-  activity, including app launches, adb activity, and screen unlocks. Process
-  logs don’t require user consent. To retrieve logs, device owners enable
-  device logging using <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
-</p>
-
-<p>
-  API changes include:
-</p>
-
-<ul>
-
-  <li>
-    The new class <code>android.app.admin.SecurityLog</code> and its
-    methods
-  </li>
-
-  <li>
-    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrieveSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>List&lt;SecurityEvent&gt;
-      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
-  </li>
-
-  <li>
-    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
-  </li>
-</ul>
-
-<h2 id="bug-reports">Remote Bug Reports</h2>
-
-<p>
-  Device owners can remotely trigger and retrieve a bug report that contains a
-  device state dump file, which allows forensic investigation of a known
-  incident or compromised device. Due to the detailed nature of the bug report,
-  user consent is required.
-</p>
-
-<p>
-  Android N includes the following API additions to support this feature. For
-  details, see the <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
-  Reference</a>.
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.requestBugreport()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportFailed()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportShared()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
-  </li>
-
-  <li>
-    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
-  </li>
-</ul>
-
-<h2 id="remove-cert">Remove a Client Certificate</h2>
-
-<p>
-  Profile owners and device owners can now remove client certificates that were
-  installed through {@link android.app.admin.DevicePolicyManager#installKeyPair
-  installKeyPair()} by calling the new method
-  <code>DevicePolicyManager.removeKeyPair()</code>.
-</p>
-
-<h2 id="grant-cert-on-install">Grant Access to Client Certificate on
-  Installation</h2>
-
-<p>
-  If a profile owner or device owner grants a third-party app the ability to
-  manage certificates, the app can grant itself access to certificates it
-  installs without any intervention by the owner.
-</p>
-
-<p>
-  The existing API for managing certificates is extended to include:
-</p>
-
-<ul>
-  <li><code>DevicePolicyManager.installKeyPair()</code>
-  </li>
-</ul>
-
-<h2 id="ui-policy">System UI Policy Transparency</h2>
-
-<p>
-  Policies that affect the user experience or restrict user Settings are fully
-  disclosed to the user, and profile owners and device owners can attribute the
-  policy to their company’s IT department. In addition to a consistent “Action
-  not allowed” message in Settings, IT administrators can set an
-  organization-specific support message in device settings with the following
-  new {@link android.app.admin.DevicePolicyManager} methods:
-</p>
-
-<ul>
-  <li>
-    <code>DevicePolicyManager.setShortSupportMessage()</code>
-  </li>
-
-  <li>
-    <code>DevicePolicyManager.setLongSupportMessage()</code>
-  </li>
-</ul>
-
-<h2 id="managed-configurations">Managed Configurations Enhancements</h2>
-
-<p>
-  The device or profile owner can enable another application to manage
-  configurations via the new
-  <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
-  method. The nominated application can check whether this permission has been
-  granted by calling
-  <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
-</p>
-
-<p>
-  An application nominated to manage configurations can call {@link
-  android.app.admin.DevicePolicyManager#setApplicationRestrictions
-  setApplicationRestrictions()} and {@link
-  android.app.admin.DevicePolicyManager#getApplicationRestrictions
-  getApplicationRestrictions()} for any packages within that user or profile.
-</p>
-
-<h2 id="location-off">Location Off Switch</h2>
-
-<p>
-  Users can disable location permissions for work apps while continuing to
-  access location information in their personal apps. A separate location
-  access switch in Location Settings allows users to deny location updates or
-  last-location queries for apps running in the work profile.
-</p>
-
-<p>
-  The top level location off switch disables location access for both the
-  primary profile and the managed profile.
-</p>
-
-<h2 id="custom-provisioning">Customized Provisioning</h2>
-
-<p>
-  An application can customize the profile owner and device owner provisioning
-  flows with corporate colors and logos.
-</p>
-
-<dl>
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
-  </dt>
-
-  <dd>
-    Customizes flow color.
-  </dd>
-
-  <dt>
-    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
-  </dt>
-
-  <dd>
-    Customizes the flow with a corporate logo.
-  </dd>
-</dl>
-
-<h2 id="multi-wifi-ca">Multiple Wi-Fi CA Certificates</h2>
-
-<p>
-  Profile owners and device owners can set multiple CA certificates for a given
-  Wi-Fi configuration. When corporate Wi-Fi networks have separate CAs for
-  separate access points with the same SSID, IT administrators can include all
-  relevant CAs in the Wi-Fi configuration using the new method
-  <code>setCaCertificates()</code>.
-</p>
-
-<p>
-  APIs added are:
-</p>
-
-<ul>
-  <li>
-    <code>WifiEnterpriseConfig.setCaCertificates()</code>
-  </li>
-
-  <li>
-    <code>WifiEnterpriseConfig.getCaCertificates()</code>
-  </li>
-</ul>
-
-<h2 id="custom-lock">Customized Lockscreen Message</h2>
-
-<p>
-  Device owners can provide owner information to be shownon the lockscreen.
-  This information takes precedence over the user lock screen message (if one is
-  set). New {@link android.app.admin.DevicePolicyManager} methods are:
-</p>
-
-<ul>
-  <li>
-    <code>setDeviceOwnerLockScreenInfo()</code>
-  </li>
-
-  <li>
-    <code>getDeviceOwnerLockScreenInfo()</code>
-  </li>
-</ul>
-
-<h2 id="work-connectionservice">Work Profile ConnectionService</h2>
-
-<p>
-  Profile owners can specify a work dialer application that uses a
-  work-specific {@link android.telecom.ConnectionService} for the calling
-  backend (calling accounts). The work dialer maintains a work-only call log
-  and relies on work contacts only. Users have a consistent in-call UI
-  experience regardless of dialing application. Incoming work calls to the work
-  calling accounts are distinguished from personal incoming calls to the
-  personal calling accounts.
-</p>
-
-<p>
-  The dialer should check for the new flag
-  <code>android.telecom.Call.PROPERTY_ENTERPRISE_CALL</code> to determine if a call
-  is a work call. If a call is a work call, the dialer should indicate this,
-  such as by adding a work badge.
-</p>
-
-<h2 id="lock-wp">Lock Down Wallpaper</h2>
-
-<p>
-  A new user restriction (<code>DISALLOW_SET_WALLPAPER</code>) prevents the
-  user from changing their wallpaper. The device owner or profile owner can
-  still change the wallpaper, but they can only change the wallpaper for the
-  user or profile they control. For example, a profile owner can’t change the
-  wallpaper of the parent user, but a profile owner in the primary profile or
-  device owner can. A profile owner or device owner that wants to change the
-  wallpaper should check whether the the user or profile they manage has a
-  wallpaper ({@link android.app.WallpaperManager#isWallpaperSupported
-  isWallpaperSupported()}) and whether they are allowed to change it (with the
-  new method <code>WallpaperManager.isWallpaperSettingAllowed()</code>)
-</p>
-
-<h2 id="lock-user-icon">Lock Down User Icon</h2>
-
-<p>
-  A new user restriction (<code>DISALLOW_SET_USER_ICON</code>) prevents the
-  user from changing their user icon. The user’s device owner or profile owner
-  can still change the icon. However, a profile owner can only change the user
-  icon for the profile it controls.
-</p>
-
-<h2 id="health-monitoring">Device Health Monitoring</h2>
-
-<p>
-  A device owner or profile owner can use the new
-  <code>HardwarePropertiesManager</code> interface to retrieve information
-  about device health, such as CPU or GPU temperatures and CPU usage. The new
-  monitoring interface is especially useful for monitoring unattended devices
-  running in a remote location.
-</p>
diff --git a/docs/html/preview/features/notification-updates.jd b/docs/html/preview/features/notification-updates.jd
deleted file mode 100644
index fd65e12..0000000
--- a/docs/html/preview/features/notification-updates.jd
+++ /dev/null
@@ -1,400 +0,0 @@
-page.title=Notifications
-page.tags=notifications
-helpoutsWidget=true
-page.image=/preview/images/notifications-card.png
-
-trainingnavtop=true
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-
-<!-- table of contents -->
-<h2>This document includes</h2>
-<ol>
-  <li><a href="#direct">Direct Reply</a></li>
-  <li><a href="#bundle">Bundled Notifications</a></li>
-  <li><a href="#custom">Custom Views</a></li>
-  <li><a href="#style">Messaging Style</a></li>
-</ol>
-
-</div>
-</div>
-
-<p>Android N introduces several new APIs that allow apps to post
-notifications that are highly visible and interactive.</p>
-
-<p>Android N extends the existing {@link android.support.v4.app.RemoteInput}
-notification API to support inline replies on handsets. This feature allows users
- to quickly respond from the notification shade without visiting your app.</p>
-
-<p>
-  Android N also allows you to bundle similar notifications to
-  appear as a single notification. To make this possible, Android N uses the existing {@link
-  android.support.v4.app.NotificationCompat.Builder#setGroup
-  NotificationCompat.Builder.setGroup()} method. Users can expand each of the
-  notifications, and perform actions such as reply and dismiss on each of the
-  notifications, individually from the notification shade.
-</p>
-
-<p>Last, Android N also adds new APIs that allow you to leverage system
-decorations in your app’s customized notification views. These APIs help
-ensure that the notification views share a consistent presentation with
-standard templates.</p>
-
-<p>This document highlights some of the key changes that you should take into
- account when using the new notification features in your apps.</p>
-
-<h2 id="direct">Direct Reply</h2>
-
-<p>With the Direct Reply feature in Android N, users can quickly
-respond to text messages or update task lists directly within the notification
-interface. On a handheld, the inline reply action appears as an additional button
- attached to the notification. When a user replies via keyboard, the system attaches
-  the text response to the intent
-    you had specified for the notification action and sends the intent to your
-     handheld app.
-
-
-<img id="fig-reply-button" src="{@docRoot}preview/images/inline-reply.png"
-  srcset="{@docRoot}preview/images/inline-reply.png 1x,
-  {@docRoot}preview/images/inline-reply_2x.png 2x"
-  width="400">
-<p class="img-caption">
-  <strong>Figure 1.</strong> Android N adds the <strong>Reply</strong>
-  action button.
-</p>
-
-<h3>Adding inline reply actions</h3>
-
-<p>To create a notification action that supports direct reply:
-</p>
-
-<ol>
-<li>Create an instance of {@link android.support.v4.app.RemoteInput.Builder}
-  that you can add to your notification
-action. This class's constructor accepts a string that the system uses as the key
- for the text input. Later, your handheld app uses that key to retrieve the text
-  of the input.
-
-<pre>
-// Key for the string that's delivered in the action's intent.
-private static final String KEY_TEXT_REPLY = "key_text_reply";
-String replyLabel = getResources().getString(R.string.reply_label);
-RemoteInput remoteInput = new RemoteInput.Builder(KEY_TEXT_REPLY)
-        .setLabel(replyLabel)
-        .build();
-</pre>
-</li>
-<li>Attach the {@link android.support.v4.app.RemoteInput}
- object to an action using <code>addRemoteInput()</code>.
-
-<pre>
-// Create the reply action and add the remote input.
-Notification.Action action =
-        new Notification.Action.Builder(R.drawable.ic_reply_icon,
-                getString(R.string.label), replyPendingIntent)
-                .addRemoteInput(remoteInput)
-                .build();
-</pre>
-</li>
-
-<li>Apply the action to a notification and issue the notification.
-
-<pre>
-// Build the notification and add the action.
-Notification newMessageNotification =
-        new Notification.Builder(mContext)
-                .setSmallIcon(R.drawable.ic_message)
-                .setContentTitle(getString(R.string.title))
-                .setContentText(getString(R.string.content))
-                .addAction(action))
-                .build();
-
-// Issue the notification.
-NotificationManager notificationManager =
-        NotificationManager.from(mContext);
-notificationManager.notify(notificationId, newMessageNotification);
-
-</pre>
-</li>
-
-</ol>
-
-
-<p> The system prompts the user to input a response when they trigger the
-notification action. </p>
-
-<img id="fig-user-input" src="{@docRoot}preview/images/inline-type-reply.png"
-    srcset="{@docRoot}preview/images/inline-type-reply.png 1x,
-    {@docRoot}preview/images/inline-type-reply_2x.png 2x"
-    width="300">
-<p class="img-caption">
-  <strong>Figure 2.</strong> The user inputs text from the notification shade.
-</p>
-
-<h3>
-  Retrieving user input from the inline reply
-</h3>
-
-<p>
-  To receive user input from the notification interface to the activity you
-  declared in the reply action's intent:
-</p>
-
-<ol>
-  <li>Call {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()} by passing the notification action’s intent as the
-  input parameter. This method returns a {@link android.os.Bundle} that
-  contains the text response.
-
-    <pre>
-Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
-</pre>
-  </li>
-
-  <li>Query the bundle using the result key (provided to the {@link
-  android.support.v4.app.RemoteInput.Builder} constructor). You can complete
-  this process and retrieve the input text by creating a method, as in the
-  following code snippet:
-
-    <pre>
-// Obtain the intent that started this activity by calling
-// Activity.getIntent() and pass it into this method to
-// get the associated string.
-
-private CharSequence getMessageText(Intent intent) {
-    Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
-    if (remoteInput != null) {
-        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-    }
-    return null;
- }
-</pre>
-  </li>
-
-  <li>Build and issue another notification, using the same notification ID that
-    you provided for the previous notification. The progress indicator
-    disappears from the notification interface to inform users of a successful
-    reply. When working with this new notification, use the context that gets
-    passed to the receiver's {@code onReceive()} method.
-
-    <pre>
-// Build a new notification, which informs the user that the system
-// handled their interaction with the previous notification.
-Notification repliedNotification =
-        new Notification.Builder(context)
-                .setSmallIcon(R.drawable.ic_message)
-                .setContentText(getString(R.string.replied))
-                .build();
-
-// Issue the new notification.
-NotificationManager notificationManager =
-        NotificationManager.from(context);
-notificationManager.notify(notificationId, repliedNotification);
-</pre>
-  </li>
-</ol>
-
-<p>
-  For interactive apps, such as chats, it could be useful to include additional
-  context when handling retrieved text. For example, these apps could show
-  multiple lines of chat history. When the user responds via {@link
-  android.support.v4.app.RemoteInput}, you can update the reply history
-  using the {@code setRemoteInputHistory()} method.
-</p>
-
-<p>
-  The notification must be either updated or cancelled after the app has
-  received remote input. When the user replies to a remote update
-  using Direct Reply,
-  do not cancel the notification. Instead, update the notification to display the user's reply.
-For notifications using {@code MessagingStyle}, you should add
-the reply as the latest message. When using other templates, you can
-append the user's reply to the remote-input history.
-</p>
-
-<h2 id="bundle">Bundled Notifications</h2>
-
-<p>Android N provides developers with a new way to represent
- a queue of notifications: <i>bundled notifications</i>. This is similar to the
-  <a href="{@docRoot}training/wearables/notifications/stacks.html">Notification
-  Stacks</a> feature in Android Wear. For example, if your app creates notifications
-  for received messages, when more than one message is received, bundle the
- notifications together as a single group. You can
- use the existing {@link android.support.v4.app.NotificationCompat.Builder#setGroup
-Builder.setGroup()} method to bundle similar notifications.</p>
-
-<p>
-  A notification group imposes a hierarchy on the notifications comprising it.
-  At the top of that hierarchy is a parent notification that displays summary
-  information for the group. The user can progressively
-  expand the notification group, and the system shows more information as the
-  user drills deeper. When the user expands the bundle, the system reveals more
-  information for all its child notifications; when the user
-  expands one of those notifications, the system reveals its entire content.
-</p>
-
-<img id="fig-bundles" src="{@docRoot}preview/images/bundles.png"
-  srcset="{@docRoot}preview/images/bundles.png 1x,
-          {@docRoot}preview/images/bundles_2x.png 2x"
-  width="300">
-<p class="img-caption">
-  <strong>Figure 3.</strong> The user can progressively expand the notification
-  group.
-</p>
-
-<p class="note">
-  <strong>Note:</strong> If the same app sends four or more notifications
-  and does not specify a grouping, the
-  system automatically groups them together.
-</p>
-
-<p>To learn how to add notifications to a group, see
-<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Add
-Each Notification to a Group</a>.</p>
-
-
-<h3 id="best-practices">Best practices for bundled notifications</h3>
-<p>This section provides guidelines about when to use notification groups instead
-of the {@link android.app.Notification.InboxStyle InboxStyle}
-notifications that have been available in earlier versions of the
-Android platform.</p>
-
-<h3>When to use bundled notifications</h3>
-
-<p>You should use notification groups only if all of the following conditions are
-true for your use case:</p>
-
-<ul>
-  <li>The child notifications are complete notifications and can be displayed
-   individually without the need for a group summary.</li>
-  <li>There is a benefit to surfacing the child notifications individually. For
-  example:
-  </li>
-  <ul>
-    <li>They are actionable, with actions specific to each child.</li>
-    <li>There is more information to the child that the user wants to read.</li>
-  </ul>
-</ul>
-
-<p>Examples of good use cases for notification groups include: a messaging app
-displaying a list of incoming messages, or an email app displaying a list of
-received emails.</p>
-
-<p>
-Examples of cases where a single notification is preferable
- include individual messages from a single person, or a list representation of
- single-line text items. You can use
-({@link android.app.Notification.InboxStyle InboxStyle} or
-{@link android.app.Notification.BigTextStyle BigTextStyle}) to accomplish
-this.
-</p>
-
-<h3 id ="post">Displaying bundled notifications</h3>
-
-<p>
-  The app should always post a group summary, even if the group contains just a
-  single child. The system will suppress the summary and directly display the
-  child notification if it only contains a single notification. This ensures
-  that the system can provide a consistent experience when the user swipes away
-  children of a group.
-</p>
-
-<p class="note">
-  <strong>Note:</strong> This version of Android N does not yet
-  suppress the summary for notification groups containing a single child. This
-  functionality will be added in a later version of Android N.
-</p>
-
-<h3>Peeking notifications</h3>
-
-<p>While the system usually displays child notifications as a group, you can set
- them to temporarily appear as
- <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Heads-up">
- heads-up notifications</a>. This feature is especially useful because it allows
-  immediate access to the most recent child and the actions associated with it.
-</p>
-
-
-<h3>Backwards compatibility</h3>
-
-<p>
-  Both notification groups and remote input have been a part of the {@link
-  android.app.Notification} API since Android 5.0 (API level 21) to support
-  Android Wear devices. If you've already built notifications with these APIs,
-  the only action you must take is to verify that the app behavior corresponds
-  to the guidelines described above, and to consider implementing {@code
-  setRemoteInputHistory()}.
-</p>
-
-<p>
-  In order to support backward compatibility, the same APIs are available with
-  the support library's {@link android.support.v4.app.NotificationCompat}
-  class, allowing you to build notifications that works on earlier Android
-  versions. On handhelds and tablets, users only see the summary notification,
-  so an app should still have an inbox style or an equivalent notification
-  representative for the whole information content of the group. As Android
-  Wear devices allow users to see all child notifications even on older
-  platform levels, you should build child notifications regardless of API
-  level.
-</p>
-
-<h2 id="custom"> Custom Views</h2>
-<p>Starting from Android N, you can customize notification views and
-still obtain system decorations like notification headers, actions, and
-expandable layouts.</p>
-
-<p>To enable this capability, Android N adds the following APIs to style your
-  custom view:</p>
-
-<dl>
-<dt>
-{@code DecoratedCustomViewStyle()}</dt>
-<dd> Styles notifications other than media
-notifications.</dd>
-<dt>
-{@code DecoratedMediaCustomViewStyle()}</dt>
-<dd> Styles media notifications.</dd>
-</dl>
-
-<p>To use this new API, call the {@code setStyle()} method, passing to it
-the desired custom view style.</p>
-
-<p>This snippet shows how to construct a custom notification object with the
-{@code DecoratedCustomViewStyle()} method.</p>
-
-<pre>
-Notification notification = new Notification.Builder()
-           .setSmallIcon(R.drawable.ic_stat_player)
-           .setLargeIcon(albumArtBitmap))
-           .setCustomContentView(contentView);
-           .setStyle(new Notification.DecoratedCustomViewStyle())
-           .build();
-
-</pre>
-
-<h2 id="style">Messaging Style</h2>
-<p>
-  Android N introduces a new API for customizing the style of a notification.
-  Using the <code>MessagingStyle</code> class, you can change several of the
-  labels displayed on the notification, including the conversation title,
-  additional messages, and the content view for the notification.
-</p>
-
-<p>
-  The following code snippet demonstrates how to customize a notification's
-  style using the <code>MessagingStyle</code> class.
-</p>
-
-<pre>
-  Notification notification = new Notification.Builder()
-             .setStyle(new Notification.MessagingStyle("Me")
-                 .setConversationTitle("Team lunch")
-                 .addMessage("Hi", timestamp1, null) // Pass in null for user.
-                 .addMessage("What's up?", timestamp2, "Coworker")
-                 .addMessage("Not much", timestamp3, null)
-                 .addMessage("How about lunch?", timestamp4, "Coworker"))
-             .build();
-</pre>
diff --git a/docs/html/preview/features/tv-recording-api.jd b/docs/html/preview/features/tv-recording-api.jd
deleted file mode 100644
index 6619821..0000000
--- a/docs/html/preview/features/tv-recording-api.jd
+++ /dev/null
@@ -1,142 +0,0 @@
-page.title=TV Recording
-page.keywords=preview,sdk,tv,recording
-page.tags=androidn
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-  <h2>In this document</h2>
-  <ol>
-    <li><a href="#supporting">Indicating Support for Recording</a></li>
-    <li><a href="#recording">Recording a Session</a></li>
-    <li><a href="#errors">Handling Recording Errors</a></li>
-    <li><a href="#sessions">Managing Recorded Sessions</a></li>
-    <li><a href="#best">Best Practices</a></li>
-  </ol>
-</div>
-</div>
-
-<p>TV input services let the user pause and resume channel playback via
-time-shifting APIs. Android N expands on time-shifting
-by letting the user save multiple recorded sessions.</p>
-
-<p>Users can schedule recordings in advance, or start a recording as they watch
-a program. Once the system has saved a recording, the user can browse, manage,
-and play back the recording using the system TV app.</p>
-
-<p>If you want to provide recording functionality for your TV input service,
-you must indicate to the system that your app supports recording, implement
-the ability to record programs, handle and communicate any errors that occur
-during recording, and manage your recorded sessions.</p>
-
-<p class="note"><strong>Note:</strong> The Live Channels app does not yet
-provide a way for users to create or access recordings. Until changes are
-made to the Live Channels app, it may be difficult to fully test the recording
-experience for your TV input service.</p>
-
-<h2 id="supporting">Indicating Support for Recording</h2>
-
-<p>To tell the system that your TV input service supports recording, set
-the <code>android:canRecord</code> attribute in your service metadata XML file
-to <code>true</code>:
-</p>
-
-<pre>
-&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
-  <b>android:canRecord="true"</b>
-  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
-</pre>
-
-<p>For more information on the service metadata file, see
-<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declare Your TV Input
-Service in the Manifest</a>.
-</p>
-
-<p>Alternatively, you can indicate recording support in your code using
-these steps:</p>
-
-<ol>
-<li>In your <code>TvInputService.onCreate()</code> method, create a new
-<code>TvInputInfo</code> object using the <code>TvInputInfo.Builder</code>
-class.</li>
-<li>When creating the new <code>TvInputInfo</code> object, call
-<code>setCanRecord(true)</code> before calling <code>build()</code> to
-indicate your service supports recording.</li>
-<li>Register your <code>TvInputInfo</code> object with the system by calling
-<code>TvInputManager.updateTvInputInfo()</code>.</li>
-</ol>
-
-<h2 id="recording">Recording a Session</h2>
-
-<p>After your TV input service registers that it supports recording
-functionality, the system calls your
-<code>TvInputService.onCreateRecordingSession()</code> when it needs to access
-your app's recording implementation. Implement your own
-<code>TvInputService.RecordingSession</code> subclass and return it
-when the <code>onCreateRecordingSession()</code> callback
-fires. This subclass is responsible for switching to the correct channel data,
-recording the requested data, and communicating recording status and errors to
-the system.</p>
-
-<p>When the system calls <code>RecordingSession.onTune()</code>, passing in a
-channel URI, tune to the channel that the URI specifies. Notify the system that
-your app has tuned to the desired channel by calling <code>notifyTuned()</code>,
-or, if your app could not tune to the proper channel, call
-<code>notifyError()</code>.</p>
-
-<p>The system next invokes the <code>RecordingSession.onStartRecording()</code>
-callback. Your app must start recording immediately. When the system invokes
-this callback, it may provide a URI that contains information about the program
-that is about to be recorded. When the recording is done, you need to copy this
-data to the <code>RecordedPrograms</code> data table.</p>
-
-<p>Finally, the system calls <code>RecordingSession.onStopRecording()</code>.
-At this point, your app must stop recording immediately. You also need to
-create an entry in the <code>RecordedPrograms</code> table. This entry should
-include the recorded session data URI in the
-<code>RecordedPrograms.COLUMN_RECORDING_DATA_URI</code> column, and any program
-information that the system provided in the initial call to
-<code>onStartRecording()</code>.</p>
-
-<p>For more details on how to access the <code>RecordedPrograms</code> table
-see <a href="#sessions">Managing Recorded Sessions</a>.</p>
-
-<h2 id="errors">Handling Recording Errors</h2>
-
-<p>If an error occurs during recording, rendering the recorded data unusable,
-notify the system by calling <code>RecordingSession.notifyError()</code>.
-Similarly, you can call <code>notifyError()</code> after a recording session is
-created to let the system know that your app can no longer record sessions.</p>
-
-<p>If an error occurs during recording, but you'd like to provide a usable
-partial recording to users for playback, call
-<code>RecordingSession.notifyRecordingStopped()</code> to enable the system to
-use the partial session.</p>
-
-<h2 id="sessions">Managing Recorded Sessions</h2>
-
-<p>The system maintains information for all recorded sessions from all
-recording-capable channel apps in the <code>TvContract.RecordedPrograms</code>
-content provider table. This information is accessible via the
-<code>RecordedPrograms.Uri</code> content URI. Use content provider APIs to
-read, add, and delete entries from this table.</p>
-
-<p>For more information on working with content provider data see
-<a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
-Content Provider Basics</a> .</p>
-
-<h2 id="best">Best Practices</h2>
-
-<p>TV devices may have limited storage, so use your best judgment when
-allocating storage to save recorded sessions. Use
-<code>RecordingCallback.onError(RECORDING_ERROR_INSUFFICIENT_SPACE)</code> when
-there isn't enough space to save a recorded session.</p>
-
-<p>When the user initiates recording, you should start recording data as soon
-as possible. To facilitate this, complete any up-front time-consuming tasks,
-like accessing and allocating storage space, when the system invokes the
-<code>onCreateRecordingSession()</code> callback. Doing so lets you start
-recording immediately when the <code>onStartRecording()</code> callback
-fires.</p>
diff --git a/docs/html/preview/images/scoped-folder-access-dont-ask.png b/docs/html/preview/images/scoped-folder-access-dont-ask.png
deleted file mode 100644
index 5c505d9..0000000
--- a/docs/html/preview/images/scoped-folder-access-dont-ask.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/preview/images/scoped-folder-access-dont-ask_2x.png b/docs/html/preview/images/scoped-folder-access-dont-ask_2x.png
deleted file mode 100644
index 612b69f..0000000
--- a/docs/html/preview/images/scoped-folder-access-dont-ask_2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/preview/images/scoped-folder-access-framed.png b/docs/html/preview/images/scoped-folder-access-framed.png
deleted file mode 100644
index 0169e41..0000000
--- a/docs/html/preview/images/scoped-folder-access-framed.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/preview/images/scoped-folder-access-framed_2x.png b/docs/html/preview/images/scoped-folder-access-framed_2x.png
deleted file mode 100644
index fd59ef1..0000000
--- a/docs/html/preview/images/scoped-folder-access-framed_2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/training/_book.yaml b/docs/html/training/_book.yaml
index 0e2083a..23d9c9e 100644
--- a/docs/html/training/_book.yaml
+++ b/docs/html/training/_book.yaml
@@ -695,6 +695,8 @@
       path: /training/tv/playback/guided-step.html
     - title: Enabling Background Playback
       path: /training/tv/playback/options.html
+    - title: Adding Picture-in-picture
+      path: /training/tv/playback/picture-in-picture.html
   - title: Helping Users Find Content on TV
     path: /training/tv/discovery/index.html
     path_attributes:
@@ -724,6 +726,8 @@
       path: /training/tv/tif/channel.html
     - title: Managing User Interaction
       path: /training/tv/tif/ui.html
+    - title: Supporting Content Recording
+      path: /training/tv/tif/content-recording.html
   - title: TV Apps Checklist
     path: /training/tv/publishing/checklist.html
     path_attributes:
@@ -1388,6 +1392,16 @@
     path_attributes:
     - name: description
       value: How to create an application that enforces security policies on devices.
+  - title: Supporting Direct Boot
+    path: /training/articles/direct-boot.html
+    path_attributes:
+    - name: description
+      value: How use device encrypted storage during Direct Boot mode.
+  - title: Using Scoped Directory Access
+    path: /training/articles/scoped-directory-access.html
+    path_attributes:
+    - name: description
+      value: How to use scoped directory access to request access to external storage directories.
 
 - title: Best Practices for Permissions & Identifiers
   path: /training/best-permissions-ids.html
diff --git a/docs/html/preview/features/direct-boot.jd b/docs/html/training/articles/direct-boot.jd
similarity index 86%
rename from docs/html/preview/features/direct-boot.jd
rename to docs/html/training/articles/direct-boot.jd
index 60f6141..ea2686e 100644
--- a/docs/html/preview/features/direct-boot.jd
+++ b/docs/html/training/articles/direct-boot.jd
@@ -1,12 +1,10 @@
-page.title=Direct Boot
-page.keywords=preview,sdk,direct boot
-page.tags=androidn
-page.image=images/cards/card-nyc_2x.jpg
+page.title=Supporting Direct Boot
+page.keywords=direct boot
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>In this document</h2>
   <ol>
     <li><a href="#run">Requesting Access to Run During Direct Boot</a></li>
@@ -19,7 +17,7 @@
 </div>
 </div>
 
-<p>Android N runs in a secure, <i>Direct Boot</i> mode
+<p>Android 7.0 runs in a secure, <i>Direct Boot</i> mode
 when the device has been powered on but the user has not unlocked the
 device. To support this, the system provides two storage locations for data:</p>
 
@@ -63,21 +61,23 @@
 <code>android:directBootAware</code> attribute to true in your manifest.<p>
 
 <p>Encryption aware components can register to receive a
-<code>LOCKED_BOOT_COMPLETED</code> broadcast message from the
+{@link android.content.Intent#ACTION_LOCKED_BOOT_COMPLETED
+ACTION_LOCKED_BOOT_COMPLETED} broadcast message from the
 system when the device has been restarted. At this point device encrypted
 storage is available, and your component can execute tasks that need to be
 run during Direct Boot mode, such as triggering a scheduled alarm.</p>
 
 <p>The following code snippet is an example of how to register a
 {@link android.content.BroadcastReceiver} as encryption aware, and add an
-intent filter for <code>LOCKED_BOOT_COMPLETED</code>, in the app manifest:</p>
+intent filter for {@link android.content.Intent#ACTION_LOCKED_BOOT_COMPLETED
+ACTION_LOCKED_BOOT_COMPLETED}, in the app manifest:</p>
 
 <pre>
 &lt;receiver
   android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
-    &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
+    &lt;action android:name="android.intent.action.ACTION_LOCKED_BOOT_COMPLETED" /&gt;
   &lt;/intent-filter&gt;
 &lt;/receiver&gt;
 </pre>
@@ -89,7 +89,8 @@
 
 <p>To access device encrypted storage, create a second
 {@link android.content.Context} instance by calling
-<code>Context.createDeviceProtectedStorageContext()</code>. All storage API
+{@link android.content.Context#createDeviceProtectedStorageContext
+Context.createDeviceProtectedStorageContext()}. All storage API
 calls made using this context access the device encrypted storage. The
 following example accesses the device encrypted storage and opens an existing
 app data file:</p>
@@ -120,7 +121,8 @@
 </p>
 <ul>
 <li>If your app has foreground processes that need immediate notification,
-listen for the {@code ACTION_USER_UNLOCKED} message.</li>
+listen for the {@link android.content.Intent#ACTION_USER_UNLOCKED
+ACTION_USER_UNLOCKED} message.</li>
 <li>If your app only uses background processes that can act on a delayed
 notification, listen for the
 {@link android.content.Intent#ACTION_BOOT_COMPLETED ACTION_BOOT_COMPLETED}
@@ -128,14 +130,17 @@
 </ul>
 
 <p>If the user has unlocked the device, you can find out by calling
-<code>UserManager.isUserUnlocked()</code>.</p>
+{@link android.os.UserManager#isUserUnlocked UserManager.isUserUnlocked()}.
+</p>
 
 <h2 id="migrating">Migrating Existing Data</h2>
 
 <p>If a user updates their device to use Direct Boot mode, you might have
 existing data that needs to get migrated to device encrypted storage. Use
-<code>Context.moveSharedPreferencesFrom()</code> and
-<code>Context.moveDatabaseFrom()</code> to migrate preference and database
+{@link android.content.Context#moveSharedPreferencesFrom
+Context.moveSharedPreferencesFrom()} and
+{@link android.content.Context#moveDatabaseFrom
+Context.moveDatabaseFrom()} to migrate preference and database
 data between credential encrypted storage and device encrypted storage.</p>
 
 <p>Use your best judgment when deciding what data to migrate from credential
@@ -146,13 +151,13 @@
 
 <h2 id="testing">Testing Your Encryption Aware App</h2>
 
-<p>Test your encryption aware app using the new Direct Boot mode. There are
+<p>Test your encryption aware app with Direct Boot mode enabled. There are
 two ways to enable Direct Boot.</p>
 
 <p class="caution"><strong>Caution:</strong> Enabling Direct Boot
 wipes all user data on the device.</p>
 
-<p>On supported devices with Android N installed, enable
+<p>On supported devices with Android 7.0 installed, enable
 Direct Boot by doing one of the following:</p>
 
 <ul>
@@ -194,14 +199,14 @@
 {@link android.app.admin.DevicePolicyManager#getStorageEncryptionStatus
 DevicePolicyManager.getStorageEncryptionStatus()} to check the current
 encryption status of the device. If your app is targeting an API level
-lower than Android N,
+lower than 24.0 (Android 7.0),
 {@link android.app.admin.DevicePolicyManager#getStorageEncryptionStatus
 getStorageEncryptionStatus()} will return
 {@link android.app.admin.DevicePolicyManager#ENCRYPTION_STATUS_ACTIVE
 ENCRYPTION_STATUS_ACTIVE} if the device is either using full-disk encryption,
 or file-based encryption with Direct Boot. In both of these cases, data is
 always stored encrypted at rest. If your app is targeting an API level of
-Android N or higher,
+24.0 or higher,
 {@link android.app.admin.DevicePolicyManager#getStorageEncryptionStatus
 getStorageEncryptionStatus()} will return
 {@link android.app.admin.DevicePolicyManager#ENCRYPTION_STATUS_ACTIVE
@@ -212,7 +217,7 @@
 with Direct Boot.</p>
 
 <p>If you build a device administration app
-that targets Android N, make sure to check for both
+that targets Android 7.0, make sure to check for both
 {@link android.app.admin.DevicePolicyManager#ENCRYPTION_STATUS_ACTIVE
 ENCRYPTION_STATUS_ACTIVE} and
 {@link android.app.admin.DevicePolicyManager#ENCRYPTION_STATUS_ACTIVE_PER_USER
diff --git a/docs/html/preview/features/scoped-folder-access.jd b/docs/html/training/articles/scoped-directory-access.jd
similarity index 60%
rename from docs/html/preview/features/scoped-folder-access.jd
rename to docs/html/training/articles/scoped-directory-access.jd
index 06dd665..1e0bf39 100644
--- a/docs/html/preview/features/scoped-folder-access.jd
+++ b/docs/html/training/articles/scoped-directory-access.jd
@@ -1,11 +1,10 @@
-page.title=Scoped Directory Access
-page.keywords=preview,sdk,scoped directory access
-page.tags=androidn
+page.title=Using Scoped Directory Access
+page.keywords=scoped directory access
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>In this document</h2>
   <ol>
     <li><a href="#accessing">Accessing an External Storage Directory</a></li>
@@ -32,29 +31,37 @@
 external directory.</li>
 </ul>
 
-<p>Android N provides a new simplified API to access
-common external storage directories. </p>
+<p>Android 7.0 provides a simplified API to access common external storage
+directories.</p>
 
 <h2 id="accessing">Accessing an External Storage Directory</h2>
 
-<p>Use the <code>StorageManager</code> class to get the appropriate
-<code>StorageVolume</code> instance. Then, create an intent by calling the
-<code>StorageVolume.createAccessIntent()</code> method of that instance.
+<p>Use the {@link android.os.storage.StorageManager} class to get the
+appropriate {@link android.os.storage.StorageVolume} instance. Then, create
+an intent by calling the
+{@link android.os.storage.StorageVolume#createAccessIntent
+StorageVolume.createAccessIntent()} method of that instance.
 Use this intent to access external storage directories. To get a list of
-all available volumes, including removable media volumes, use
-<code>StorageManager.getVolumesList()</code>.</p>
+all available volumes, including removable media
+volumes, use {@link android.os.storage.StorageManager#getStorageVolumes
+StorageManager.getStorageVolumes()}.</p>
 
 <p>If you have information about a specific file, use
-<code>StorageManager.getStorageVolume(File)</code> to get the
-<code>StorageVolume</code> that contains the file. Call
-<code>createAccessIntent()</code> on this <code>StorageVolume</code> to access
+{@link android.os.storage.StorageManager#getStorageVolume
+StorageManager.getStorageVolume(File)} to get the
+{@link android.os.storage.StorageVolume} that contains the file. Call
+{@link android.os.storage.StorageVolume#createAccessIntent
+createAccessIntent()} on this
+{@link android.os.storage.StorageVolume} to access
 the external storage directory for the file.</p>
 
 <p>
 On secondary volumes, such as external SD cards, pass in null when calling
-<code>StorageVolume.createAccessIntent()</code> to request access to the entire
+{@link android.os.storage.StorageVolume#createAccessIntent
+createAccessIntent()} to request access to the entire
 volume, instead of a specific directory.
-<code>StorageVolume.createAccessIntent()</code> returns null if you pass in
+{@link android.os.storage.StorageVolume#createAccessIntent
+createAccessIntent()} returns null if you pass in
 null to the primary volume, or if you pass in an invalid directory name.
 </p>
 
@@ -63,7 +70,7 @@
 
 <pre>
 StorageManager sm = (StorageManager)getSystemService(Context.STORAGE_SERVICE);
-StorageVolume volume = sm.getPrimaryVolume();
+StorageVolume volume = sm.getPrimaryStorageVolume();
 Intent intent = volume.createAccessIntent(Environment.DIRECTORY_PICTURES);
 startActivityForResult(intent, request_code);
 </pre>
@@ -71,25 +78,27 @@
 <p>The system attempts to grant access to the external directory, and if
 necessary confirms access with the user using a simplified UI:</p>
 
-<img src="{@docRoot}preview/images/scoped-folder-access-framed.png"
-srcset="{@docRoot}preview/images/scoped-folder-access-framed.png 1x,
-{@docRoot}preview/images/scoped-folder-access-framed_2x.png 2x" />
+<img src="{@docRoot}images/android-7.0/scoped-directory-access-framed.png"
+srcset="{@docRoot}images/android-7.0/scoped-directory-access-framed.png 1x,
+{@docRoot}images/android-7.0/scoped-directory-access-framed_2x.png 2x" />
 <p class="img-caption"><strong>Figure 1.</strong> An application requesting
 access to the Pictures directory.</p>
 
 <p>If the user grants access, the system calls your
-<code>onActivityResult()</code> override with a result code of
-<code>Activity.RESULT_OK</code>, and intent data that contains the URI. Use
+{@link android.app.Activity#onActivityResult onActivityResult()} override
+with a result code of {@link android.app.Activity#RESULT_OK
+RESULT_OK}, and intent data that contains the URI. Use
 the provided URI to access directory information, similar to using URIs
 returned by the
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Storage
 Access Framework</a>.</p>
 
 <p>If the user doesn't grant access, the system calls your
-<code>onActivityResult()</code> override with a result code of
-<code>Activity.RESULT_CANCELED</code>, and null intent data.</p>
+{@link android.app.Activity#onActivityResult onActivityResult()} override
+with a result code of {@link android.app.Activity#RESULT_CANCELED
+RESULT_CANCELED}, and null intent data.</p>
 
-<p class="note"><b>Note</b>: Getting access to a specific external directory
+<p>Getting access to a specific external directory
 also gains access to subdirectories within that directory.</p>
 
 <h2 id="removable">Accessing a Directory on Removable Media</h2>
@@ -112,9 +121,9 @@
 
 <p>When the user mounts removable media, like an SD card, the system sends a
 {@link android.os.Environment#MEDIA_MOUNTED} notification. This notification
-provides a <code>StorageVolume</code> object in the intent data that you can
-use to access directories on the removable media. The following example
-accesses the <code>Pictures</code> directory on removable media:</p>
+provides a {@link android.os.storage.StorageVolume} object in the intent data
+that you can use to access directories on the removable media. The following
+example accesses the <code>Pictures</code> directory on removable media:</p>
 
 <pre>
 // BroadcastReceiver has already cached the MEDIA_MOUNTED
@@ -129,19 +138,22 @@
 
 <p>Where possible, persist the external directory access URI so you don't have
 to repeatedly ask the user for access. Once the user has granted access, call
-<code>getContentResolver().takePersistableUriPermssion()</code> with the
-directory access URI. The system will persist the URI and subsequent access
-requests will return <code>RESULT_OK</code> and not show confirmation UI to the
-user.</p>
+{@link android.content.Context#getContentResolver getContentResolver()} and
+with the returned {@link android.content.ContentResolver} call
+{@link android.content.ContentResolver#takePersistableUriPermission
+takePersistableUriPermission()} with the directory access URI. The system will
+persist the URI and subsequent access requests will return
+{@link android.app.Activity#RESULT_OK RESULT_OK} and not show confirmation
+UI to the user.</p>
 
 <p>If the user denies access to an external directory, do not immediately
 request access again. Repeatedly insisting on access results in a poor user
 experience. If a request is denied by the user, and the app requests access
 again, the UI displays a <b>Don't ask again</b> checkbox:</p>
 
-<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" />
+<img src="{@docRoot}images/android-7.0/scoped-directory-access-dont-ask.png"
+srcset="{@docRoot}images/android-7.0/scoped-directory-access-dont-ask.png 1x,
+{@docRoot}images/android-7.0/scoped-directory-access-dont-ask_2x.png 2x" />
 <p class="img-caption"><strong>Figure 1.</strong> An application making a
 second request for access to removable media.</p>
 
diff --git a/docs/html/training/basics/activity-lifecycle/pausing.jd b/docs/html/training/basics/activity-lifecycle/pausing.jd
index 7ca97aa..64fa60b 100644
--- a/docs/html/training/basics/activity-lifecycle/pausing.jd
+++ b/docs/html/training/basics/activity-lifecycle/pausing.jd
@@ -32,25 +32,34 @@
   </div>
 </div>
 
-<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>
+<p>
+  During normal app use, the app sometimes loses focus, causing the activity to
+  <em>pause</em>. For example, when apps run in <a href=
+  "{@docRoot}guide/topics/ui/multi-window.html">multi-window mode</a>, only one
+  of the apps has the focus at any time; the system pauses all other apps. Similarly,
+  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>
 
 <p>However, once the activity is fully-obstructed and not visible, it <em>stops</em> (which is
 discussed in the next lesson).</p>
 
 <p>As your activity enters the paused state, the system calls the {@link
 android.app.Activity#onPause onPause()} method on your {@link android.app.Activity}, which allows
-you to stop ongoing actions that should not continue while paused (such as a video) or persist
+you to stop ongoing actions that should not continue while paused or persist
 any information that should be permanently saved in case the user continues to leave your app. If
 the user returns to your activity from the paused state, the system resumes it and calls the
 {@link android.app.Activity#onResume onResume()} method.</p>
 
-<p class="note"><strong>Note:</strong> When your activity receives a call to {@link
-android.app.Activity#onPause()}, it may be an indication that the activity will be paused for a
-moment and the user may return focus to your activity. However, it's usually the first indication
-that the user is leaving your activity.</p>
+<p class="note">
+  <strong>Note:</strong> When the system calls your activity's {@link
+  android.app.Activity#onPause()} method, the system may be signaling that the
+  activity will be paused for a moment and the user may return focus to your
+  activity, or that the app is running in multi-window mode. However, this
+  method call may also be the first indication that the user is leaving your
+  activity.
+</p>
 
 <img src="{@docRoot}images/training/basics/basic-lifecycle-paused.png" />
 <p class="img-caption"><strong>Figure 1.</strong> When a semi-transparent activity obscures
@@ -67,7 +76,11 @@
 the {@link android.app.Activity#onPause()} callback to:</p>
 
 <ul>
-  <li>Stop animations or other ongoing actions that could consume CPU.</li>
+  <li>Check if the activity is visible; if it is not, stop animations or other
+    ongoing actions that could consume CPU. Remember, beginning with Android
+    7.0, a paused app might be running in <a
+    href="{@docRoot}guide/topics/ui/multi-window.html">multi-window mode</a>.
+    In this case, you would not want to stop animations or video playback.</li>
   <li>Commit unsaved changes, but only if users expect such changes to be permanently saved when
 they leave (such as a draft email).</li>
   <li>Release system resources, such as broadcast receivers, handles to sensors (like
diff --git a/docs/html/training/monitoring-device-state/doze-standby.jd b/docs/html/training/monitoring-device-state/doze-standby.jd
index 9250288..7caef402 100644
--- a/docs/html/training/monitoring-device-state/doze-standby.jd
+++ b/docs/html/training/monitoring-device-state/doze-standby.jd
@@ -306,25 +306,22 @@
 </p>
 
 <p>
-  An app that is whitelisted can use the network and hold
-
-  <a href="{@docRoot}reference/android/os/PowerManager.html#PARTIAL_WAKE_LOCK">
-  partial wake locks</a> during Doze and
-  App Standby. However, <strong>other restrictions still apply</strong> to the
-  whitelisted app, just as they do to other apps. For example, the whitelisted
-  app’s jobs and syncs are deferred, and its regular {@link android.app.AlarmManager} alarms do not
-  fire. An app can check whether it is currently on the exemption whitelist by
-  calling {@link
+  An app that is whitelisted can use the network and hold <a href=
+  "{@docRoot}reference/android/os/PowerManager.html#PARTIAL_WAKE_LOCK">partial
+  wake locks</a> during Doze and App Standby. However, <strong>other
+  restrictions still apply</strong> to the whitelisted app, just as they do to
+  other apps. For example, the whitelisted app’s jobs and syncs are deferred
+  (on API level 23 and below), and its regular {@link android.app.AlarmManager}
+  alarms do not fire. An app can check whether it is currently on the exemption
+  whitelist by calling {@link
   android.os.PowerManager#isIgnoringBatteryOptimizations(java.lang.String)
   isIgnoringBatteryOptimizations()}.
-  </li>
 </p>
 
 <p>
   Users can manually configure the whitelist in <strong>Settings &gt; Battery
   &gt; Battery Optimization.</strong> Alternatively, the system provides
   ways for apps to ask users to whitelist them.
-
 </p>
 
 <ul>
diff --git a/docs/html/preview/features/picture-in-picture.jd b/docs/html/training/tv/playback/picture-in-picture.jd
similarity index 87%
rename from docs/html/preview/features/picture-in-picture.jd
rename to docs/html/training/tv/playback/picture-in-picture.jd
index 03a1768..e48ae48 100644
--- a/docs/html/preview/features/picture-in-picture.jd
+++ b/docs/html/training/tv/playback/picture-in-picture.jd
@@ -1,11 +1,14 @@
-page.title=Picture-in-picture
+page.title=Adding Picture-in-picture
 page.keywords=preview,sdk,PIP,Picture-in-picture
 page.tags=androidn
+helpoutsWidget=true
+
+trainingnavtop=true
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>In this document</h2>
 <ol>
@@ -31,12 +34,12 @@
 </div>
 </div>
 
-<p>In Android N, Android TV users can now watch a video
-in a pinned window in a corner of the screen when navigating within
-apps. Picture-in-picture (PIP) mode lets apps run a video
+<p>In Android 7.0, Android TV users can now watch a video
+in a pinned window in a corner of the screen when navigating within or
+between apps. Picture-in-picture (PIP) mode lets apps run a video
 activity in the pinned window while another activity continues in the
-background. The PIP window lets users multitask while using your app, which
-helps users be more productive.</p>
+background. The PIP window lets users multitask while using Android TV,
+which helps users be more productive.</p>
 
 <p>Your app can decide when to trigger PIP mode. Here are some examples of
 when to enter PIP mode:</p>
@@ -57,14 +60,14 @@
 PIP menu that lets them toggle the PIP window to full-screen, or close the PIP
 window, by holding down the <b>Home</b> button on the remote. If another
 video starts playing on the main screen, the PIP window is automatically
-closed. Users can also close the PIP window through Recents.</p>
+closed.</p>
 
-<img src="{@docRoot}preview/images/pip-active.png" />
+<img src="{@docRoot}images/android-7.0/pip-active.png" />
 <p class="img-caption"><strong>Figure 1.</strong> A Picture-in-picture
 video visible in a corner of the screen while the user browses content
 on the main screen.</p>
 
-<p>PIP leverages the multi-window APIs available in Android N to
+<p>PIP leverages the multi-window APIs available in Android 7.0 to
 provide the pinned video overlay window. To add PIP to your app, you need to
 register your activities that support PIP, switch your activity to PIP mode as
 needed, and make sure UI elements are hidden and video playback continues when
@@ -99,7 +102,8 @@
 <h2 id="pip_button">Switching Your Activity to Picture-in-picture</h2>
 
 When you need to switch your activity into PIP mode, call
-<code>Activity.enterPictureInPictureMode()</code>. The following example
+{@link android.app.Activity#enterPictureInPictureMode
+enterPictureInPictureMode()}. The following example
 switches to PIP mode when the user selects a dedicated PIP button on a media
 control bar:</p>
 
@@ -116,12 +120,13 @@
 <p>Adding a PIP button to your media control bar lets your user easily switch
 to PIP mode while controlling video playback.</p>
 
-<img src="{@docRoot}preview/images/pip-button.png" />
+<img src="{@docRoot}images/android-7.0/pip-button.png" />
 <p class="img-caption"><strong>Figure 1.</strong> A Picture-in-picture
 button on a media control bar.</p>
 
-<p>Android N includes a new
-<code>PlaybackControlsRow.PictureInPictureAction</code> class which defines
+<p>Android 7.0 includes a
+{@link android.support.v17.leanback.widget.PlaybackControlsRow.PictureInPictureAction
+PlaybackControlsRow.PictureInPictureAction} class which defines
 control bar PIP actions and uses the PIP icon.</p>
 
 <h2 id="handling_ui">Handling UI During Picture-in-picture</h2>
@@ -129,8 +134,10 @@
 <p>When your activity enters PIP mode, your activity should only show video
 playback. Remove UI elements before your activity enters PIP,
 and restore these elements when your activity becomes full-screen again.
-Override <code>Activity.onPictureInPictureModeChanged()</code> or
-<code>Fragment.onPictureInPictureModeChanged()</code> and enable or
+Override {@link android.app.Activity#onPictureInPictureModeChanged
+Activity.onPictureInPictureModeChanged()} or
+{@link android.app.Fragment#onPictureInPictureModeChanged
+Fragment.onPictureInPictureModeChanged()} and enable or
 disable your UI elements as needed, for example:</p>
 
 <pre>
@@ -154,7 +161,7 @@
 onPause()} method. Video playback should not be paused and should continue
 playing if the activity is paused due to PIP mode.</p>
 
-<p>In Android N, you should pause and resume video playback when the system
+<p>In Android 7.0, you should pause and resume video playback when the system
 calls your activity's {@link android.app.Activity#onStop onStop()} and
 {@link android.app.Activity#onStart onStart()}. By doing this, you can avoid
 having to check if your app is in PIP mode in
@@ -204,7 +211,7 @@
 </pre>
 
 <p>In your activity, override {@link android.app.Activity#onNewIntent
-Activity.onNewIntent()} and handle the new video, stopping any existing video
+onNewIntent()} and handle the new video, stopping any existing video
 playback if needed.</p>
 
 <h2 id="best">Best Practices</h2>
diff --git a/docs/html/training/tv/tif/content-recording.jd b/docs/html/training/tv/tif/content-recording.jd
new file mode 100644
index 0000000..ffdd14c
--- /dev/null
+++ b/docs/html/training/tv/tif/content-recording.jd
@@ -0,0 +1,171 @@
+page.title=Supporting Content Recording
+page.keywords=tv,recording,channel,tif
+page.tags=tv, tif
+helpoutsWidget=true
+
+trainingnavtop=true
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+  <h2>In this document</h2>
+  <ol>
+    <li><a href="#supporting">Indicating Support for Recording</a></li>
+    <li><a href="#recording">Recording a Session</a></li>
+    <li><a href="#errors">Handling Recording Errors</a></li>
+    <li><a href="#sessions">Managing Recorded Sessions</a></li>
+    <li><a href="#best">Best Practices</a></li>
+  </ol>
+</div>
+</div>
+
+<p>TV input services let the user pause and resume channel playback via
+time-shifting APIs. Android 7.0 expands on time-shifting
+by letting the user save multiple recorded sessions.</p>
+
+<p>Users can schedule recordings in advance, or start a recording as they watch
+a program. Once the system has saved a recording, the user can browse, manage,
+and play back the recording using the system TV app.</p>
+
+<p>If you want to provide recording functionality for your TV input service,
+you must indicate to the system that your app supports recording, implement
+the ability to record programs, handle and communicate any errors that occur
+during recording, and manage your recorded sessions.</p>
+
+<p class="note"><strong>Note:</strong> The Live Channels app does not yet
+provide a way for users to create or access recordings. Until changes are
+made to the Live Channels app, it may be difficult to fully test the recording
+experience for your TV input service.</p>
+
+<h2 id="supporting">Indicating Support for Recording</h2>
+
+<p>To tell the system that your TV input service supports recording, set
+the <code>android:canRecord</code> attribute in your service metadata XML file
+to <code>true</code>:
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>For more information on the service metadata file, see
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declare Your TV Input
+Service in the Manifest</a>.
+</p>
+
+<p>Alternatively, you can indicate recording support in your code using
+these steps:</p>
+
+<ol>
+<li>In your TV input service {@link android.app.Service#onCreate onCreate()}
+method, create a new {@link android.media.tv.TvInputInfo} object using the
+{@link android.media.tv.TvInputInfo.Builder TvInputInfo.Builder} class.</li>
+<li>When creating the new {@link android.media.tv.TvInputInfo} object, call
+{@link android.media.tv.TvInputInfo.Builder#setCanRecord
+setCanRecord(true)} before calling
+{@link android.media.tv.TvInputInfo.Builder#build build()} to indicate your
+service supports recording.</li>
+<li>Register your {@link android.media.tv.TvInputInfo} object with the
+system by calling
+{@link android.media.tv.TvInputManager#updateTvInputInfo
+TvInputManager.updateTvInputInfo()}.</li>
+</ol>
+
+<h2 id="recording">Recording a Session</h2>
+
+<p>After your TV input service registers that it supports recording
+functionality, the system calls your
+{@link android.media.tv.TvInputService#onCreateRecordingSession
+TvInputService.onCreateRecordingSession()} method when it needs to access
+your app's recording implementation. Implement your own
+{@link android.media.tv.TvInputService.RecordingSession
+TvInputService.RecordingSession} subclass and return it
+when the {@link android.media.tv.TvInputService#onCreateRecordingSession
+onCreateRecordingSession()} callback fires. This subclass is responsible
+for switching to the correct channel data, recording the requested data,
+and communicating recording status and errors to the system.</p>
+
+<p>When the system calls
+{@link android.media.tv.TvInputService.RecordingSession#onTune
+RecordingSession.onTune()}, passing in a channel URI, tune to the channel
+that the URI specifies. Notify the system that your app has tuned to the
+desired channel by calling
+{@link android.media.tv.TvInputService.RecordingSession#notifyTuned
+notifyTuned()} or, if your app could not tune to the proper channel, call
+{@link android.media.tv.TvInputService.RecordingSession#notifyError
+notifyError()}.</p>
+
+<p>The system next invokes the
+{@link android.media.tv.TvInputService.RecordingSession#onStartRecording
+RecordingSession.onStartRecording()} callback. Your app must start recording
+immediately. When the system invokes this callback, it may provide a URI
+that contains information about the program that is about to be recorded.
+When the recording is done, you'll copy this data to the
+{@link android.media.tv.TvContract.RecordedPrograms RecordedPrograms}
+data table.</p>
+
+<p>Finally, the system calls
+{@link android.media.tv.TvInputService.RecordingSession#onStopRecording
+RecordingSession.onStopRecording()}. At this point, your app must stop
+recording immediately. You also need to create an entry in the
+{@link android.media.tv.TvContract.RecordedPrograms RecordedPrograms}
+table. This entry should include the recorded session data URI in the
+{@link android.media.tv.TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_URI
+RecordedPrograms.COLUMN_RECORDING_DATA_URI} column, and any program
+information that the system provided in the initial call to
+{@link android.media.tv.TvInputService.RecordingSession#onStartRecording
+onStartRecording()}.</p>
+
+<p>For more details on how to access the
+{@link android.media.tv.TvContract.RecordedPrograms RecordedPrograms} table
+see <a href="#sessions">Managing Recorded Sessions</a>.</p>
+
+<h2 id="errors">Handling Recording Errors</h2>
+
+<p>If an error occurs during recording, resulting in unusable recorded data,
+notify the system by calling
+{@link android.media.tv.TvInputService.RecordingSession#notifyError
+notifyError()}. Similarly, you can call
+{@link android.media.tv.TvInputService.RecordingSession#notifyError
+notifyError()} after a recording session is created to let the system know
+that your app can no longer record sessions.</p>
+
+<p>If an error occurs during recording, but you'd like to provide a
+partial recording to users for playback, call
+{@link android.media.tv.TvInputService.RecordingSession#notifyRecordingStopped
+notifyRecordingStopped()} to enable the system to
+use the partial session.</p>
+
+<h2 id="sessions">Managing Recorded Sessions</h2>
+
+<p>The system maintains information for all recorded sessions from all
+recording-capable channel apps in the
+{@link android.media.tv.TvContract.RecordedPrograms RecordedPrograms}
+content provider table. This information is accessible via the
+{@link android.media.tv.TvContract.RecordedPrograms RecordedPrograms}
+content recording URIs. Use content provider APIs to
+read, add, and delete entries from this table.</p>
+
+<p>For more information on working with content provider data see
+<a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
+Content Provider Basics</a>.</p>
+
+<h2 id="best">Best Practices</h2>
+
+<p>TV devices may have limited storage, so use your best judgment when
+allocating storage to save recorded sessions. Use
+{@link android.media.tv.TvRecordingClient.RecordingCallback#onError
+RecordingCallback.onError(RECORDING_ERROR_INSUFFICIENT_SPACE)} when
+there isn't enough space to save a recorded session.</p>
+
+<p>When the user initiates recording, you should start recording data as soon
+as possible. To facilitate this, complete any up-front time-consuming tasks,
+like accessing and allocating storage space, when the system invokes the
+{@link android.media.tv.TvInputService#onCreateRecordingSession
+onCreateRecordingSession()} callback. Doing so lets you start
+recording immediately when the
+{@link android.media.tv.TvInputService.RecordingSession#onStartRecording
+onStartRecording()} callback fires.</p>
diff --git a/packages/MtpDocumentsProvider/res/values-am/strings.xml b/packages/MtpDocumentsProvider/res/values-am/strings.xml
new file mode 100644
index 0000000..7b721c8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-am/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"የMTP አስተናጋጅ"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"የወረዱ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"ፋይሎችን ከ<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> በመድረስ ላይ"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ሌላኛው መሣሪያ ሥራ በዝቶበታል። እስከሚገኝ ድረስ ፋይሎችን ማስተላለፍ አይችሉም።"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ምንም ፋይሎች አልተገኙም። ሌላኛው መሣሪያ ተቆልፎ ሊሆን ይችላል። ተቆልፎ ከሆነ ይክፈቱት እና እንደገና ይሞክሩ።"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ar/strings.xml b/packages/MtpDocumentsProvider/res/values-ar/strings.xml
new file mode 100644
index 0000000..284a860
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ar/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"‏مضيف بروتوكول نقل الوسائط (MTP)"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"التنزيلات"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"جارٍ الوصول إلى الملفات من <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"الجهاز الآخر مشغول، ولا يمكنك نقل الملفات إلا بعد أن يصبح متاحًا."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"لم يتم العثور على ملفات، وربما يكون الجهاز الآخر في وضع القفل. إذا كان الأمر كذلك، فعليك إلغاء قفله وإعادة المحاولة."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml b/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..e8ed124
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-az-rAZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Endirmələr"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Fayllara <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> cihazından daxil olunur"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Digər cihaz məşğuldur. Əlçatan olmayana kimi fayl köçürə bilməzsiniz."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Fayl tapılmadı. Digər cihaz kilidlənmiş ola bilər. Elədirsə, kiliddən çıxarın və yenidən cəhd edin."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml b/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..bc900996
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Pristup datotekama sa uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Drugi uređaj je zauzet. Datoteke možete da prenesete tek kad on postane dostupan."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nije pronađena nijedna datoteka. Drugi uređaj je možda zaključan. Ako jeste, otključajte ga i pokušajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml b/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml
new file mode 100644
index 0000000..f6263ac
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-be-rBY/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Вузел MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Спампоўкі"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Доступ да файлаў з <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Іншая прылада занята. Вы не можаце перадаць файлы, пакуль яна не стане даступнай."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Файлы не знойдзены. Іншая прылада можа быць заблакіравана. Калі гэта так, разблакіруйце яе і паўтарыце спробу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bg/strings.xml b/packages/MtpDocumentsProvider/res/values-bg/strings.xml
new file mode 100644
index 0000000..52d3119
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bg/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP хост"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Изтегляния"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> на <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"От <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> се осъществява достъп до файловете"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Другото устройство е заето. Не можете да прехвърляте файлове, докато то не се освободи."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Няма намерени файлове. Другото устройство може да е заключено. Ако е така, отключете го и опитайте отново."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml b/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..7fad89e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bn-rBD/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP হোস্ট"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ডাউনলোডগুলি"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> থেকে ফাইলগুলিকে অ্যাক্সেস করা হচ্ছে"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"অন্য ডিভাইসটি ব্যস্ত আছে৷ এটি উপলব্ধ না হওয়া পর্যন্ত আপনি ফাইলগুলিকে স্থানান্তর করতে পারবেন না৷"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"কোনো ফাইল পাওয়া যায়নি৷ অন্য ডিভাইসটি লক থাকতে পারে৷ যদি তাই হয়, তাহলে এটিকে আনলক করে আবার চেষ্টা করুন৷"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml b/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml
new file mode 100644
index 0000000..33323f8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-bs-rBA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Pristupanje datotekama iz uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Drugi uređaj je zauzet. Nećete moći prenositi fajlove dok ne bude dostupan."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Fajlovi nisu pronađeni. Moguće je da je drugi uređaj zaključan. Ako jeste, otključajte ga i pokušajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ca/strings.xml b/packages/MtpDocumentsProvider/res/values-ca/strings.xml
new file mode 100644
index 0000000..b2aa599
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ca/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Amfitrió MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Baixades"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"S\'està accedint als fitxers del dispositiu <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"L\'altre dispositiu està ocupat. No pots transferir fitxers fins que estigui disponible."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No s\'han trobat fitxers. És possible que l\'altre dispositiu estigui bloquejat. Si és així, desbloqueja\'l i torna-ho a provar."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-cs/strings.xml b/packages/MtpDocumentsProvider/res/values-cs/strings.xml
new file mode 100644
index 0000000..2156e8c
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-cs/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Hostitel MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Stahování"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> – <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Používání souborů ze zařízení <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Druhé zařízení je zaneprázdněné. Dokud nebude dostupné, soubory nelze přenést."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nebyly nalezeny žádné soubory. Druhé zařízení je možná uzamčené. Pokud ano, odemkněte jej a zkuste to znovu."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-da/strings.xml b/packages/MtpDocumentsProvider/res/values-da/strings.xml
new file mode 100644
index 0000000..b82c5e8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-da/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Adgang til filer fra <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Den anden enhed er optaget. Du kan ikke overføre filer, før den er tilgængelig."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Der blev ikke fundet nogen filer. Den anden enhed er muligvis låst. Hvis dette er tilfældet, skal du låse den op og prøve igen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-de/strings.xml b/packages/MtpDocumentsProvider/res/values-de/strings.xml
new file mode 100644
index 0000000..9a71c76
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-de/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> von <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Zugriff auf Dateien von <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Das andere Gerät ist nicht verfügbar. Du kannst die Dateien übertragen, sobald das Gerät wieder verfügbar ist."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Keine Dateien gefunden. Das andere Gerät ist möglicherweise gesperrt. Entsperre es in diesem Fall und versuche es noch einmal."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-el/strings.xml b/packages/MtpDocumentsProvider/res/values-el/strings.xml
new file mode 100644
index 0000000..562d295
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-el/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Κεντρικός υπολογιστής MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Λήψεις"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Πρόσβαση στα αρχεία από τη συσκευή <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Η άλλη συσκευή είναι απασχολημένη. Δεν μπορείτε να μεταφέρετε αρχεία μέχρι να γίνει διαθέσιμη."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Δεν βρέθηκαν αρχεία. Η άλλη συσκευή ενδέχεται να είναι κλειδωμένη. Εάν ισχύει αυτό, ξεκλειδώστε την και δοκιμάστε ξανά."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..5f2167e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rAU/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..5f2167e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rGB/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..5f2167e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-en-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accessing files from <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"The other device is busy. You can\'t transfer files until it\'s available."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No files found. The other device may be locked. If so, unlock it and try again."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml b/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..740d224
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-es-rUS/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accediendo a los archivos de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"El otro dispositivo está ocupado. No podrás transferir archivos hasta que esté disponible."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No se encontraron archivos. Es posible que el otro dispositivo esté bloqueado. Si es así, desbloquéalo y vuelve a intentarlo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-es/strings.xml b/packages/MtpDocumentsProvider/res/values-es/strings.xml
new file mode 100644
index 0000000..d80a75a
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-es/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host de MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accediendo a los archivos desde <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"El otro dispositivo está ocupado. No se pueden transferir archivos hasta que esté disponible."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"No se ha encontrado ningún archivo. Es posible que el otro dispositivo esté bloqueado. Si es así, desbloquéalo y vuelve a intentarlo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml b/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..7568777
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-et-rEE/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Allalaadimised"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>, <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Juurdepääsemine failidele seadmest <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Teine seade on hõivatud. Te ei saa faile üle viia enne, kui see seade on saadaval."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Faile ei leitud. Teine seade võib olla lukustatud. Kui see on nii, avage see ja proovige uuesti."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml b/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..dc9d463
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-eu-rES/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ostalaria"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Deskargak"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> gailuko fitxategiak atzitzen"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Beste gailua lanpetuta dago. Erabilgarri egon arte ezingo duzu transferitu fitxategirik."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Ez da aurkitu fitxategirik. Baliteke beste gailua blokeatuta egotea. Hala bada, desblokea ezazu eta saiatu berriro."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fa/strings.xml b/packages/MtpDocumentsProvider/res/values-fa/strings.xml
new file mode 100644
index 0000000..9ac58c7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fa/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"‏میزبان MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"بارگیری‌ها"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"دسترسی به فایل‌ها از <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"دستگاه دیگر مشغول است. تا زمانی که این دستگاه دردسترس قرار نگیرد نمی‌توانید فایل‌ها را منتقل کنید."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"فایلی پیدا نشد. دستگاه دیگر ممکن است قفل باشد. اگر این‌طور است، قفل آن را باز کنید و دوباره تلاش کنید."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fi/strings.xml b/packages/MtpDocumentsProvider/res/values-fi/strings.xml
new file mode 100644
index 0000000..0a61d08
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-isäntä"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Lataukset"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Käytetään laitteen <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> tiedostoja"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Toinen laite on varattu. Et voi siirtää tiedostoja, ennen kuin se on käytettävissä."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Tiedostoja ei löytynyt. Toinen laite voi olla lukittu. Jos näin on, avaa se ja yritä uudelleen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml b/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..281760e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fr-rCA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Hôte MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Téléchargements"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accès aux fichiers à partir de l\'appareil <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"L\'autre appareil est occupé. Vous devez attendre qu\'il soit disponible pour transférer des fichiers."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Aucun fichier trouvé. L\'autre appareil est peut-être verrouillé. Si c\'est le cas, déverrouillez-le, puis réessayez."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-fr/strings.xml b/packages/MtpDocumentsProvider/res/values-fr/strings.xml
new file mode 100644
index 0000000..96c713b
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-fr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Hôte MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Téléchargements"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> – <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accès aux fichiers depuis le <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>…"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"L\'autre appareil est occupé. Vous devez attendre qu\'il soit disponible pour transférer des fichiers."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Aucun fichier trouvé. L\'autre appareil est peut-être verrouillé. Si tel est le cas, déverrouillez-le, puis réessayez."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml b/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..54bf4a9
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-gl-rES/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Descargas"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accedendo aos ficheiros de <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Non podes transferir ficheiros ata que estea dispoñible."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Non se atopou ningún ficheiro. Se o outro dispositivo está bloqueado, desbloquéao e téntao de novo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..40ec38d
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-gu-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP હોસ્ટ"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ડાઉનલોડ્સ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ની ફાઇલોને ઍક્સેસ કરી રહ્યાં છે"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"અન્ય ઉપકરણ વ્યસ્ત છે. તે ઉપલબ્ધ ન થાય ત્યાં સુધી તમે ફાઇલોને સ્થાનાંતરિત કરી શકતાં નથી."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"કોઈ ફાઇલો મળી નહીં. અન્ય ઉપકરણ લૉક કરેલ હોઈ શકે છે. જો આમ હોય, તો તેને અનલૉક કરો અને ફરી પ્રયાસ કરો."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hi/strings.xml b/packages/MtpDocumentsProvider/res/values-hi/strings.xml
new file mode 100644
index 0000000..1cf1c03
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP होस्ट"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोड"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> से फ़ाइलें एक्सेस कर रहा है"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"दूसरा डिवाइस व्यस्त है. आप उसके उपलब्ध हो जाने तक फ़ाइलें स्थानांतरित नहीं कर सकते हैं."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"कोई फ़ाइल नहीं मिली. हो सकता है कि दूसरा डिवाइस लॉक हो. यदि ऐसा है, तो उसे अनलॉक करें और पुन: प्रयास करें."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hr/strings.xml b/packages/MtpDocumentsProvider/res/values-hr/strings.xml
new file mode 100644
index 0000000..63fc5c7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Preuzimanja"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g><xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Pristupanje datotekama s uređaja <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Drugi je uređaj zauzet. Datoteke ćete moći prenijeti kada postane dostupan."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Datoteke nisu pronađene. Drugi je uređaj možda zaključan. U tom ga slučaju otključajte i pokušajte ponovo."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hu/strings.xml b/packages/MtpDocumentsProvider/res/values-hu/strings.xml
new file mode 100644
index 0000000..e5b822c
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hu/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Letöltések"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Hozzáférés a fájlokhoz a következő eszközről: <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"A másik eszköz elfoglalt. Nem vihetők át fájlok addig, amíg rendelkezésre nem áll."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nem található fájl. Lehet, hogy a másik eszköz zárolva van. Ha igen, oldja fel, és próbálkozzon újra."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml b/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..3a6bfb5
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-hy-rAM/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP խնամորդ"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Ներբեռնումներ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Մուտք է գործում ֆայլեր <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> սարքից"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Մյուս սարքը զբաղված է: Ֆայլերը կարող եք փոխանցել միայն երբ այն հասանելի է:"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Ֆայլեր չեն գտնվել: Հնարավոր է, որ մյուս սարքը կողպված է: Եթե դա այդպես է, ապակողպեք այն և փորձեք նորից:"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-in/strings.xml b/packages/MtpDocumentsProvider/res/values-in/strings.xml
new file mode 100644
index 0000000..905daec
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-in/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Unduhan"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Mengakses file dari <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Perangkat lainnya sedang sibuk. Anda dapat mentransfer file jika telah tersedia."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"File tidak ditemukan. Perangkat lainnya mungkin terkunci. Jika begitu, buka kuncinya dan coba lagi."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml b/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..9388f7e
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-is-rIS/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-hýsill"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Niðurhal"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Fær aðgang að skrám frá <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Hitt tækið er upptekið. Þú getur ekki fært skrár fyrr en það er tiltækt."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Engar skrár fundust. Hitt tækið gæti verið læst. Ef svo er skaltu opna það og reyna aftur."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-it/strings.xml b/packages/MtpDocumentsProvider/res/values-it/strings.xml
new file mode 100644
index 0000000..a41699f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-it/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Download"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> di <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Accesso ai file da <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"L\'altro dispositivo è occupato. I file non possono essere trasferiti fino a quando non sarà disponibile."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nessun file trovato. L\'altro dispositivo potrebbe essere bloccato. In questo caso, sbloccalo e riprova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-iw/strings.xml b/packages/MtpDocumentsProvider/res/values-iw/strings.xml
new file mode 100644
index 0000000..62dfe7d
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-iw/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"‏מארח פרוטוקול העברת מדיה (MTP)"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"הורדות"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"גישה לקבצים מ-<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"המכשיר השני לא פנוי. ניתן יהיה להעביר קבצים רק לאחר שהוא יהיה זמין."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"לא נמצאו קבצים. ייתכן שהמכשיר השני נעול. אם כן, פתח אותו ונסה שוב."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ja/strings.xml b/packages/MtpDocumentsProvider/res/values-ja/strings.xml
new file mode 100644
index 0000000..4ae59f5
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ja/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ホスト"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ダウンロード"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> からファイルにアクセスしています"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"接続先の端末は使用中のため、利用できるようになるまでファイルを転送できません。"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ファイルが見つかりません。接続先の端末がロックされている可能性があります。その場合は、ロックを解除してからもう一度お試しください。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml b/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..33812df
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ka-rGE/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ჰოსტი"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ჩამოტვირთვები"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"მიმდინარეობს <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>-ზე არსებულ ფაილებზე წვდომა"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"სხვა მოწყობილობა დაკავებულია. ფაილების გადატანა ვერ მოხერხდება, სანამ ის ხელმისაწვდომი არ გახდება."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ფაილები ვერ მოიძებნა. მეორე მოწყობილობა შეიძლება დაბლოკილი იყოს. ამ შემთხვევაში, განბლოკეთ ის და ცადეთ ხელახლა."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml b/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml
new file mode 100644
index 0000000..a6dea5b
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP хосты"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Жүктеп алынғандар"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Файлдарға <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> құрылғысынан кіру"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Екінші құрылғы бос емес. Ол босамайынша, файлдар тасымалданбайды."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Ешқандай файл табылмады. Екінші құрылғы құлыптаулы болуы мүмкін. Құлыптаулы болса, құлпын ашып, қайталап көріңіз."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml b/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..baffa95
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-km-rKH/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"ម៉ាស៊ីន MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ដោយឡូត"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"កំពុងចូលដំណើរការពី <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ឧបករណ៍ផ្សេងទៀតកំពុងជាប់រវល់។ អ្នកមិនផ្ទេរឯកសារបានទេ រហូតទាល់តែវាអាចប្រើបាន។"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"រកមិនឃើញឯកសារទេ។ ឧបករណ៍ផ្សេងទៀតប្រហែលជាត្រូវបានចាក់សោ។ ប្រសិនបើវាត្រូវបានចាក់សោមែន សូមដោះសោ ហើយព្យាយាមម្តងទៀត។"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..3f16c14
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-kn-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ಹೋಸ್ಟ್"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ಡೌನ್‌ಲೋಡ್‌ಗಳು"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ನಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ಬೇರೆಯ ಸಾಧನವು ಕಾರ್ಯನಿರತವಾಗಿದೆ. ಇದು ಲಭ್ಯವಾಗುವವರೆಗೆ ಫೈಲ್‌ಗಳನ್ನು ನಿಮಗೆ ವರ್ಗಾಯಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ಯಾವುದೇ ಫೈಲ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ. ಬೇರೆಯ ಸಾಧನವು ಲಾಕ್ ಆಗಿರಬಹುದು. ಹಾಗಾದಲ್ಲಿ, ಇದನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ko/strings.xml b/packages/MtpDocumentsProvider/res/values-ko/strings.xml
new file mode 100644
index 0000000..bbe2fe6
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ko/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP 호스트"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"다운로드"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>에서 파일에 액세스 중"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"다른 기기가 사용 중입니다. 다른 기기를 사용할 수 있을 때까지 파일을 전송할 수 없습니다."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"파일이 없습니다. 다른 기기가 잠겨 있을 수 있습니다. 기기의 잠금을 해제하고 다시 시도하세요."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml b/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml
new file mode 100644
index 0000000..e60a494
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ky-rKG/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP хосту"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Жүктөлүп алынган нерселер"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> түзмөгүндөгү файлдар колдонулууда"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Берки түзмөк бош эмес. Ал бошомоюнча файлдарды өткөрө албайсыз."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Бир дагы файл табылган жок. Берки түзмөк кулпуланып турат окшойт. Кулпусун ачып, кайра аракет кылып көрүңүз."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml b/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..bcc0ee6
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lo-rLA/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"ໂຮສ MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ການດາວໂຫລດ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"ກຳລັງເຂົ້າເຖິງໄຟລ໌ຈາກ <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ອຸປະກອນອື່ນບໍ່ຫວ່າງເທື່ອ. ທ່ານບໍ່ສາມາດໂອນຍ້າຍໄຟລ໌ໄດ້ຈົນກວ່າມັນຈະຫວ່າງ."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ບໍ່ພົບໄຟລ໌. ອຸປະກອນອີກເຄື່ອງອາດຖືກລັອກໄວ້ຢູ່. ຫາກມັນຖືກລັອກໄວ້, ໃຫ້ປົດລັອກມັນກ່ອນແລ້ວລອງໃໝ່ອີກຄັ້ງ."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lt/strings.xml b/packages/MtpDocumentsProvider/res/values-lt/strings.xml
new file mode 100644
index 0000000..8bff3a8
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lt/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MPP priegloba"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Atsisiuntimai"</string>
+    <string name="root_name" msgid="5819495383921089536">"„<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>“ <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Pasiekiami failai iš „<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>“"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Kitas įrenginys yra užsiėmęs. Failus galėsite perkelti tik tada, kai jis bus pasiekiamas."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nerasta failų. Gali būti, kad kitas įrenginys yra užrakintas. Jei taip yra, atrakinkite jį ir bandykite dar kartą."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-lv/strings.xml b/packages/MtpDocumentsProvider/res/values-lv/strings.xml
new file mode 100644
index 0000000..5e96338
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-lv/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP saimniekdators"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Lejupielādes"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Piekļuve failiem no: <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Otra ierīce ir aizņemta. Varēsiet pārsūtīt failus tikai tad, kad tā būs pieejama."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Neviens fails netika atrasts. Iespējams, otra ierīce ir bloķēta. Ja tā ir, atbloķējiet ierīci un mēģiniet vēlreiz."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml b/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml
new file mode 100644
index 0000000..6028b71
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mk-rMK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-хост"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Преземања"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Се пристапува до датотеки од <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Другиот уред е зафатен. Не може да се пренесуваат датотеки сѐ додека не стане достапен."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Не се најдени датотеки. Другиот уред можеби е заклучен. Ако е така, отклучете го и обидете се повторно."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..f357f96
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ml-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ഹോസ്റ്റ്"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ഡൗൺലോഡുകൾ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ഉപകരണത്തിൽ നിന്ന് ഫയലുകൾ ആക്സസ്സ് ചെയ്യുന്നു"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"രണ്ടാമത്തെ ഉപകരണം തിരക്കിലാണ്. അത് ലഭ്യമാകുന്നത് വരെ നിങ്ങൾക്ക് ഫയലുകൾ കൈമാറാൻ കഴിയില്ല."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ഫയലുകളൊന്നും കണ്ടെത്തിയില്ല. രണ്ടാമത്തെ ഉപകരണം ലോക്കുചെയ്ത നിലയിലായിരിക്കാം. ആണെങ്കിൽ, അൺലോക്കുചെയ്ത് വീണ്ടും ശ്രമിക്കുക."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml b/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..43b8204
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mn-rMN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Хост"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Таталт"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>-с файлд хандаж байна"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Нөгөө төхөөрөмж завгүй байна. Үүнийг боломжтой болох хүртэл файл шилжүүлэх боломжгүй."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Файл олдсонгүй. Нөгөө төхөөрөмж түгжигдсэн байж болзошгүй. Ингэсэн тохиолдолд түгжээг нь тайлаад, дахин оролдоно уу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..5b856dc
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-mr-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP होस्ट"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोड"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> मधून फायलींंमध्ये प्रवेश करीत आहे"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"अन्य डिव्हाइस व्यस्त आहे. ते उपलब्‍ध होईपर्यंत आपण फायली हस्तांतरित करू शकत नाही."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"कोणत्याही फायली आढळल्या नाहीत. अन्य डिव्हाइस कदाचित बंद असू शकते. तसे असल्यास, ते अनलॉक करा आणि पुन्हा प्रयत्न करा."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml b/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..febec1d
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ms-rMY/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Hos MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Muat turun"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Mengakses fail daripada <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Peranti lain sedang sibuk. Anda tidak boleh memindahkan fail sehingga peranti itu tersedia."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Tiada fail ditemui. Peranti lain itu mungkin dikunci. Jika benar, sila buka kuncinya dan cuba lagi."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml b/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..8b509fb
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-my-rMM/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP လက်ခံစက်"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ဒေါင်းလုဒ်များ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> မှ ဖိုင်များကို အသုံးပြုနေသည်"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"တခြားစက်ပစ္စည်းသည် မအားသေးပါ။ ၎င်းအဆင်သင့် မဖြစ်သေးသ၍ ဖိုင်များကို လွှဲပြောင်း၍ရမည် မဟုတ်ပါ။"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"မည်သည့်ဖိုင်မျှ မတွေ့ပါ။ ၎င်းစက်ပစ္စည်းကို လော့ခ်ချထားပုံရပါသည်။ သို့ဖြစ်လျှင် ၎င်းကိုလော့ခ်ဖြုတ်ပြီး ထပ်လုပ်ကြည့်ပါ။"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-nb/strings.xml b/packages/MtpDocumentsProvider/res/values-nb/strings.xml
new file mode 100644
index 0000000..40fabed
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-nb/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-vert"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Nedlastinger"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> på <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Bruker filer på <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Den andre enheten er opptatt. Du kan ikke overføre filer før den er tilgjengelig."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Ingen filer ble funnet. Den andre enheten kan være låst. I så fall må du låse den opp og prøve igjen."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml b/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..9a059e2
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ne-rNP/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP होस्ट"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"डाउनलोडहरू"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> बाट फाइलहरूमाथि पहुँच राख्दै"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"अर्को यन्त्र व्यस्त छ। त्यो यन्त्र उपलब्ध नभएसम्म तपाईँ फाइल स्थानान्तरण गर्न सक्नुहुन्न।"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"कुनै फाइल भेट्टिएन। अर्को यन्त्र लक गरिएको हुन सक्छ। यदि त्यसो हो भने त्यसलाई अनलक गरेर फेरि प्रयास गर्नुहोस्।"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-nl/strings.xml b/packages/MtpDocumentsProvider/res/values-nl/strings.xml
new file mode 100644
index 0000000..b1a01b2
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-nl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Bestanden openen op <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Het andere apparaat wordt gebruikt. Je moet wachten tot het beschikbaar is om bestanden te kunnen overzetten."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Geen bestanden gevonden. Het kan zijn dat het andere apparaat is vergrendeld. Als dat het geval is, ontgrendel je het en probeer je het opnieuw."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..ab8ba15
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pa-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ਹੋਸਟ"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ਡਾਊਨਲੋਡ"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> ਦੀਆਂ ਫ਼ਾਈਲਾਂ \'ਤੇ ਪਹੁੰਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ਦੂਜੀ ਡੀਵਾਈਸ ਰੁਝੇਵੇਂ ਵਿੱਚ ਹੈ। ਉਸਦੇ ਉਪਲਬਧ ਹੋਣ ਤੱਕ ਤੁਸੀਂ ਫ਼ਾਈਲਾਂ ਦਾ ਤਬਾਦਲਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ਕੋਈ ਫ਼ਾਈਲਾਂ ਨਹੀਂ ਮਿਲੀਆਂ। ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਦੂਜੀ ਡੀਵਾਈਸ ਲੌਕ ਹੋਵੇ। ਜੇਕਰ ਇੰਝ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਅਨਲੌਕ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pl/strings.xml b/packages/MtpDocumentsProvider/res/values-pl/strings.xml
new file mode 100644
index 0000000..69fa0f4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Pobrane"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> – <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Uzyskuję dostęp do plików na urządzeniu <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Drugie urządzenie jest zajęte. Dopóki nie będzie dostępne, nie możesz przesłać plików."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nie znaleziono plików. Drugie urządzenie może być zablokowane. Jeśli tak jest, odblokuj je i spróbuj ponownie."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml b/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml
new file mode 100644
index 0000000..03a1426
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt-rBR/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host do MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Acessando arquivos do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não é possível transferir arquivos até que ele esteja disponível."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nenhum arquivo encontrado. É possível que o outro dispositivo esteja bloqueado. Se for o caso, desbloqueie-o e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml b/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..05d32d4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt-rPT/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Anfitrião MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Transferências"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Aceder a ficheiros do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não pode transferir os ficheiros enquanto não estiver disponível."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nenhum ficheiro encontrado. O outro dispositivo pode estar bloqueado. Se assim for, desbloqueie e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-pt/strings.xml b/packages/MtpDocumentsProvider/res/values-pt/strings.xml
new file mode 100644
index 0000000..03a1426
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-pt/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host do MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Downloads"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Acessando arquivos do <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"O outro dispositivo está ocupado. Não é possível transferir arquivos até que ele esteja disponível."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nenhum arquivo encontrado. É possível que o outro dispositivo esteja bloqueado. Se for o caso, desbloqueie-o e tente novamente."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ro/strings.xml b/packages/MtpDocumentsProvider/res/values-ro/strings.xml
new file mode 100644
index 0000000..21ebc57
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ro/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Gazdă MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Descărcări"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Se accesează fișierele de pe <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Celălalt dispozitiv este ocupat. Nu puteți să transferați fișiere înainte să fie disponibil."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nu s-au găsit fișiere. Este posibil ca celălalt dispozitiv să fie blocat. În acest caz, deblocați-l și încercați din nou."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ru/strings.xml b/packages/MtpDocumentsProvider/res/values-ru/strings.xml
new file mode 100644
index 0000000..717f12f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ru/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-хост"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Загрузки"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="STORAGE_NAME">%2$s</xliff:g> <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Доступ к файлам на устройстве <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>…"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Другое устройство занято. Вы сможете передать файлы, когда оно будет доступно."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Файлы не найдены. Если другое устройство заблокировано, разблокируйте его и повторите попытку."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml b/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..7a096b0
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-si-rLK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP සංග්‍රාහක"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"බාගැනීම්"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> වෙතින් ගොනු වෙත පිවිසීම"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"අනෙක් උපාංගය කාර්ය බහුලය. එය ලබා ගත හැකි වන තෙක් ඔබට ගොනු මාරු කළ නොහැකිය."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ගොනු හමු නොවීය. අනෙක් උපාංගය අගුලු දමා තිබිය හැකිය. එසේ නම්, එය අගුලු හැර නැවත උත්සාහ කරන්න."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sk/strings.xml b/packages/MtpDocumentsProvider/res/values-sk/strings.xml
new file mode 100644
index 0000000..365e1b7
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sk/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Hostiteľ MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Stiahnuté súbory"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Prístup k súborom zo zariadenia <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Druhé zariadenie je zaneprázdnené. Súbory bude možné preniesť, keď bude k dispozícii."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nenašli sa žiadne súbory. Druhé zariadenie môže byť uzamknuté. Ak je to tak, odomknite ho a skúste to znova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sl/strings.xml b/packages/MtpDocumentsProvider/res/values-sl/strings.xml
new file mode 100644
index 0000000..60945d6
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Gostitelj MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Prenosi"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Dostopanje do datotek iz naprave <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Druga naprava ni na voljo. Dokler ne bo na voljo, ne bo mogoče prenašati datotek."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Ni datotek. Druga naprava je morda zaklenjena. Če je zaklenjena, jo odklenite in poskusite znova."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml b/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..d92f29f
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sq-rAL/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Pritësi i protokollit MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Shkarkimet"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Po qaset te skedarët nga <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Pajisja tjetër është e zënë. Nuk mund të transferosh skedarë deri sa të jetë në dispozicion."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Nuk u gjet asnjë skedar. Pajisja tjetër mund të jetë e kyçur. Nëse po, shkyçe dhe provo përsëri."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sr/strings.xml b/packages/MtpDocumentsProvider/res/values-sr/strings.xml
new file mode 100644
index 0000000..d91c5c4
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP хост"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Преузимања"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Приступ датотекама са уређаја <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Други уређај је заузет. Датотеке можете да пренесете тек кад он постане доступан."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Није пронађена ниједна датотека. Други уређај је можда закључан. Ако јесте, откључајте га и покушајте поново."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sw/strings.xml b/packages/MtpDocumentsProvider/res/values-sw/strings.xml
new file mode 100644
index 0000000..de3ed54
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sw/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Seva pangishi ya MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Vipakuliwa"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Inafikia faili kwenye <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Kifaa hicho kingine kinatumika. Huwezi kuhamisha faili hadi kipatikane."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Hakuna faili zilizopatikana. Huenda kifaa hicho kingine kimefungwa. Ikiwa kimefungwa, kifungue na ujaribu tena."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..c6e6e620
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ta-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP ஹோஸ்ட்"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"இறக்கங்கள்"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> இலிருந்து கோப்புகளை அணுகுகிறது"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"பிற சாதனம் பணிமிகுதியில் உள்ளதால், அந்தப் பணி முடியும் வரை கோப்புகளை இடமாற்ற முடியாது."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"கோப்புகள் இல்லை. பிற சாதனம் பூட்டப்பட்டிருக்கக்கூடும் என்பதால் முதலில் அதைத் திறந்து, மீண்டும் முயலவும்."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml b/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..7add858
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-te-rIN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP హోస్ట్"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"డౌన్‌లోడ్‌లు"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> నుండి ఫైల్‌లను ప్రాప్యత చేస్తోంది"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"ఇతర పరికరం బిజీగా ఉంది. అది అందుబాటులోకి వచ్చే వరకు మీరు ఫైల్‌లను బదిలీ చేయలేరు."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ఫైల్‍లు ఏవీ కనుగొనబడలేదు. ఇతర పరికరం లాక్ చేయబడి ఉండవచ్చు. అలా జరిగి ఉంటే, దాన్ని అన్‌లాక్ చేసి, ఆపై మళ్లీ ప్రయత్నించండి."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-th/strings.xml b/packages/MtpDocumentsProvider/res/values-th/strings.xml
new file mode 100644
index 0000000..d2b62fe
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-th/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"โฮสต์ MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ดาวน์โหลด"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"กำลังเข้าถึงไฟล์จาก <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"อุปกรณ์อีกเครื่องหนึ่งไม่ว่าง คุณไม่สามารถโอนไฟล์จนกว่าอุปกรณ์จะสามารถใช้ได้"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"ไม่พบไฟล์ อุปกรณ์อีกเครื่องหนึ่งอาจล็อกอยู่ หากเป็นเช่นนั้น ให้ปลดล็อกและลองอีกครั้ง"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-tl/strings.xml b/packages/MtpDocumentsProvider/res/values-tl/strings.xml
new file mode 100644
index 0000000..68b2eba
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-tl/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Host ng MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Mga Download"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Nag-a-access ng mga file mula sa <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Abala ang kabilang device. Hindi ka makakapaglipat ng mga file hanggang sa maging available ito."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Walang natagpuang mga file. Maaaring naka-lock ang kabilang device. Kung gayon, i-unlock ito at subukang muli."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-tr/strings.xml b/packages/MtpDocumentsProvider/res/values-tr/strings.xml
new file mode 100644
index 0000000..14250ef
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-tr/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Ana Makinesi"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"İndirilenler"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> cihazdaki dosyalara erişiliyor"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Diğer cihaz meşgul. Cihaz kullanılabilir duruma gelene kadar dosyaları aktaramazsınız."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Hiçbir dosya bulunamadı. Diğer cihaz kilitli olabilir. Kilitliyse, kilidini açıp tekrar deneyin."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-uk/strings.xml b/packages/MtpDocumentsProvider/res/values-uk/strings.xml
new file mode 100644
index 0000000..8589f8c
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-uk/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Хост MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Завантаження"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Відкриваються файли з пристрою <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Інший пристрій зайнятий. Щоб передавати файли, він має бути доступним."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Не вдалося знайти файли. Можливо, інший пристрій заблоковано. У такому разі розблокуйте його та повторіть спробу."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml b/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..17578ae
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-ur-rPK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"‏MTP میزبان"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"ڈاؤن لوڈز"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> سے فائلوں کی رسائی ہو رہی ہے"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"دوسرا آلہ مصروف ہے۔ اس کے دستیاب ہونے تک آپ فائلیں منتقل نہیں کر سکتے۔"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"کوئی فائلیں نہیں ملیں۔ ہو سکتا ہے دوسرا آلہ مقفل ہو۔ اگر ایسا ہے تو اسے غیر مقفل کریں اور دوبارہ کوشش کریں۔"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml b/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml
new file mode 100644
index 0000000..dea4cff
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP Host"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Yuklanishlar"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g><xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> qurilmasidan fayllar o‘qilmoqda"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Ulangan qurilma band. U bo‘shamaguncha fayllarni o‘tkazib bo‘lmaydi."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Hech qanday fayl topilmadi. Ulangan qurilma qulflangan bo‘lishi mumkin. Agar shunday bo‘lsa, uni qulfdan chiqaring va qayta urinib ko‘ring."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-vi/strings.xml b/packages/MtpDocumentsProvider/res/values-vi/strings.xml
new file mode 100644
index 0000000..0eb6310
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-vi/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Máy chủ MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Tải xuống"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Đang truy cập tệp từ <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Thiết bị khác đang bận. Bạn không thể chuyển tệp cho đến khi thiết bị rảnh."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Không tìm thấy tệp. Thiết bị khác có thể đã bị khóa. Nếu như vậy, hãy mở khóa thiết bị rồi thử lại."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..7f1f394
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rCN/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP 主机"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"下载"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"正在访问 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 的文件"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"另一台设备正忙。您必须等到该设备可用时才能传输文件。"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"未找到任何文件。另一台设备可能处于锁定状态;如果是这样,请解锁该设备并重试。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..be8c548
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rHK/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"媒體傳輸協定主機"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"下載"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 的「<xliff:g id="STORAGE_NAME">%2$s</xliff:g>」"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"正在從 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 存取檔案"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"另一部裝置目前處於忙碌狀態,要等到該裝置可用時才能轉移檔案。"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"找不到檔案。如果另一部裝置處於鎖定狀態,請解鎖該裝置,然後再試一次。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml b/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..2fe3c06
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zh-rTW/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"媒體傳輸通訊協定主機"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"下載"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"正在從 <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> 存取檔案"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"另一個裝置忙碌中。必須等到該裝置可用時才能轉移檔案。"</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"找不到任何檔案。如果另一個裝置處於鎖定狀態,請將該裝置解鎖後再試一次。"</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-zu/strings.xml b/packages/MtpDocumentsProvider/res/values-zu/strings.xml
new file mode 100644
index 0000000..f3f7206
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-zu/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"Ukusingatha kwe-MTP"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Okulandiwe"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Ifinyelela kumafayela kusukela ku-<xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Enye idivayisi imatasatasa. Awukwazi ukudlulisela amafayela ize itholakale."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Awekho amafayela atholiwe. Enye idivayisi kungenzeka ikhiyiwe. Uma kunjalo, yivule uphinde uzame futhi."</string>
+</resources>