docs: Fixed language directory issue.
am: e9d0adb735  -s ours

Change-Id: Icdffa01fe8ee2a9683cee436a2822a243d915c12
diff --git a/Android.mk b/Android.mk
index e741d9b..d873453 100644
--- a/Android.mk
+++ b/Android.mk
@@ -890,7 +890,7 @@
 
 ## SDK version identifiers used in the published docs
   # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=6.0
+framework_docs_SDK_VERSION:=7.0
   # release version (ie "Release x")  (full releases only)
 framework_docs_SDK_REL_ID:=1
 
@@ -899,7 +899,7 @@
 		-hdf sdk.preview.version 5 \
 		-hdf sdk.version $(framework_docs_SDK_VERSION) \
 		-hdf sdk.rel.id $(framework_docs_SDK_REL_ID) \
-		-hdf sdk.preview 1
+		-hdf sdk.preview 0
 
 # ====  the api stubs and current.xml ===========================
 include $(CLEAR_VARS)
@@ -919,6 +919,7 @@
 
 LOCAL_DROIDDOC_OPTIONS:=\
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-referenceonly \
 		-api $(INTERNAL_PLATFORM_API_FILE) \
 		-removedApi $(INTERNAL_PLATFORM_REMOVED_API_FILE) \
 		-nodocs
@@ -952,6 +953,7 @@
 
 LOCAL_DROIDDOC_OPTIONS:=\
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-referenceonly \
 		-showAnnotation android.annotation.SystemApi \
 		-api $(INTERNAL_PLATFORM_SYSTEM_API_FILE) \
 		-removedApi $(INTERNAL_PLATFORM_SYSTEM_REMOVED_API_FILE) \
@@ -986,6 +988,7 @@
 
 LOCAL_DROIDDOC_OPTIONS:=\
                $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+               -referenceonly \
                -stubs $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_test_stubs_current_intermediates/src \
                -showAnnotation android.annotation.TestApi \
                -api $(INTERNAL_PLATFORM_TEST_API_FILE) \
@@ -1019,6 +1022,7 @@
 
 LOCAL_DROIDDOC_OPTIONS:=\
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-referenceonly \
 		-parsecomments
 
 LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
@@ -1057,7 +1061,7 @@
 		-sdkvalues $(OUT_DOCS) \
 		-hdf android.whichdoc offline
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
@@ -1100,7 +1104,7 @@
 
 static_doc_index_redirect := $(out_dir)/index.html
 $(static_doc_index_redirect): \
-	$(LOCAL_PATH)/docs/docs-preview-index.html | $(ACP)
+	$(LOCAL_PATH)/docs/docs-documentation-redirect.html | $(ACP)
 	$(hide) mkdir -p $(dir $@)
 	$(hide) $(ACP) $< $@
 
@@ -1132,7 +1136,7 @@
 		-hdf android.hasSamples true \
 		-samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
@@ -1156,6 +1160,7 @@
 
 LOCAL_DROIDDOC_OPTIONS:= \
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-referenceonly \
 		-showAnnotation android.annotation.SystemApi \
 		-title "Android SDK - Including system APIs." \
 		-toroot / \
@@ -1192,17 +1197,42 @@
 
 LOCAL_DROIDDOC_OPTIONS:= \
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
-		-devsite \
-		-hdf devsite true \
 		-toroot / \
 		-hdf android.whichdoc online \
+		-devsite \
 		$(sample_groups) \
-		-useUpdatedTemplates \
 		-hdf android.hasSamples true \
-		-yaml _book.yaml \
 		-samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
+
+include $(BUILD_DROIDDOC)
+
+# ==== docs for the web (on the devsite app engine server) =======================
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES)
+LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)
+LOCAL_STATIC_JAVA_LIBRARIES:=$(framework_docs_LOCAL_STATIC_JAVA_LIBRARIES)
+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES)
+LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS)
+LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH)
+LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)
+LOCAL_ADDITIONAL_JAVA_DIR:=$(framework_docs_LOCAL_ADDITIONAL_JAVA_DIR)
+LOCAL_ADDITIONAL_DEPENDENCIES:=$(framework_docs_LOCAL_ADDITIONAL_DEPENDENCIES)
+# specify a second html input dir and an output path relative to OUT_DIR)
+LOCAL_ADDITIONAL_HTML_DIR:=docs/html-intl /
+
+LOCAL_MODULE := ds-static
+
+LOCAL_DROIDDOC_OPTIONS:= \
+		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-hdf android.whichdoc online \
+		-staticonly \
+		-toroot / \
+		-devsite \
+		-ignoreJdLinks
+
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
@@ -1227,11 +1257,10 @@
 		-toroot / \
 		-hdf android.whichdoc online \
 		$(sample_groups) \
-		-useUpdatedTemplates \
 		-hdf android.hasSamples true \
 		-samplesdir $(samples_dir)
 
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk-dev
+LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
 
 include $(BUILD_DROIDDOC)
 
@@ -1250,6 +1279,7 @@
 LOCAL_MODULE := hidden
 LOCAL_DROIDDOC_OPTIONS:=\
 		$(framework_docs_LOCAL_DROIDDOC_OPTIONS) \
+		-referenceonly \
 		-title "Android SDK - Including hidden APIs."
 #		-hidden
 
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index ae78e21..c4eaccc 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -628,8 +628,8 @@
         if (connection == null) {
             return false;
         }
-        List<MotionEvent> events = MotionEventGenerator.getMotionEventsFromGestureDescription(
-                gesture, 100);
+        List<GestureDescription.GestureStep> steps =
+                MotionEventGenerator.getGestureStepsFromGestureDescription(gesture, 100);
         try {
             synchronized (mLock) {
                 mGestureStatusCallbackSequence++;
@@ -641,8 +641,8 @@
                             callback, handler);
                     mGestureStatusCallbackInfos.put(mGestureStatusCallbackSequence, callbackInfo);
                 }
-                connection.sendMotionEvents(mGestureStatusCallbackSequence,
-                        new ParceledListSlice<>(events));
+                connection.sendGesture(mGestureStatusCallbackSequence,
+                        new ParceledListSlice<>(steps));
             }
         } catch (RemoteException re) {
             throw new RuntimeException(re);
diff --git a/core/java/android/accessibilityservice/GestureDescription.java b/core/java/android/accessibilityservice/GestureDescription.java
index fc9581e..d9b03fa 100644
--- a/core/java/android/accessibilityservice/GestureDescription.java
+++ b/core/java/android/accessibilityservice/GestureDescription.java
@@ -21,6 +21,8 @@
 import android.graphics.Path;
 import android.graphics.PathMeasure;
 import android.graphics.RectF;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.view.InputDevice;
 import android.view.MotionEvent;
 import android.view.MotionEvent.PointerCoords;
@@ -303,13 +305,37 @@
         }
     }
 
-    private static class TouchPoint {
+    /**
+     * The location of a finger for gesture dispatch
+     *
+     * @hide
+     */
+    public static class TouchPoint implements Parcelable {
+        private static final int FLAG_IS_START_OF_PATH = 0x01;
+        private static final int FLAG_IS_END_OF_PATH = 0x02;
+
         int mPathIndex;
         boolean mIsStartOfPath;
         boolean mIsEndOfPath;
         float mX;
         float mY;
 
+        public TouchPoint() {
+        }
+
+        public TouchPoint(TouchPoint pointToCopy) {
+            copyFrom(pointToCopy);
+        }
+
+        public TouchPoint(Parcel parcel) {
+            mPathIndex = parcel.readInt();
+            int startEnd = parcel.readInt();
+            mIsStartOfPath = (startEnd & FLAG_IS_START_OF_PATH) != 0;
+            mIsEndOfPath = (startEnd & FLAG_IS_END_OF_PATH) != 0;
+            mX = parcel.readFloat();
+            mY = parcel.readFloat();
+        }
+
         void copyFrom(TouchPoint other) {
             mPathIndex = other.mPathIndex;
             mIsStartOfPath = other.mIsStartOfPath;
@@ -317,12 +343,94 @@
             mX = other.mX;
             mY = other.mY;
         }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            dest.writeInt(mPathIndex);
+            int startEnd = mIsStartOfPath ? FLAG_IS_START_OF_PATH : 0;
+            startEnd |= mIsEndOfPath ? FLAG_IS_END_OF_PATH : 0;
+            dest.writeInt(startEnd);
+            dest.writeFloat(mX);
+            dest.writeFloat(mY);
+        }
+
+        public static final Parcelable.Creator<TouchPoint> CREATOR
+                = new Parcelable.Creator<TouchPoint>() {
+            public TouchPoint createFromParcel(Parcel in) {
+                return new TouchPoint(in);
+            }
+
+            public TouchPoint[] newArray(int size) {
+                return new TouchPoint[size];
+            }
+        };
+    }
+
+    /**
+     * A step along a gesture. Contains all of the touch points at a particular time
+     *
+     * @hide
+     */
+    public static class GestureStep implements Parcelable {
+        public long timeSinceGestureStart;
+        public int numTouchPoints;
+        public TouchPoint[] touchPoints;
+
+        public GestureStep(long timeSinceGestureStart, int numTouchPoints,
+                TouchPoint[] touchPointsToCopy) {
+            this.timeSinceGestureStart = timeSinceGestureStart;
+            this.numTouchPoints = numTouchPoints;
+            this.touchPoints = new TouchPoint[numTouchPoints];
+            for (int i = 0; i < numTouchPoints; i++) {
+                this.touchPoints[i] = new TouchPoint(touchPointsToCopy[i]);
+            }
+        }
+
+        public GestureStep(Parcel parcel) {
+            timeSinceGestureStart = parcel.readLong();
+            Parcelable[] parcelables =
+                    parcel.readParcelableArray(TouchPoint.class.getClassLoader());
+            numTouchPoints = (parcelables == null) ? 0 : parcelables.length;
+            touchPoints = new TouchPoint[numTouchPoints];
+            for (int i = 0; i < numTouchPoints; i++) {
+                touchPoints[i] = (TouchPoint) parcelables[i];
+            }
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            dest.writeLong(timeSinceGestureStart);
+            dest.writeParcelableArray(touchPoints, flags);
+        }
+
+        public static final Parcelable.Creator<GestureStep> CREATOR
+                = new Parcelable.Creator<GestureStep>() {
+            public GestureStep createFromParcel(Parcel in) {
+                return new GestureStep(in);
+            }
+
+            public GestureStep[] newArray(int size) {
+                return new GestureStep[size];
+            }
+        };
     }
 
     /**
      * Class to convert a GestureDescription to a series of MotionEvents.
+     *
+     * @hide
      */
-    static class MotionEventGenerator {
+    public static class MotionEventGenerator {
         /**
          * Constants used to initialize all MotionEvents
          */
@@ -341,39 +449,53 @@
         private static PointerCoords[] sPointerCoords;
         private static PointerProperties[] sPointerProps;
 
-        static List<MotionEvent> getMotionEventsFromGestureDescription(
+        static List<GestureStep> getGestureStepsFromGestureDescription(
                 GestureDescription description, int sampleTimeMs) {
-            final List<MotionEvent> motionEvents = new ArrayList<>();
+            final List<GestureStep> gestureSteps = new ArrayList<>();
 
             // Point data at each time we generate an event for
             final TouchPoint[] currentTouchPoints =
                     getCurrentTouchPoints(description.getStrokeCount());
-            // Point data sent in last touch event
-            int lastTouchPointSize = 0;
-            final TouchPoint[] lastTouchPoints =
-                    getLastTouchPoints(description.getStrokeCount());
-
+            int currentTouchPointSize = 0;
             /* Loop through each time slice where there are touch points */
             long timeSinceGestureStart = 0;
             long nextKeyPointTime = description.getNextKeyPointAtLeast(timeSinceGestureStart);
             while (nextKeyPointTime >= 0) {
-                timeSinceGestureStart = (lastTouchPointSize == 0) ? nextKeyPointTime
+                timeSinceGestureStart = (currentTouchPointSize == 0) ? nextKeyPointTime
                         : Math.min(nextKeyPointTime, timeSinceGestureStart + sampleTimeMs);
-                int currentTouchPointSize = description.getPointsForTime(timeSinceGestureStart,
+                currentTouchPointSize = description.getPointsForTime(timeSinceGestureStart,
                         currentTouchPoints);
-
-                appendMoveEventIfNeeded(motionEvents, lastTouchPoints, lastTouchPointSize,
-                        currentTouchPoints, currentTouchPointSize, timeSinceGestureStart);
-                lastTouchPointSize = appendUpEvents(motionEvents, lastTouchPoints,
-                        lastTouchPointSize, currentTouchPoints, currentTouchPointSize,
-                        timeSinceGestureStart);
-                lastTouchPointSize = appendDownEvents(motionEvents, lastTouchPoints,
-                        lastTouchPointSize, currentTouchPoints, currentTouchPointSize,
-                        timeSinceGestureStart);
+                gestureSteps.add(new GestureStep(timeSinceGestureStart, currentTouchPointSize,
+                        currentTouchPoints));
 
                 /* Move to next time slice */
                 nextKeyPointTime = description.getNextKeyPointAtLeast(timeSinceGestureStart + 1);
             }
+            return gestureSteps;
+        }
+
+        public static List<MotionEvent> getMotionEventsFromGestureSteps(List<GestureStep> steps) {
+            final List<MotionEvent> motionEvents = new ArrayList<>();
+
+            // Number of points in last touch event
+            int lastTouchPointSize = 0;
+            TouchPoint[] lastTouchPoints;
+
+            for (int i = 0; i < steps.size(); i++) {
+                GestureStep step = steps.get(i);
+                int currentTouchPointSize = step.numTouchPoints;
+                lastTouchPoints = getLastTouchPoints(
+                        Math.max(lastTouchPointSize, currentTouchPointSize));
+
+                appendMoveEventIfNeeded(motionEvents, lastTouchPoints, lastTouchPointSize,
+                        step.touchPoints, currentTouchPointSize, step.timeSinceGestureStart);
+                lastTouchPointSize = appendUpEvents(motionEvents, lastTouchPoints,
+                        lastTouchPointSize, step.touchPoints, currentTouchPointSize,
+                        step.timeSinceGestureStart);
+                lastTouchPointSize = appendDownEvents(motionEvents, lastTouchPoints,
+                        lastTouchPointSize, step.touchPoints, currentTouchPointSize,
+                        step.timeSinceGestureStart);
+            }
             return motionEvents;
         }
 
diff --git a/core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl b/core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl
index 7a55079..81cddba 100644
--- a/core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl
+++ b/core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl
@@ -88,5 +88,5 @@
 
     void setSoftKeyboardCallbackEnabled(boolean enabled);
 
-    void sendMotionEvents(int sequence, in ParceledListSlice events);
+    void sendGesture(int sequence, in ParceledListSlice gestureSteps);
 }
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index ae3e0ce..b1a578d 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -175,11 +175,11 @@
  * part of the platform's application model. For a detailed perspective on the structure of an
  * Android application and how activities behave, please read the
  * <a href="{@docRoot}guide/topics/fundamentals.html">Application Fundamentals</a> and
- * <a href="{@docRoot}guide/topics/fundamentals/tasks-and-back-stack.html">Tasks and Back Stack</a>
+ * <a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tasks and Back Stack</a>
  * developer guides.</p>
  *
  * <p>You can also find a detailed discussion about how to create activities in the
- * <a href="{@docRoot}guide/topics/fundamentals/activities.html">Activities</a>
+ * <a href="{@docRoot}guide/components/activities.html">Activities</a>
  * developer guide.</p>
  * </div>
  *
@@ -3366,7 +3366,7 @@
      * should override the method {@link #onPrepareNavigateUpTaskStack(TaskStackBuilder)}
      * to supply those arguments.</p>
      *
-     * <p>See <a href="{@docRoot}guide/topics/fundamentals/tasks-and-back-stack.html">Tasks and Back Stack</a>
+     * <p>See <a href="{@docRoot}guide/components/tasks-and-back-stack.html">Tasks and Back Stack</a>
      * from the developer guide and <a href="{@docRoot}design/patterns/navigation.html">Navigation</a>
      * from the design guide for more information about navigating within your app.</p>
      *
@@ -4467,7 +4467,7 @@
      *
      * @throws android.content.ActivityNotFoundException
      *
-     * @see {@link #startActivity(Intent, Bundle)}
+     * @see #startActivity(Intent, Bundle)
      * @see #startActivityForResult
      */
     @Override
@@ -4494,7 +4494,7 @@
      *
      * @throws android.content.ActivityNotFoundException
      *
-     * @see {@link #startActivity(Intent)}
+     * @see #startActivity(Intent)
      * @see #startActivityForResult
      */
     @Override
@@ -4516,7 +4516,7 @@
      *
      * @throws android.content.ActivityNotFoundException
      *
-     * @see {@link #startActivities(Intent[], Bundle)}
+     * @see #startActivities(Intent[], Bundle)
      * @see #startActivityForResult
      */
     @Override
@@ -4543,7 +4543,7 @@
      *
      * @throws android.content.ActivityNotFoundException
      *
-     * @see {@link #startActivities(Intent[])}
+     * @see #startActivities(Intent[])
      * @see #startActivityForResult
      */
     @Override
@@ -4923,7 +4923,7 @@
      * <p>As of {@link android.os.Build.VERSION_CODES#JELLY_BEAN} an alternative
      * to using this with starting activities is to supply the desired animation
      * information through a {@link ActivityOptions} bundle to
-     * {@link #startActivity(Intent, Bundle) or a related function.  This allows
+     * {@link #startActivity(Intent, Bundle)} or a related function.  This allows
      * you to specify a custom animation even when starting an activity from
      * outside the context of the current top activity.
      *
@@ -6105,7 +6105,6 @@
      *      the return value must be checked.
      *
      * @see #onVisibleBehindCanceled()
-     * @see #onBackgroundVisibleBehindChanged(boolean)
      */
     public boolean requestVisibleBehind(boolean visible) {
         if (!mResumed) {
@@ -6133,7 +6132,6 @@
      * process. Otherwise {@link #onStop()} will be called following return.
      *
      * @see #requestVisibleBehind(boolean)
-     * @see #onBackgroundVisibleBehindChanged(boolean)
      */
     @CallSuper
     public void onVisibleBehindCanceled() {
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index a637ef4..a9cd34c 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -194,7 +194,7 @@
  * <div class="special reference">
  * <h3>Developer Guides</h3>
  * <p>For more information about using fragments, read the
- * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide.</p>
  * </div>
  *
  * <a name="OlderPlatforms"></a>
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index cd7665c..bfaf332 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -59,7 +59,7 @@
  * <div class="special reference">
  * <h3>Developer Guides</h3>
  * <p>For more information about using fragments, read the
- * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide.</p>
  * </div>
  *
  * While the FragmentManager API was introduced in
diff --git a/core/java/android/app/package.html b/core/java/android/app/package.html
index f37f1dc..b259cad 100644
--- a/core/java/android/app/package.html
+++ b/core/java/android/app/package.html
@@ -34,7 +34,7 @@
 <p>For information about using some the classes in this package, see the following
 documents: <a href="{@docRoot}guide/topics/fundamentals/activities.html">Activities</a>, <a
 href="{@docRoot}guide/topics/fundamentals/services.html">Services</a>, <a
-href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a>, <a
+href="{@docRoot}guide/components/fragments.html">Fragments</a>, <a
 href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a>, <a
 href="{@docRoot}guide/topics/ui/dialogs.html">Creating Dialogs</a>, and <a
 href="{@docRoot}guide/topics/ui/notifiers/index.html">Notifying the User</a>.</p>
diff --git a/core/java/android/content/Loader.java b/core/java/android/content/Loader.java
index c5e0ea7..3faf13b 100644
--- a/core/java/android/content/Loader.java
+++ b/core/java/android/content/Loader.java
@@ -44,7 +44,7 @@
  * <div class="special reference">
  * <h3>Developer Guides</h3>
  * <p>For more information about using loaders, read the
- * <a href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> developer guide.</p>
+ * <a href="{@docRoot}guide/components/loaders.html">Loaders</a> developer guide.</p>
  * </div>
  *
  * @param <D> The result returned when the load is complete
diff --git a/core/java/android/content/SharedPreferences.java b/core/java/android/content/SharedPreferences.java
index 7f9e176..4b09fed 100644
--- a/core/java/android/content/SharedPreferences.java
+++ b/core/java/android/content/SharedPreferences.java
@@ -72,7 +72,9 @@
          * {@link #commit} or {@link #apply} are called.
          * 
          * @param key The name of the preference to modify.
-         * @param value The new value for the preference.
+         * @param value The new value for the preference.  Passing {@code null}
+         *    for this argument is equivalent to calling {@link #remove(String)} with
+         *    this key.
          * 
          * @return Returns a reference to the same Editor object, so you can
          * chain put calls together.
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java
index 63f39c5..4f4e722 100644
--- a/core/java/android/os/AsyncTask.java
+++ b/core/java/android/os/AsyncTask.java
@@ -35,8 +35,8 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
- * <p>AsyncTask enables proper and easy use of the UI thread. This class allows to
- * perform background operations and publish results on the UI thread without
+ * <p>AsyncTask enables proper and easy use of the UI thread. This class allows you
+ * to perform background operations and publish results on the UI thread without
  * having to manipulate threads and/or handlers.</p>
  *
  * <p>AsyncTask is designed to be a helper class around {@link Thread} and {@link Handler}
@@ -55,7 +55,7 @@
  * <div class="special reference">
  * <h3>Developer Guides</h3>
  * <p>For more information about using tasks and threads, read the
- * <a href="{@docRoot}guide/topics/fundamentals/processes-and-threads.html">Processes and
+ * <a href="{@docRoot}guide/components/processes-and-threads.html">Processes and
  * Threads</a> developer guide.</p>
  * </div>
  *
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index f664e70..21b3f6e 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -559,6 +559,15 @@
             ZygoteState zygoteState, ArrayList<String> args)
             throws ZygoteStartFailedEx {
         try {
+            // Throw early if any of the arguments are malformed. This means we can
+            // avoid writing a partial response to the zygote.
+            int sz = args.size();
+            for (int i = 0; i < sz; i++) {
+                if (args.get(i).indexOf('\n') >= 0) {
+                    throw new ZygoteStartFailedEx("embedded newlines not allowed");
+                }
+            }
+
             /**
              * See com.android.internal.os.ZygoteInit.readArgumentList()
              * Presently the wire format to the zygote process is:
@@ -575,13 +584,8 @@
             writer.write(Integer.toString(args.size()));
             writer.newLine();
 
-            int sz = args.size();
             for (int i = 0; i < sz; i++) {
                 String arg = args.get(i);
-                if (arg.indexOf('\n') >= 0) {
-                    throw new ZygoteStartFailedEx(
-                            "embedded newlines not allowed");
-                }
                 writer.write(arg);
                 writer.newLine();
             }
@@ -590,11 +594,16 @@
 
             // Should there be a timeout on this?
             ProcessStartResult result = new ProcessStartResult();
+
+            // Always read the entire result from the input stream to avoid leaving
+            // bytes in the stream for future process starts to accidentally stumble
+            // upon.
             result.pid = inputStream.readInt();
+            result.usingWrapper = inputStream.readBoolean();
+
             if (result.pid < 0) {
                 throw new ZygoteStartFailedEx("fork() failed");
             }
-            result.usingWrapper = inputStream.readBoolean();
             return result;
         } catch (IOException ex) {
             zygoteState.close();
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 9c567a9..42ac76b 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -6236,6 +6236,12 @@
                 "managed_profile_contact_remote_search";
 
         /**
+         * Holds comma separated list of ordering of QS tiles.
+         * @hide
+         */
+        public static final String QS_TILES = "sysui_qs_tiles";
+
+        /**
          * This are the settings to be backed up.
          *
          * NOTE: Settings are backed up and restored in the order they appear
@@ -6308,7 +6314,8 @@
             PREFERRED_TTY_MODE,
             ENHANCED_VOICE_PRIVACY_ENABLED,
             TTY_MODE_ENABLED,
-            INCALL_POWER_BUTTON_BEHAVIOR
+            INCALL_POWER_BUTTON_BEHAVIOR,
+            QS_TILES,
         };
 
         /**
diff --git a/core/java/android/text/SpannableStringInternal.java b/core/java/android/text/SpannableStringInternal.java
index 47e71be..4b02df86 100644
--- a/core/java/android/text/SpannableStringInternal.java
+++ b/core/java/android/text/SpannableStringInternal.java
@@ -33,6 +33,7 @@
             mText = source.toString().substring(start, end);
 
         mSpans = EmptyArray.OBJECT;
+        // Invariant: mSpanData.length = mSpans.length * COLUMNS
         mSpanData = EmptyArray.INT;
 
         if (source instanceof Spanned) {
@@ -99,7 +100,7 @@
             Object[] srcSpans = src.mSpans;
             mSpanCount = count;
             mSpans = ArrayUtils.newUnpaddedObjectArray(mSpanCount);
-            mSpanData = new int[mSpanCount * COLUMNS];
+            mSpanData = new int[mSpans.length * COLUMNS];
             for (int i = 0, j = 0; i < limit; i++) {
                 int spanStart = srcData[i * COLUMNS + START];
                 int spanEnd = srcData[i * COLUMNS + END];
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 1e765b6..a02c070 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -156,28 +156,46 @@
             synchronized (ArraySet.class) {
                 if (mTwiceBaseCache != null) {
                     final Object[] array = mTwiceBaseCache;
-                    mArray = array;
-                    mTwiceBaseCache = (Object[])array[0];
-                    mHashes = (int[])array[1];
-                    array[0] = array[1] = null;
-                    mTwiceBaseCacheSize--;
-                    if (DEBUG) Log.d(TAG, "Retrieving 2x cache " + mHashes
-                            + " now have " + mTwiceBaseCacheSize + " entries");
-                    return;
+                    try {
+                        mArray = array;
+                        mTwiceBaseCache = (Object[]) array[0];
+                        mHashes = (int[]) array[1];
+                        array[0] = array[1] = null;
+                        mTwiceBaseCacheSize--;
+                        if (DEBUG) Log.d(TAG, "Retrieving 2x cache " + mHashes
+                                + " now have " + mTwiceBaseCacheSize + " entries");
+                        return;
+                    } catch (ClassCastException e) {
+                    }
+                    // Whoops!  Someone trampled the array (probably due to not protecting
+                    // their access with a lock).  Our cache is corrupt; report and give up.
+                    Slog.wtf(TAG, "Found corrupt ArraySet cache: [0]=" + array[0]
+                            + " [1]=" + array[1]);
+                    mTwiceBaseCache = null;
+                    mTwiceBaseCacheSize = 0;
                 }
             }
         } else if (size == BASE_SIZE) {
             synchronized (ArraySet.class) {
                 if (mBaseCache != null) {
                     final Object[] array = mBaseCache;
-                    mArray = array;
-                    mBaseCache = (Object[])array[0];
-                    mHashes = (int[])array[1];
-                    array[0] = array[1] = null;
-                    mBaseCacheSize--;
-                    if (DEBUG) Log.d(TAG, "Retrieving 1x cache " + mHashes
-                            + " now have " + mBaseCacheSize + " entries");
-                    return;
+                    try {
+                        mArray = array;
+                        mBaseCache = (Object[]) array[0];
+                        mHashes = (int[]) array[1];
+                        array[0] = array[1] = null;
+                        mBaseCacheSize--;
+                        if (DEBUG) Log.d(TAG, "Retrieving 1x cache " + mHashes
+                                + " now have " + mBaseCacheSize + " entries");
+                        return;
+                    } catch (ClassCastException e) {
+                    }
+                    // Whoops!  Someone trampled the array (probably due to not protecting
+                    // their access with a lock).  Our cache is corrupt; report and give up.
+                    Slog.wtf(TAG, "Found corrupt ArraySet cache: [0]=" + array[0]
+                            + " [1]=" + array[1]);
+                    mBaseCache = null;
+                    mBaseCacheSize = 0;
                 }
             }
         }
diff --git a/core/java/android/util/MemoryIntArray.java b/core/java/android/util/MemoryIntArray.java
index 8f9b36e..83e693c 100644
--- a/core/java/android/util/MemoryIntArray.java
+++ b/core/java/android/util/MemoryIntArray.java
@@ -54,7 +54,7 @@
     private final int mOwnerPid;
     private final boolean mClientWritable;
     private final long mMemoryAddr;
-    private ParcelFileDescriptor mFd;
+    private int mFd;
 
     /**
      * Creates a new instance.
@@ -71,22 +71,23 @@
         mOwnerPid = Process.myPid();
         mClientWritable = clientWritable;
         final String name = UUID.randomUUID().toString();
-        mFd = ParcelFileDescriptor.fromFd(nativeCreate(name, size));
-        mMemoryAddr = nativeOpen(mFd.getFd(), true, clientWritable);
+        mFd = nativeCreate(name, size);
+        mMemoryAddr = nativeOpen(mFd, true, clientWritable);
     }
 
     private MemoryIntArray(Parcel parcel) throws IOException {
         mOwnerPid = parcel.readInt();
         mClientWritable = (parcel.readInt() == 1);
-        mFd = parcel.readParcelable(null);
-        if (mFd == null) {
+        ParcelFileDescriptor pfd = parcel.readParcelable(null);
+        if (pfd == null) {
             throw new IOException("No backing file descriptor");
         }
+        mFd = pfd.detachFd();
         final long memoryAddress = parcel.readLong();
         if (isOwner()) {
             mMemoryAddr = memoryAddress;
         } else {
-            mMemoryAddr = nativeOpen(mFd.getFd(), false, mClientWritable);
+            mMemoryAddr = nativeOpen(mFd, false, mClientWritable);
         }
     }
 
@@ -108,7 +109,7 @@
     public int get(int index) throws IOException {
         enforceNotClosed();
         enforceValidIndex(index);
-        return nativeGet(mFd.getFd(), mMemoryAddr, index, isOwner());
+        return nativeGet(mFd, mMemoryAddr, index, isOwner());
     }
 
     /**
@@ -124,7 +125,7 @@
         enforceNotClosed();
         enforceWritable();
         enforceValidIndex(index);
-        nativeSet(mFd.getFd(), mMemoryAddr, index, value, isOwner());
+        nativeSet(mFd, mMemoryAddr, index, value, isOwner());
     }
 
     /**
@@ -134,7 +135,7 @@
      */
     public int size() throws IOException {
         enforceNotClosed();
-        return nativeSize(mFd.getFd());
+        return nativeSize(mFd);
     }
 
     /**
@@ -145,9 +146,8 @@
     @Override
     public void close() throws IOException {
         if (!isClosed()) {
-            ParcelFileDescriptor pfd = mFd;
-            mFd = null;
-            nativeClose(pfd.getFd(), mMemoryAddr, isOwner());
+            nativeClose(mFd, mMemoryAddr, isOwner());
+            mFd = -1;
         }
     }
 
@@ -155,7 +155,7 @@
      * @return Whether this array is closed and shouldn't be used.
      */
     public boolean isClosed() {
-        return mFd == null;
+        return mFd == -1;
     }
 
     @Override
@@ -171,10 +171,15 @@
 
     @Override
     public void writeToParcel(Parcel parcel, int flags) {
-        parcel.writeInt(mOwnerPid);
-        parcel.writeInt(mClientWritable ? 1 : 0);
-        parcel.writeParcelable(mFd, 0);
-        parcel.writeLong(mMemoryAddr);
+        ParcelFileDescriptor pfd = ParcelFileDescriptor.adoptFd(mFd);
+        try {
+            parcel.writeInt(mOwnerPid);
+            parcel.writeInt(mClientWritable ? 1 : 0);
+            parcel.writeParcelable(pfd, flags & ~Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
+            parcel.writeLong(mMemoryAddr);
+        } finally {
+            pfd.detachFd();
+        }
     }
 
     @Override
@@ -189,19 +194,12 @@
             return false;
         }
         MemoryIntArray other = (MemoryIntArray) obj;
-        if (mFd == null) {
-            if (other.mFd != null) {
-                return false;
-            }
-        } else if (mFd.getFd() != other.mFd.getFd()) {
-            return false;
-        }
-        return true;
+        return mFd == other.mFd;
     }
 
     @Override
     public int hashCode() {
-        return mFd != null ? mFd.hashCode() : 1;
+        return mFd;
     }
 
     private boolean isOwner() {
diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java
index b0f15b5..a394f35 100644
--- a/core/java/android/view/DragEvent.java
+++ b/core/java/android/view/DragEvent.java
@@ -377,6 +377,10 @@
      * The object is intended to provide local information about the drag and drop operation. For
      * example, it can indicate whether the drag and drop operation is a copy or a move.
      * <p>
+     * The local state is available only to views in the activity which has started the drag
+     * operation. In all other activities this method will return null
+     * </p>
+     * <p>
      *  This method returns valid data for all event actions except for {@link #ACTION_DRAG_ENDED}.
      * </p>
      * @return The local state object sent to the system by startDrag().
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 1a712c3..9461bea 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -218,15 +218,32 @@
     /** @hide */
     @Override
     protected void onDetachedFromWindowInternal() {
-        destroySurface();
+        destroyHardwareLayer();
+        releaseSurfaceTexture();
         super.onDetachedFromWindowInternal();
     }
 
-    private void destroySurface() {
+    /**
+     * @hide
+     */
+    @Override
+    protected void destroyHardwareResources() {
+        destroyHardwareLayer();
+    }
+
+    private void destroyHardwareLayer() {
         if (mLayer != null) {
             mLayer.detachSurfaceTexture();
+            mLayer.destroy();
+            mLayer = null;
+            mMatrixChanged = true;
+        }
+    }
 
+    private void releaseSurfaceTexture() {
+        if (mSurface != null) {
             boolean shouldRelease = true;
+
             if (mListener != null) {
                 shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
             }
@@ -235,14 +252,10 @@
                 nDestroyNativeWindow();
             }
 
-            mLayer.destroy();
-            if (shouldRelease) mSurface.release();
+            if (shouldRelease) {
+                mSurface.release();
+            }
             mSurface = null;
-            mLayer = null;
-
-            // Make sure if/when new layer gets re-created, transform matrix will
-            // be re-applied.
-            mMatrixChanged = true;
             mHadSurface = true;
         }
     }
@@ -355,17 +368,6 @@
         }
     }
 
-    /**
-     * @hide
-     */
-    @Override
-    protected void destroyHardwareResources() {
-        super.destroyHardwareResources();
-        destroySurface();
-        invalidateParentCaches();
-        invalidate(true);
-    }
-
     HardwareLayer getHardwareLayer() {
         if (mLayer == null) {
             if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) {
@@ -373,17 +375,17 @@
             }
 
             mLayer = mAttachInfo.mHardwareRenderer.createTextureLayer();
-            if (!mUpdateSurface) {
+            boolean createNewSurface = (mSurface == null);
+            if (createNewSurface) {
                 // Create a new SurfaceTexture for the layer.
                 mSurface = new SurfaceTexture(false);
-                mLayer.setSurfaceTexture(mSurface);
+                nCreateNativeWindow(mSurface);
             }
+            mLayer.setSurfaceTexture(mSurface);
             mSurface.setDefaultBufferSize(getWidth(), getHeight());
-            nCreateNativeWindow(mSurface);
-
             mSurface.setOnFrameAvailableListener(mUpdateListener, mAttachInfo.mHandler);
 
-            if (mListener != null && !mUpdateSurface) {
+            if (mListener != null && createNewSurface) {
                 mListener.onSurfaceTextureAvailable(mSurface, getWidth(), getHeight());
             }
             mLayer.setLayerPaint(mLayerPaint);
@@ -717,7 +719,7 @@
     /**
      * Set the {@link SurfaceTexture} for this view to use. If a {@link
      * SurfaceTexture} is already being used by this view, it is immediately
-     * released and not be usable any more.  The {@link
+     * released and not usable any more.  The {@link
      * SurfaceTextureListener#onSurfaceTextureDestroyed} callback is <b>not</b>
      * called for the previous {@link SurfaceTexture}.  Similarly, the {@link
      * SurfaceTextureListener#onSurfaceTextureAvailable} callback is <b>not</b>
@@ -742,9 +744,11 @@
                     "released SurfaceTexture");
         }
         if (mSurface != null) {
+            nDestroyNativeWindow();
             mSurface.release();
         }
         mSurface = surfaceTexture;
+        nCreateNativeWindow(mSurface);
 
         /*
          * If the view is visible and we already made a layer, update the
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index a64827a..47cffac 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -9817,6 +9817,9 @@
     public void dispatchFinishTemporaryDetach() {
         onFinishTemporaryDetach();
         mPrivateFlags3 &= ~PFLAG3_TEMPORARY_DETACH;
+        if (hasWindowFocus() && hasFocus()) {
+            InputMethodManager.getInstance().focusIn(this);
+        }
     }
 
     /**
@@ -20521,8 +20524,10 @@
      * @param shadowBuilder A {@link android.view.View.DragShadowBuilder} object for building the
      * drag shadow.
      * @param myLocalState An {@link java.lang.Object} containing local data about the drag and
-     * drop operation. This Object is put into every DragEvent object sent by the system during the
-     * current drag.
+     * drop operation. When dispatching drag events to views in the same activity this object
+     * will be available through {@link android.view.DragEvent#getLocalState()}. Views in other
+     * activities will not have access to this data ({@link android.view.DragEvent#getLocalState()}
+     * will return null).
      * <p>
      * myLocalState is a lightweight mechanism for the sending information from the dragged View
      * to the target Views. For example, it can contain flags that differentiate between a
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index b331be7..5ba1e9d 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -2315,22 +2315,24 @@
     }
 
     /**
-     * Get a view and have it show the data associated with the specified
-     * position. This is called when we have already discovered that the view is
-     * not available for reuse in the recycle bin. The only choices left are
+     * Gets a view and have it show the data associated with the specified
+     * position. This is called when we have already discovered that the view
+     * is not available for reuse in the recycle bin. The only choices left are
      * converting an old view or making a new one.
      *
-     * @param position The position to display
-     * @param isScrap Array of at least 1 boolean, the first entry will become true if
-     *                the returned view was taken from the "temporary detached" scrap heap, false if
-     *                otherwise.
+     * @param position the position to display
+     * @param outMetadata an array of at least 1 boolean where the first entry
+     *                    will be set {@code true} if the view is currently
+     *                    attached to the window, {@code false} otherwise (e.g.
+     *                    newly-inflated or remained scrap for multiple layout
+     *                    passes)
      *
      * @return A view displaying the data associated with the specified position
      */
-    View obtainView(int position, boolean[] isScrap) {
+    View obtainView(int position, boolean[] outMetadata) {
         Trace.traceBegin(Trace.TRACE_TAG_VIEW, "obtainView");
 
-        isScrap[0] = false;
+        outMetadata[0] = false;
 
         // Check whether we have a transient state view. Attempt to re-bind the
         // data and discard the view if we fail.
@@ -2349,7 +2351,7 @@
                 }
             }
 
-            isScrap[0] = true;
+            outMetadata[0] = true;
 
             // Finish the temporary detach started in addScrapView().
             transientView.dispatchFinishTemporaryDetach();
@@ -2362,19 +2364,11 @@
             if (child != scrapView) {
                 // Failed to re-bind the data, return scrap to the heap.
                 mRecycler.addScrapView(scrapView, position);
-            } else {
-                if (child.isTemporarilyDetached()) {
-                    isScrap[0] = true;
+            } else if (child.isTemporarilyDetached()) {
+                outMetadata[0] = true;
 
-                    // Finish the temporary detach started in addScrapView().
-                    child.dispatchFinishTemporaryDetach();
-                } else {
-                    // we set isScrap to "true" only if the view is temporarily detached.
-                    // if the view is fully detached, it is as good as a view created by the
-                    // adapter
-                    isScrap[0] = false;
-                }
-
+                // Finish the temporary detach started in addScrapView().
+                child.dispatchFinishTemporaryDetach();
             }
         }
 
diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java
index 6d7313d..b95aa52 100644
--- a/core/java/android/widget/GridView.java
+++ b/core/java/android/widget/GridView.java
@@ -1407,72 +1407,73 @@
 
 
     /**
-     * Obtain the view and add it to our list of children. The view can be made
-     * fresh, converted from an unused view, or used as is if it was in the
-     * recycle bin.
+     * Obtains the view and adds it to our list of children. The view can be
+     * made fresh, converted from an unused view, or used as is if it was in
+     * the recycle bin.
      *
-     * @param position Logical position in the list
-     * @param y Top or bottom edge of the view to add
-     * @param flow if true, align top edge to y. If false, align bottom edge to
-     *        y.
-     * @param childrenLeft Left edge where children should be positioned
-     * @param selected Is this position selected?
-     * @param where to add new item in the list
+     * @param position logical position in the list
+     * @param y top or bottom edge of the view to add
+     * @param flow {@code true} to align top edge to y, {@code false} to align
+     *             bottom edge to y
+     * @param childrenLeft left edge where children should be positioned
+     * @param selected {@code true} if the position is selected, {@code false}
+     *                 otherwise
+     * @param where position at which to add new item in the list
      * @return View that was added
      */
     private View makeAndAddView(int position, int y, boolean flow, int childrenLeft,
             boolean selected, int where) {
-        View child;
-
         if (!mDataChanged) {
             // Try to use an existing view for this position
-            child = mRecycler.getActiveView(position);
-            if (child != null) {
+            final View activeView = mRecycler.getActiveView(position);
+            if (activeView != null) {
                 // Found it -- we're using an existing child
                 // This just needs to be positioned
-                setupChild(child, position, y, flow, childrenLeft, selected, true, where);
-                return child;
+                setupChild(activeView, position, y, flow, childrenLeft, selected, true, where);
+                return activeView;
             }
         }
 
         // Make a new view for this position, or convert an unused view if
-        // possible
-        child = obtainView(position, mIsScrap);
+        // possible.
+        final View child = obtainView(position, mIsScrap);
 
-        // This needs to be positioned and measured
+        // This needs to be positioned and measured.
         setupChild(child, position, y, flow, childrenLeft, selected, mIsScrap[0], where);
 
         return child;
     }
 
     /**
-     * Add a view as a child and make sure it is measured (if necessary) and
+     * Adds a view as a child and make sure it is measured (if necessary) and
      * positioned properly.
      *
-     * @param child The view to add
-     * @param position The position of the view
-     * @param y The y position relative to which this view will be positioned
-     * @param flow if true, align top edge to y. If false, align bottom edge
-     *        to y.
-     * @param childrenLeft Left edge where children should be positioned
-     * @param selected Is this position selected?
-     * @param recycled Has this view been pulled from the recycle bin? If so it
-     *        does not need to be remeasured.
-     * @param where Where to add the item in the list
+     * @param child the view to add
+     * @param position the position of this child
+     * @param y the y position relative to which this view will be positioned
+     * @param flowDown {@code true} to align top edge to y, {@code false} to
+     *                 align bottom edge to y
+     * @param childrenLeft left edge where children should be positioned
+     * @param selected {@code true} if the position is selected, {@code false}
+     *                 otherwise
+     * @param isAttachedToWindow {@code true} if the view is already attached
+     *                           to the window, e.g. whether it was reused, or
+     *                           {@code false} otherwise
+     * @param where position at which to add new item in the list
      *
      */
-    private void setupChild(View child, int position, int y, boolean flow, int childrenLeft,
-            boolean selected, boolean recycled, int where) {
+    private void setupChild(View child, int position, int y, boolean flowDown, int childrenLeft,
+            boolean selected, boolean isAttachedToWindow, int where) {
         Trace.traceBegin(Trace.TRACE_TAG_VIEW, "setupGridItem");
 
         boolean isSelected = selected && shouldShowSelector();
         final boolean updateChildSelected = isSelected != child.isSelected();
         final int mode = mTouchMode;
-        final boolean isPressed = mode > TOUCH_MODE_DOWN && mode < TOUCH_MODE_SCROLL &&
-                mMotionPosition == position;
+        final boolean isPressed = mode > TOUCH_MODE_DOWN && mode < TOUCH_MODE_SCROLL
+                && mMotionPosition == position;
         final boolean updateChildPressed = isPressed != child.isPressed();
-        
-        boolean needToMeasure = !recycled || updateChildSelected || child.isLayoutRequested();
+        final boolean needToMeasure = !isAttachedToWindow || updateChildSelected
+                || child.isLayoutRequested();
 
         // Respect layout params that are already in the view. Otherwise make
         // some up...
@@ -1483,13 +1484,9 @@
         p.viewType = mAdapter.getItemViewType(position);
         p.isEnabled = mAdapter.isEnabled(position);
 
-        if (recycled && !p.forceAdd) {
-            attachViewToParent(child, where, p);
-        } else {
-            p.forceAdd = false;
-            addViewInLayout(child, where, p, true);
-        }
-
+        // Set up view state before attaching the view, since we may need to
+        // rely on the jumpDrawablesToCurrentState() call that occurs as part
+        // of view attachment.
         if (updateChildSelected) {
             child.setSelected(isSelected);
             if (isSelected) {
@@ -1510,6 +1507,21 @@
             }
         }
 
+        if (isAttachedToWindow && !p.forceAdd) {
+            attachViewToParent(child, where, p);
+
+            // If the view isn't attached, or if it's attached but for a different
+            // position, then jump the drawables.
+            if (!isAttachedToWindow
+                    || (((AbsListView.LayoutParams) child.getLayoutParams()).scrappedFromPosition)
+                            != position) {
+                child.jumpDrawablesToCurrentState();
+            }
+        } else {
+            p.forceAdd = false;
+            addViewInLayout(child, where, p, true);
+        }
+
         if (needToMeasure) {
             int childHeightSpec = ViewGroup.getChildMeasureSpec(
                     MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 0, p.height);
@@ -1525,7 +1537,7 @@
         final int h = child.getMeasuredHeight();
 
         int childLeft;
-        final int childTop = flow ? y : y - h;
+        final int childTop = flowDown ? y : y - h;
 
         final int layoutDirection = getLayoutDirection();
         final int absoluteGravity = Gravity.getAbsoluteGravity(mGravity, layoutDirection);
@@ -1553,15 +1565,10 @@
             child.offsetTopAndBottom(childTop - child.getTop());
         }
 
-        if (mCachingStarted) {
+        if (mCachingStarted && !child.isDrawingCacheEnabled()) {
             child.setDrawingCacheEnabled(true);
         }
 
-        if (recycled && (((AbsListView.LayoutParams)child.getLayoutParams()).scrappedFromPosition)
-                != position) {
-            child.jumpDrawablesToCurrentState();
-        }
-
         Trace.traceEnd(Trace.TRACE_TAG_VIEW);
     }
 
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 0e04e300..b8b7c55 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -1939,72 +1939,73 @@
     }
 
     /**
-     * Obtain the view and add it to our list of children. The view can be made
-     * fresh, converted from an unused view, or used as is if it was in the
-     * recycle bin.
+     * Obtains the view and adds it to our list of children. The view can be
+     * made fresh, converted from an unused view, or used as is if it was in
+     * the recycle bin.
      *
-     * @param position Logical position in the list
-     * @param y Top or bottom edge of the view to add
-     * @param flow If flow is true, align top edge to y. If false, align bottom
-     *        edge to y.
-     * @param childrenLeft Left edge where children should be positioned
-     * @param selected Is this position selected?
-     * @return View that was added
+     * @param position logical position in the list
+     * @param y top or bottom edge of the view to add
+     * @param flow {@code true} to align top edge to y, {@code false} to align
+     *             bottom edge to y
+     * @param childrenLeft left edge where children should be positioned
+     * @param selected {@code true} if the position is selected, {@code false}
+     *                 otherwise
+     * @return the view that was added
      */
     private View makeAndAddView(int position, int y, boolean flow, int childrenLeft,
             boolean selected) {
-        View child;
-
-
         if (!mDataChanged) {
-            // Try to use an existing view for this position
-            child = mRecycler.getActiveView(position);
-            if (child != null) {
-                // Found it -- we're using an existing child
-                // This just needs to be positioned
-                setupChild(child, position, y, flow, childrenLeft, selected, true);
-
-                return child;
+            // Try to use an existing view for this position.
+            final View activeView = mRecycler.getActiveView(position);
+            if (activeView != null) {
+                // Found it. We're reusing an existing child, so it just needs
+                // to be positioned like a scrap view.
+                setupChild(activeView, position, y, flow, childrenLeft, selected, true);
+                return activeView;
             }
         }
 
-        // Make a new view for this position, or convert an unused view if possible
-        child = obtainView(position, mIsScrap);
+        // Make a new view for this position, or convert an unused view if
+        // possible.
+        final View child = obtainView(position, mIsScrap);
 
-        // This needs to be positioned and measured
+        // This needs to be positioned and measured.
         setupChild(child, position, y, flow, childrenLeft, selected, mIsScrap[0]);
 
         return child;
     }
 
     /**
-     * Add a view as a child and make sure it is measured (if necessary) and
+     * Adds a view as a child and make sure it is measured (if necessary) and
      * positioned properly.
      *
-     * @param child The view to add
-     * @param position The position of this child
-     * @param y The y position relative to which this view will be positioned
-     * @param flowDown If true, align top edge to y. If false, align bottom
-     *        edge to y.
-     * @param childrenLeft Left edge where children should be positioned
-     * @param selected Is this position selected?
-     * @param recycled Has this view been pulled from the recycle bin? If so it
-     *        does not need to be remeasured.
+     * @param child the view to add
+     * @param position the position of this child
+     * @param y the y position relative to which this view will be positioned
+     * @param flowDown {@code true} to align top edge to y, {@code false} to
+     *                 align bottom edge to y
+     * @param childrenLeft left edge where children should be positioned
+     * @param selected {@code true} if the position is selected, {@code false}
+     *                 otherwise
+     * @param isAttachedToWindow {@code true} if the view is already attached
+     *                           to the window, e.g. whether it was reused, or
+     *                           {@code false} otherwise
      */
     private void setupChild(View child, int position, int y, boolean flowDown, int childrenLeft,
-            boolean selected, boolean recycled) {
+            boolean selected, boolean isAttachedToWindow) {
         Trace.traceBegin(Trace.TRACE_TAG_VIEW, "setupListItem");
 
         final boolean isSelected = selected && shouldShowSelector();
         final boolean updateChildSelected = isSelected != child.isSelected();
         final int mode = mTouchMode;
-        final boolean isPressed = mode > TOUCH_MODE_DOWN && mode < TOUCH_MODE_SCROLL &&
-                mMotionPosition == position;
+        final boolean isPressed = mode > TOUCH_MODE_DOWN && mode < TOUCH_MODE_SCROLL
+                && mMotionPosition == position;
         final boolean updateChildPressed = isPressed != child.isPressed();
-        final boolean needToMeasure = !recycled || updateChildSelected || child.isLayoutRequested();
+        final boolean needToMeasure = !isAttachedToWindow || updateChildSelected
+                || child.isLayoutRequested();
 
-        // Respect layout params that are already in the view. Otherwise make some up...
-        // noinspection unchecked
+        // Respect layout params that are already in the view. Otherwise make
+        // some up...
         AbsListView.LayoutParams p = (AbsListView.LayoutParams) child.getLayoutParams();
         if (p == null) {
             p = (AbsListView.LayoutParams) generateDefaultLayoutParams();
@@ -2012,17 +2013,9 @@
         p.viewType = mAdapter.getItemViewType(position);
         p.isEnabled = mAdapter.isEnabled(position);
 
-        if ((recycled && !p.forceAdd) || (p.recycledHeaderFooter
-                && p.viewType == AdapterView.ITEM_VIEW_TYPE_HEADER_OR_FOOTER)) {
-            attachViewToParent(child, flowDown ? -1 : 0, p);
-        } else {
-            p.forceAdd = false;
-            if (p.viewType == AdapterView.ITEM_VIEW_TYPE_HEADER_OR_FOOTER) {
-                p.recycledHeaderFooter = true;
-            }
-            addViewInLayout(child, flowDown ? -1 : 0, p, true);
-        }
-
+        // Set up view state before attaching the view, since we may need to
+        // rely on the jumpDrawablesToCurrentState() call that occurs as part
+        // of view attachment.
         if (updateChildSelected) {
             child.setSelected(isSelected);
         }
@@ -2040,6 +2033,25 @@
             }
         }
 
+        if ((isAttachedToWindow && !p.forceAdd) || (p.recycledHeaderFooter
+                && p.viewType == AdapterView.ITEM_VIEW_TYPE_HEADER_OR_FOOTER)) {
+            attachViewToParent(child, flowDown ? -1 : 0, p);
+
+            // If the view was previously attached for a different position,
+            // then manually jump the drawables.
+            if (isAttachedToWindow
+                    && (((AbsListView.LayoutParams) child.getLayoutParams()).scrappedFromPosition)
+                            != position) {
+                child.jumpDrawablesToCurrentState();
+            }
+        } else {
+            p.forceAdd = false;
+            if (p.viewType == AdapterView.ITEM_VIEW_TYPE_HEADER_OR_FOOTER) {
+                p.recycledHeaderFooter = true;
+            }
+            addViewInLayout(child, flowDown ? -1 : 0, p, true);
+        }
+
         if (needToMeasure) {
             final int childWidthSpec = ViewGroup.getChildMeasureSpec(mWidthMeasureSpec,
                     mListPadding.left + mListPadding.right, p.width);
@@ -2073,11 +2085,6 @@
             child.setDrawingCacheEnabled(true);
         }
 
-        if (recycled && (((AbsListView.LayoutParams)child.getLayoutParams()).scrappedFromPosition)
-                != position) {
-            child.jumpDrawablesToCurrentState();
-        }
-
         Trace.traceEnd(Trace.TRACE_TAG_VIEW);
     }
 
diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java
index 31ab26f..831c646 100644
--- a/core/java/com/android/internal/view/FloatingActionMode.java
+++ b/core/java/com/android/internal/view/FloatingActionMode.java
@@ -26,6 +26,7 @@
 import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.view.ViewParent;
+import android.util.DisplayMetrics;
 
 import com.android.internal.R;
 import com.android.internal.util.Preconditions;
@@ -209,11 +210,9 @@
     }
 
     private boolean isContentRectWithinBounds() {
-        mScreenRect.set(
-            0,
-            0,
-            mContext.getResources().getDisplayMetrics().widthPixels,
-            mContext.getResources().getDisplayMetrics().heightPixels);
+        DisplayMetrics metrics = mContext.getApplicationContext()
+                .getResources().getDisplayMetrics();
+        mScreenRect.set(0, 0, metrics.widthPixels, metrics.heightPixels);
 
         return intersectsClosed(mContentRectOnScreen, mScreenRect)
             && intersectsClosed(mContentRectOnScreen, mViewRectOnScreen);
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 2e0dfa5..7f2f740 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -354,7 +354,7 @@
                 return false;
             }
         } catch (RemoteException re) {
-            return true;
+            return false;
         }
     }
 
@@ -435,7 +435,7 @@
                 return false;
             }
         } catch (RemoteException re) {
-            return true;
+            return false;
         }
     }
 
diff --git a/core/java/com/android/internal/widget/ResolverDrawerLayout.java b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
index 8b9d503..e84cc27 100644
--- a/core/java/com/android/internal/widget/ResolverDrawerLayout.java
+++ b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
@@ -245,7 +245,7 @@
                 final float y = ev.getY();
                 mInitialTouchX = x;
                 mInitialTouchY = mLastTouchY = y;
-                mOpenOnClick = isListChildUnderClipped(x, y) && mCollapsibleHeight > 0;
+                mOpenOnClick = isListChildUnderClipped(x, y) && mCollapseOffset > 0;
             }
             break;
 
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index d681246..c3ebea4 100755
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -150,12 +150,12 @@
     mPixelRef->unref();
 }
 
-Bitmap::Bitmap(void* address, int fd,
+Bitmap::Bitmap(void* address, int fd, size_t mappedSize,
             const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable)
         : mPixelStorageType(PixelStorageType::Ashmem) {
     mPixelStorage.ashmem.address = address;
     mPixelStorage.ashmem.fd = fd;
-    mPixelStorage.ashmem.size = ashmem_get_size_region(fd);
+    mPixelStorage.ashmem.size = mappedSize;
     mPixelRef.reset(new WrappedPixelRef(this, address, info, rowBytes, ctable));
     // Note: this will trigger a call to onStrongRefDestroyed(), but
     // we want the pixel ref to have a ref count of 0 at this point
@@ -1026,7 +1026,7 @@
 
         // Map the pixels in place and take ownership of the ashmem region.
         nativeBitmap = GraphicsJNI::mapAshmemPixelRef(env, bitmap.get(),
-                ctable, dupFd, const_cast<void*>(blob.data()), !isMutable);
+                ctable, dupFd, const_cast<void*>(blob.data()), size, !isMutable);
         SkSafeUnref(ctable);
         if (!nativeBitmap) {
             close(dupFd);
diff --git a/core/jni/android/graphics/Bitmap.h b/core/jni/android/graphics/Bitmap.h
index eadba5c..aaea178 100644
--- a/core/jni/android/graphics/Bitmap.h
+++ b/core/jni/android/graphics/Bitmap.h
@@ -51,8 +51,8 @@
             const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable);
     Bitmap(void* address, void* context, FreeFunc freeFunc,
             const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable);
-    Bitmap(void* address, int fd, const SkImageInfo& info, size_t rowBytes,
-            SkColorTable* ctable);
+    Bitmap(void* address, int fd, size_t mappedSize, const SkImageInfo& info,
+            size_t rowBytes, SkColorTable* ctable);
 
     const SkImageInfo& info() const;
 
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index 528541d..889a3db 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -613,7 +613,7 @@
         return nullptr;
     }
 
-    android::Bitmap* wrapper = new android::Bitmap(addr, fd, info, rowBytes, ctable);
+    android::Bitmap* wrapper = new android::Bitmap(addr, fd, size, info, rowBytes, ctable);
     wrapper->getSkBitmap(bitmap);
     // since we're already allocated, we lockPixels right away
     // HeapAllocator behaves this way too
@@ -623,7 +623,7 @@
 }
 
 android::Bitmap* GraphicsJNI::mapAshmemPixelRef(JNIEnv* env, SkBitmap* bitmap,
-        SkColorTable* ctable, int fd, void* addr, bool readOnly) {
+        SkColorTable* ctable, int fd, void* addr, size_t size, bool readOnly) {
     const SkImageInfo& info = bitmap->info();
     if (info.colorType() == kUnknown_SkColorType) {
         doThrowIAE(env, "unknown bitmap configuration");
@@ -633,7 +633,8 @@
     if (!addr) {
         // Map existing ashmem region if not already mapped.
         int flags = readOnly ? (PROT_READ) : (PROT_READ | PROT_WRITE);
-        addr = mmap(NULL, ashmem_get_size_region(fd), flags, MAP_SHARED, fd, 0);
+        size = ashmem_get_size_region(fd);
+        addr = mmap(NULL, size, flags, MAP_SHARED, fd, 0);
         if (addr == MAP_FAILED) {
             return nullptr;
         }
@@ -643,7 +644,7 @@
     // attempting to compute our own.
     const size_t rowBytes = bitmap->rowBytes();
 
-    android::Bitmap* wrapper = new android::Bitmap(addr, fd, info, rowBytes, ctable);
+    android::Bitmap* wrapper = new android::Bitmap(addr, fd, size, info, rowBytes, ctable);
     wrapper->getSkBitmap(bitmap);
     if (readOnly) {
         bitmap->pixelRef()->setImmutable();
diff --git a/core/jni/android/graphics/GraphicsJNI.h b/core/jni/android/graphics/GraphicsJNI.h
index 5baa8f8..a215709 100644
--- a/core/jni/android/graphics/GraphicsJNI.h
+++ b/core/jni/android/graphics/GraphicsJNI.h
@@ -101,7 +101,7 @@
             SkColorTable* ctable);
 
     static android::Bitmap* mapAshmemPixelRef(JNIEnv* env, SkBitmap* bitmap,
-            SkColorTable* ctable, int fd, void* addr, bool readOnly);
+            SkColorTable* ctable, int fd, void* addr, size_t size, bool readOnly);
 
     /**
      * Given a bitmap we natively allocate a memory block to store the contents
diff --git a/core/jni/android_util_MemoryIntArray.cpp b/core/jni/android_util_MemoryIntArray.cpp
index f45be12..d0c0f2f 100644
--- a/core/jni/android_util_MemoryIntArray.cpp
+++ b/core/jni/android_util_MemoryIntArray.cpp
@@ -160,16 +160,8 @@
         return -1;
     }
 
-    // Use ASHMEM_GET_SIZE to find out if the fd refers to an ashmem region.
-    // ASHMEM_GET_SIZE should succeed for all ashmem regions, and the kernel
-    // should return ENOTTY for all other valid file descriptors
     int ashmemSize = ashmem_get_size_region(fd);
     if (ashmemSize < 0) {
-        if (errno == ENOTTY) {
-            // ENOTTY means that the ioctl does not apply to this object,
-            // i.e., it is not an ashmem region.
-            return -1;
-        }
         // Some other error, throw exception
         jniThrowIOException(env, errno);
         return -1;
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 3f4b2a6..9bec6a3 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -54,6 +54,7 @@
 #include "ScopedLocalRef.h"
 #include "ScopedPrimitiveArray.h"
 #include "ScopedUtfChars.h"
+#include "fd_utils-inl.h"
 
 #include "nativebridge/native_bridge.h"
 
@@ -434,6 +435,9 @@
 }
 #endif
 
+// The list of open zygote file descriptors.
+static FileDescriptorTable* gOpenFdTable = NULL;
+
 // Utility routine to fork zygote and specialize the child process.
 static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray javaGids,
                                      jint debug_flags, jobjectArray javaRlimits,
@@ -448,6 +452,22 @@
   SetForkLoad(true);
 #endif
 
+  // Close any logging related FDs before we start evaluating the list of
+  // file descriptors.
+  __android_log_close();
+
+  // If this is the first fork for this zygote, create the open FD table.
+  // If it isn't, we just need to check whether the list of open files has
+  // changed (and it shouldn't in the normal case).
+  if (gOpenFdTable == NULL) {
+    gOpenFdTable = FileDescriptorTable::Create();
+    if (gOpenFdTable == NULL) {
+      RuntimeAbort(env, __LINE__, "Unable to construct file descriptor table.");
+    }
+  } else if (!gOpenFdTable->Restat()) {
+    RuntimeAbort(env, __LINE__, "Unable to restat file descriptor table.");
+  }
+
   pid_t pid = fork();
 
   if (pid == 0) {
@@ -457,6 +477,12 @@
     // Clean up any descriptors which must be closed immediately
     DetachDescriptors(env, fdsToClose);
 
+    // Re-open all remaining open file descriptors so that they aren't shared
+    // with the zygote across a fork.
+    if (!gOpenFdTable->ReopenOrDetach()) {
+      RuntimeAbort(env, __LINE__, "Unable to reopen whitelisted descriptors.");
+    }
+
     // Keep capabilities across UID change, unless we're staying root.
     if (uid != 0) {
       EnableKeepCapabilities(env);
diff --git a/core/jni/fd_utils-inl.h b/core/jni/fd_utils-inl.h
new file mode 100644
index 0000000..db56c32
--- /dev/null
+++ b/core/jni/fd_utils-inl.h
@@ -0,0 +1,540 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+#include <string>
+#include <unordered_map>
+#include <set>
+#include <vector>
+#include <algorithm>
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/un.h>
+#include <unistd.h>
+
+#include <cutils/log.h>
+#include "JNIHelp.h"
+#include "ScopedPrimitiveArray.h"
+
+// Whitelist of open paths that the zygote is allowed to keep open.
+//
+// In addition to the paths listed here, all files ending with
+// ".jar" under /system/framework" are whitelisted. See
+// FileDescriptorInfo::IsWhitelisted for the canonical definition.
+//
+// If the whitelisted path is associated with a regular file or a
+// character device, the file is reopened after a fork with the same
+// offset and mode. If the whilelisted  path is associated with a
+// AF_UNIX socket, the socket will refer to /dev/null after each
+// fork, and all operations on it will fail.
+static const char* kPathWhitelist[] = {
+  "/dev/null",
+  "/dev/socket/zygote",
+  "/dev/socket/zygote_secondary",
+  "/system/etc/event-log-tags",
+  "/sys/kernel/debug/tracing/trace_marker",
+  "/system/framework/framework-res.apk",
+  "/dev/urandom",
+  "/dev/ion",
+  "/dev/dri/renderD129", // Fixes b/31172436
+};
+
+static const char* kFdPath = "/proc/self/fd";
+
+// Keeps track of all relevant information (flags, offset etc.) of an
+// open zygote file descriptor.
+class FileDescriptorInfo {
+ public:
+  // Create a FileDescriptorInfo for a given file descriptor. Returns
+  // |NULL| if an error occurred.
+  static FileDescriptorInfo* createFromFd(int fd) {
+    struct stat f_stat;
+    // This should never happen; the zygote should always have the right set
+    // of permissions required to stat all its open files.
+    if (TEMP_FAILURE_RETRY(fstat(fd, &f_stat)) == -1) {
+      ALOGE("Unable to stat fd %d : %s", fd, strerror(errno));
+      return NULL;
+    }
+
+    if (S_ISSOCK(f_stat.st_mode)) {
+      std::string socket_name;
+      if (!GetSocketName(fd, &socket_name)) {
+        return NULL;
+      }
+
+      if (!IsWhitelisted(socket_name)) {
+        ALOGE("Socket name not whitelisted : %s (fd=%d)", socket_name.c_str(), fd);
+        return NULL;
+      }
+
+      return new FileDescriptorInfo(fd);
+    }
+
+    // We only handle whitelisted regular files and character devices. Whitelisted
+    // character devices must provide a guarantee of sensible behaviour when
+    // reopened.
+    //
+    // S_ISDIR : Not supported. (We could if we wanted to, but it's unused).
+    // S_ISLINK : Not supported.
+    // S_ISBLK : Not supported.
+    // S_ISFIFO : Not supported. Note that the zygote uses pipes to communicate
+    // with the child process across forks but those should have been closed
+    // before we got to this point.
+    if (!S_ISCHR(f_stat.st_mode) && !S_ISREG(f_stat.st_mode)) {
+      ALOGE("Unsupported st_mode %d", f_stat.st_mode);
+      return NULL;
+    }
+
+    std::string file_path;
+    if (!Readlink(fd, &file_path)) {
+      return NULL;
+    }
+
+    if (!IsWhitelisted(file_path)) {
+      ALOGE("Not whitelisted : %s", file_path.c_str());
+      return NULL;
+    }
+
+    // File descriptor flags : currently on FD_CLOEXEC. We can set these
+    // using F_SETFD - we're single threaded at this point of execution so
+    // there won't be any races.
+    const int fd_flags = TEMP_FAILURE_RETRY(fcntl(fd, F_GETFD));
+    if (fd_flags == -1) {
+      ALOGE("Failed fcntl(%d, F_GETFD) : %s", fd, strerror(errno));
+      return NULL;
+    }
+
+    // File status flags :
+    // - File access mode : (O_RDONLY, O_WRONLY...) we'll pass these through
+    //   to the open() call.
+    //
+    // - File creation flags : (O_CREAT, O_EXCL...) - there's not much we can
+    //   do about these, since the file has already been created. We shall ignore
+    //   them here.
+    //
+    // - Other flags : We'll have to set these via F_SETFL. On linux, F_SETFL
+    //   can only set O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and O_NONBLOCK.
+    //   In particular, it can't set O_SYNC and O_DSYNC. We'll have to test for
+    //   their presence and pass them in to open().
+    int fs_flags = TEMP_FAILURE_RETRY(fcntl(fd, F_GETFL));
+    if (fs_flags == -1) {
+      ALOGE("Failed fcntl(%d, F_GETFL) : %s", fd, strerror(errno));
+      return NULL;
+    }
+
+    // File offset : Ignore the offset for non seekable files.
+    const off_t offset = TEMP_FAILURE_RETRY(lseek64(fd, 0, SEEK_CUR));
+
+    // We pass the flags that open accepts to open, and use F_SETFL for
+    // the rest of them.
+    static const int kOpenFlags = (O_RDONLY | O_WRONLY | O_RDWR | O_DSYNC | O_SYNC);
+    int open_flags = fs_flags & (kOpenFlags);
+    fs_flags = fs_flags & (~(kOpenFlags));
+
+    return new FileDescriptorInfo(f_stat, file_path, fd, open_flags, fd_flags, fs_flags, offset);
+  }
+
+  // Checks whether the file descriptor associated with this object
+  // refers to the same description.
+  bool Restat() const {
+    struct stat f_stat;
+    if (TEMP_FAILURE_RETRY(fstat(fd, &f_stat)) == -1) {
+      return false;
+    }
+
+    return f_stat.st_ino == stat.st_ino && f_stat.st_dev == stat.st_dev;
+  }
+
+  bool ReopenOrDetach() const {
+    if (is_sock) {
+      return DetachSocket();
+    }
+
+    // NOTE: This might happen if the file was unlinked after being opened.
+    // It's a common pattern in the case of temporary files and the like but
+    // we should not allow such usage from the zygote.
+    const int new_fd = TEMP_FAILURE_RETRY(open(file_path.c_str(), open_flags));
+
+    if (new_fd == -1) {
+      ALOGE("Failed open(%s, %d) : %s", file_path.c_str(), open_flags, strerror(errno));
+      return false;
+    }
+
+    if (TEMP_FAILURE_RETRY(fcntl(new_fd, F_SETFD, fd_flags)) == -1) {
+      close(new_fd);
+      ALOGE("Failed fcntl(%d, F_SETFD, %x) : %s", new_fd, fd_flags, strerror(errno));
+      return false;
+    }
+
+    if (TEMP_FAILURE_RETRY(fcntl(new_fd, F_SETFL, fs_flags)) == -1) {
+      close(new_fd);
+      ALOGE("Failed fcntl(%d, F_SETFL, %x) : %s", new_fd, fs_flags, strerror(errno));
+      return false;
+    }
+
+    if (offset != -1 && TEMP_FAILURE_RETRY(lseek64(new_fd, offset, SEEK_SET)) == -1) {
+      close(new_fd);
+      ALOGE("Failed lseek64(%d, SEEK_SET) : %s", new_fd, strerror(errno));
+      return false;
+    }
+
+    if (TEMP_FAILURE_RETRY(dup2(new_fd, fd)) == -1) {
+      close(new_fd);
+      ALOGE("Failed dup2(%d, %d) : %s", fd, new_fd, strerror(errno));
+      return false;
+    }
+
+    close(new_fd);
+
+    return true;
+  }
+
+  const int fd;
+  const struct stat stat;
+  const std::string file_path;
+  const int open_flags;
+  const int fd_flags;
+  const int fs_flags;
+  const off_t offset;
+  const bool is_sock;
+
+ private:
+  FileDescriptorInfo(int fd) :
+    fd(fd),
+    stat(),
+    open_flags(0),
+    fd_flags(0),
+    fs_flags(0),
+    offset(0),
+    is_sock(true) {
+  }
+
+  FileDescriptorInfo(struct stat stat, const std::string& file_path, int fd, int open_flags,
+                     int fd_flags, int fs_flags, off_t offset) :
+    fd(fd),
+    stat(stat),
+    file_path(file_path),
+    open_flags(open_flags),
+    fd_flags(fd_flags),
+    fs_flags(fs_flags),
+    offset(offset),
+    is_sock(false) {
+  }
+
+  // Returns true iff. a given path is whitelisted. A path is whitelisted
+  // if it belongs to the whitelist (see kPathWhitelist) or if it's a path
+  // under /system/framework that ends with ".jar".
+  static bool IsWhitelisted(const std::string& path) {
+    for (size_t i = 0; i < (sizeof(kPathWhitelist) / sizeof(kPathWhitelist[0])); ++i) {
+      if (kPathWhitelist[i] == path) {
+        return true;
+      }
+    }
+
+    static const std::string kFrameworksPrefix = "/system/framework/";
+    static const std::string kJarSuffix = ".jar";
+    if (path.compare(0, kFrameworksPrefix.size(), kFrameworksPrefix) == 0 &&
+        path.compare(path.size() - kJarSuffix.size(), kJarSuffix.size(), kJarSuffix) == 0) {
+      return true;
+    }
+    return false;
+  }
+
+  // TODO: Call android::base::Readlink instead of copying the code here.
+  static bool Readlink(const int fd, std::string* result) {
+    char path[64];
+    snprintf(path, sizeof(path), "/proc/self/fd/%d", fd);
+
+    // Code copied from android::base::Readlink starts here :
+
+    // Annoyingly, the readlink system call returns EINVAL for a zero-sized buffer,
+    // and truncates to whatever size you do supply, so it can't be used to query.
+    // We could call lstat first, but that would introduce a race condition that
+    // we couldn't detect.
+    // ext2 and ext4 both have PAGE_SIZE limitations, so we assume that here.
+    char buf[4096];
+    ssize_t len = readlink(path, buf, sizeof(buf));
+    if (len == -1) return false;
+
+    result->assign(buf, len);
+    return true;
+  }
+
+  // Returns the locally-bound name of the socket |fd|. Returns true
+  // iff. all of the following hold :
+  //
+  // - the socket's sa_family is AF_UNIX.
+  // - the length of the path is greater than zero (i.e, not an unnamed socket).
+  // - the first byte of the path isn't zero (i.e, not a socket with an abstract
+  //   address).
+  static bool GetSocketName(const int fd, std::string* result) {
+    sockaddr_storage ss;
+    sockaddr* addr = reinterpret_cast<sockaddr*>(&ss);
+    socklen_t addr_len = sizeof(ss);
+
+    if (TEMP_FAILURE_RETRY(getsockname(fd, addr, &addr_len)) == -1) {
+      ALOGE("Failed getsockname(%d) : %s", fd, strerror(errno));
+      return false;
+    }
+
+    if (addr->sa_family != AF_UNIX) {
+      ALOGE("Unsupported socket (fd=%d) with family %d", fd, addr->sa_family);
+      return false;
+    }
+
+    const sockaddr_un* unix_addr = reinterpret_cast<const sockaddr_un*>(&ss);
+
+    size_t path_len = addr_len - offsetof(struct sockaddr_un, sun_path);
+    // This is an unnamed local socket, we do not accept it.
+    if (path_len == 0) {
+      ALOGE("Unsupported AF_UNIX socket (fd=%d) with empty path.", fd);
+      return false;
+    }
+
+    // This is a local socket with an abstract address, we do not accept it.
+    if (unix_addr->sun_path[0] == '\0') {
+      ALOGE("Unsupported AF_UNIX socket (fd=%d) with abstract address.", fd);
+      return false;
+    }
+
+    // If we're here, sun_path must refer to a null terminated filesystem
+    // pathname (man 7 unix). Remove the terminator before assigning it to an
+    // std::string.
+    if (unix_addr->sun_path[path_len - 1] ==  '\0') {
+      --path_len;
+    }
+
+    result->assign(unix_addr->sun_path, path_len);
+    return true;
+  }
+
+  bool DetachSocket() const {
+    const int dev_null_fd = open("/dev/null", O_RDWR);
+    if (dev_null_fd < 0) {
+      ALOGE("Failed to open /dev/null : %s", strerror(errno));
+      return false;
+    }
+
+    if (dup2(dev_null_fd, fd) == -1) {
+      ALOGE("Failed dup2 on socket descriptor %d : %s", fd, strerror(errno));
+      return false;
+    }
+
+    if (close(dev_null_fd) == -1) {
+      ALOGE("Failed close(%d) : %s", dev_null_fd, strerror(errno));
+      return false;
+    }
+
+    return true;
+  }
+
+  DISALLOW_COPY_AND_ASSIGN(FileDescriptorInfo);
+};
+
+// A FileDescriptorTable is a collection of FileDescriptorInfo objects
+// keyed by their FDs.
+class FileDescriptorTable {
+ public:
+  // Creates a new FileDescriptorTable. This function scans
+  // /proc/self/fd for the list of open file descriptors and collects
+  // information about them. Returns NULL if an error occurs.
+  static FileDescriptorTable* Create() {
+    DIR* d = opendir(kFdPath);
+    if (d == NULL) {
+      ALOGE("Unable to open directory %s: %s", kFdPath, strerror(errno));
+      return NULL;
+    }
+    int dir_fd = dirfd(d);
+    dirent* e;
+
+    std::unordered_map<int, FileDescriptorInfo*> open_fd_map;
+    while ((e = readdir(d)) != NULL) {
+      const int fd = ParseFd(e, dir_fd);
+      if (fd == -1) {
+        continue;
+      }
+
+      FileDescriptorInfo* info = FileDescriptorInfo::createFromFd(fd);
+      if (info == NULL) {
+        if (closedir(d) == -1) {
+          ALOGE("Unable to close directory : %s", strerror(errno));
+        }
+        return NULL;
+      }
+      open_fd_map[fd] = info;
+    }
+
+    if (closedir(d) == -1) {
+      ALOGE("Unable to close directory : %s", strerror(errno));
+      return NULL;
+    }
+    return new FileDescriptorTable(open_fd_map);
+  }
+
+  bool Restat() {
+    std::set<int> open_fds;
+
+    // First get the list of open descriptors.
+    DIR* d = opendir(kFdPath);
+    if (d == NULL) {
+      ALOGE("Unable to open directory %s: %s", kFdPath, strerror(errno));
+      return false;
+    }
+
+    int dir_fd = dirfd(d);
+    dirent* e;
+    while ((e = readdir(d)) != NULL) {
+      const int fd = ParseFd(e, dir_fd);
+      if (fd == -1) {
+        continue;
+      }
+
+      open_fds.insert(fd);
+    }
+
+    if (closedir(d) == -1) {
+      ALOGE("Unable to close directory : %s", strerror(errno));
+      return false;
+    }
+
+    return RestatInternal(open_fds);
+  }
+
+  // Reopens all file descriptors that are contained in the table. Returns true
+  // if all descriptors were successfully re-opened or detached, and false if an
+  // error occurred.
+  bool ReopenOrDetach() {
+    std::unordered_map<int, FileDescriptorInfo*>::const_iterator it;
+    for (it = open_fd_map_.begin(); it != open_fd_map_.end(); ++it) {
+      const FileDescriptorInfo* info = it->second;
+      if (info == NULL || !info->ReopenOrDetach()) {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+ private:
+  FileDescriptorTable(const std::unordered_map<int, FileDescriptorInfo*>& map)
+      : open_fd_map_(map) {
+  }
+
+  bool RestatInternal(std::set<int>& open_fds) {
+    bool error = false;
+
+    // Iterate through the list of file descriptors we've already recorded
+    // and check whether :
+    //
+    // (a) they continue to be open.
+    // (b) they refer to the same file.
+    std::unordered_map<int, FileDescriptorInfo*>::iterator it = open_fd_map_.begin();
+    while (it != open_fd_map_.end()) {
+      std::set<int>::const_iterator element = open_fds.find(it->first);
+      if (element == open_fds.end()) {
+        // The entry from the file descriptor table is no longer in the list
+        // of open files. We warn about this condition and remove it from
+        // the list of FDs under consideration.
+        //
+        // TODO(narayan): This will be an error in a future android release.
+        // error = true;
+        // ALOGW("Zygote closed file descriptor %d.", it->first);
+        it = open_fd_map_.erase(it);
+      } else {
+        // The entry from the file descriptor table is still open. Restat
+        // it and check whether it refers to the same file.
+        const bool same_file = it->second->Restat();
+        if (!same_file) {
+          // The file descriptor refers to a different description. We must
+          // update our entry in the table.
+          delete it->second;
+          it->second = FileDescriptorInfo::createFromFd(*element);
+          if (it->second == NULL) {
+            // The descriptor no longer no longer refers to a whitelisted file.
+            // We flag an error and remove it from the list of files we're
+            // tracking.
+            error = true;
+            it = open_fd_map_.erase(it);
+          } else {
+            // Successfully restatted the file, move on to the next open FD.
+            ++it;
+          }
+        } else {
+          // It's the same file. Nothing to do here. Move on to the next open
+          // FD.
+          ++it;
+        }
+
+        // Finally, remove the FD from the set of open_fds. We do this last because
+        // |element| will not remain valid after a call to erase.
+        open_fds.erase(element);
+      }
+    }
+
+    if (open_fds.size() > 0) {
+      // The zygote has opened new file descriptors since our last inspection.
+      // We warn about this condition and add them to our table.
+      //
+      // TODO(narayan): This will be an error in a future android release.
+      // error = true;
+      // ALOGW("Zygote opened %zd new file descriptor(s).", open_fds.size());
+
+      // TODO(narayan): This code will be removed in a future android release.
+      std::set<int>::const_iterator it;
+      for (it = open_fds.begin(); it != open_fds.end(); ++it) {
+        const int fd = (*it);
+        FileDescriptorInfo* info = FileDescriptorInfo::createFromFd(fd);
+        if (info == NULL) {
+          // A newly opened file is not on the whitelist. Flag an error and
+          // continue.
+          error = true;
+        } else {
+          // Track the newly opened file.
+          open_fd_map_[fd] = info;
+        }
+      }
+    }
+
+    return !error;
+  }
+
+  static int ParseFd(dirent* e, int dir_fd) {
+    char* end;
+    const int fd = strtol(e->d_name, &end, 10);
+    if ((*end) != '\0') {
+      return -1;
+    }
+
+    // Don't bother with the standard input/output/error, they're handled
+    // specially post-fork anyway.
+    if (fd <= STDERR_FILENO || fd == dir_fd) {
+      return -1;
+    }
+
+    return fd;
+  }
+
+  // Invariant: All values in this unordered_map are non-NULL.
+  std::unordered_map<int, FileDescriptorInfo*> open_fd_map_;
+
+  DISALLOW_COPY_AND_ASSIGN(FileDescriptorTable);
+};
diff --git a/core/res/res/layout/alert_dialog_material.xml b/core/res/res/layout/alert_dialog_material.xml
index 6d33de6..178505c 100644
--- a/core/res/res/layout/alert_dialog_material.xml
+++ b/core/res/res/layout/alert_dialog_material.xml
@@ -20,6 +20,7 @@
     android:id="@+id/parentPanel"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:gravity="start|top"
     android:orientation="vertical">
 
     <include layout="@layout/alert_dialog_title_material" />
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index b61d6cf..759b5a4 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2619,10 +2619,11 @@
             <enum name="viewEnd" value="6" />
         </attr>
 
-        <!-- Controls how this View is important for accessibility which is if it fires
-             accessibility events and if it is reported to accessibility services that
-             query the screen. Note: While not recommended, an accessibility service may
-             decide to ignore this attribute and operate on all views in the view tree. -->
+        <!-- Describes whether or not this view is important for accessibility.
+             If it is important, the view fires accessibility events and is
+             reported to accessibility services that query the screen. Note:
+             While not recommended, an accessibility service may decide to
+             ignore this attribute and operate on all views in the view tree. -->
         <attr name="importantForAccessibility" format="integer">
             <!-- The system determines whether the view is important for accessibility - default
                  (recommended). -->
diff --git a/docs/html-intl/intl/es/preview/guide.jd b/docs/html-intl/intl/es/about/versions/marshmallow/android-6.0-testing.jd
similarity index 98%
rename from docs/html-intl/intl/es/preview/guide.jd
rename to docs/html-intl/intl/es/about/versions/marshmallow/android-6.0-testing.jd
index 9d12b57..20d2d6e 100644
--- a/docs/html-intl/intl/es/preview/guide.jd
+++ b/docs/html-intl/intl/es/about/versions/marshmallow/android-6.0-testing.jd
@@ -5,8 +5,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
+<div id="tb-wrapper">
+  <div id="tb">
     <h2>En este documento</h2>
       <ol>
         <li><a href="#runtime-permissions">Prueba de los permisos</a></li>
diff --git a/docs/html-intl/intl/es/preview/behavior-changes.jd b/docs/html-intl/intl/es/about/versions/nougat/android-7.0-changes.jd
similarity index 97%
rename from docs/html-intl/intl/es/preview/behavior-changes.jd
rename to docs/html-intl/intl/es/about/versions/nougat/android-7.0-changes.jd
index 112c1c9..d4438f2 100644
--- a/docs/html-intl/intl/es/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/es/about/versions/nougat/android-7.0-changes.jd
@@ -6,8 +6,8 @@
 @jd:body
 
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>En este documento</h2>
 
@@ -77,7 +77,7 @@
 </p>
 
 
-<img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
+<img src="{@docRoot}images/android-7.0/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
   <strong>Figura 1:</strong> Ilustración del modo en que Descanso aplica un primer nivel de
   restricciones de actividad del sistema para prolongar la duración de la batería.
@@ -96,7 +96,7 @@
 </p>
 
 
-<img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
+<img src="{@docRoot}images/android-7.0/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
   <strong>Figura 2:</strong> Ilustración del modo en que Descanso aplica un segundo nivel de
   restricciones de actividad del sistema después de que el dispositivo permanece quieto durante un tiempo determinado.
@@ -282,10 +282,10 @@
 <div class="cols">
 
 <div class="col-6">
-  <img src="{@docRoot}preview/images/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
+  <img src="{@docRoot}images/android-7.0/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
 </div>
 <div class="col-6">
-  <img src="{@docRoot}preview/images/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
+  <img src="{@docRoot}images/android-7.0/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
 </div>
 
 </div> <!-- end cols -->
diff --git a/docs/html-intl/intl/es/preview/samples.jd b/docs/html-intl/intl/es/about/versions/nougat/android-7.0-samples.jd
similarity index 77%
rename from docs/html-intl/intl/es/preview/samples.jd
rename to docs/html-intl/intl/es/about/versions/nougat/android-7.0-samples.jd
index 204d11a..6461b54 100644
--- a/docs/html-intl/intl/es/preview/samples.jd
+++ b/docs/html-intl/intl/es/about/versions/nougat/android-7.0-samples.jd
@@ -16,7 +16,7 @@
 
 
 <h3 id="mw">“Área de juegos” de ventanas múltiples</h3>
-<img src="{@docRoot}preview/images/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156" />
+<img src="{@docRoot}images/android-7.0/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156" />
 <p>
   En este ejemplo se muestra la manera de aprovechar interfaces de usuario
   de ventanas múltiples con tu aplicación.
@@ -28,7 +28,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="an">Notificaciones activas</h3>
-<img src="{@docRoot}preview/images/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   Este es un ejemplo preexistente en el cual se muestra un servicio simple que envía
   notificaciones con NotificationCompat. Cada conversación no leída
@@ -45,7 +45,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="ms">Servicio de mensajería</h3>
-<img src="{@docRoot}preview/images/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
+<img src="{@docRoot}images/android-7.0/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
 <p>
   Este es un ejemplo preexistente en el que se demuestra la manera de usar
   NotificationManager para indicar la cantidad de notificaciones que se aparecen actualmente en una
@@ -62,7 +62,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="fbe">Inicio directo</h3>
-<img src="{@docRoot}preview/images/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   En este ejemplo se demuestra la manera de almacenar datos, y de acceder a ellos, en un medio de almacenamiento encriptado por
   dispositivo que esté siempre disponible mientras el dispositivo se haya iniciado.
@@ -74,7 +74,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="sda">Acceso a directorios determinados</h3>
-<img src="{@docRoot}preview/images/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   En este ejemplo se demuestra la manera de leer y escribir datos de
   directorios específicos y, al mismo tiempo, evitar más permisos.
@@ -82,4 +82,4 @@
 <p>
   <a href="https://github.com/googlesamples/android-ScopedDirectoryAccess">
 Obtener en GitHub</a>
-</p>
\ No newline at end of file
+</p>
diff --git a/docs/html-intl/intl/es/preview/api-overview.jd b/docs/html-intl/intl/es/about/versions/nougat/android-7.0.jd
similarity index 98%
rename from docs/html-intl/intl/es/preview/api-overview.jd
rename to docs/html-intl/intl/es/about/versions/nougat/android-7.0.jd
index 7cee010..97bf2f1 100644
--- a/docs/html-intl/intl/es/preview/api-overview.jd
+++ b/docs/html-intl/intl/es/about/versions/nougat/android-7.0.jd
@@ -7,8 +7,8 @@
 
 
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>Funciones claves para desarrolladores</h2>
   <ol>
       <ul style="list-style-type:none;">
@@ -78,7 +78,7 @@
   </ul>
 
 <div class="col-4of10">
-<img src="{@docRoot}preview/images/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
+<img src="{@docRoot}images/android-7.0/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
 <p class="img-caption">
   <strong>Figura 1:</strong> Aplicaciones en ejecución en el modo de pantalla dividida.
 </p>
@@ -142,15 +142,15 @@
 </ul>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-1.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-1.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-3.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-3.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-2.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-2.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 
@@ -277,7 +277,7 @@
 <h2 id="data_saver">Ahorro de datos</h2>
 
 <div class="col-5of12" style="margin-right:1.5em;">
-<img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">
+<img src="{@docRoot}images/android-7.0/datasaver.png" style="border:2px solid #ddd">
 
 <p class="img-caption" style="padding-right:2em;">
   <strong>Figura 4:</strong> Ahorro de datos en la configuración.
@@ -357,7 +357,7 @@
 
 
 <div style="float:right;max-width:320px">
-<img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">
+<img src="{@docRoot}images/android-7.0/quicksettings.png" style="padding-left:1.5em;">
 
 <p class="img-caption" style="padding-left:2em;">
   <strong>Figura 5:</strong> Mosaicos de Quick Settings del panel de notificaciones.
diff --git a/docs/html-intl/intl/es/about/versions/nougat/index.jd b/docs/html-intl/intl/es/about/versions/nougat/index.jd
new file mode 100644
index 0000000..59afd81
--- /dev/null
+++ b/docs/html-intl/intl/es/about/versions/nougat/index.jd
@@ -0,0 +1,109 @@
+page.title=Android 7.0 Nougat
+page.tags="androidn","versions"
+meta.tags="android n", "nougat", "android 7.0"
+fullpage=true
+forcelocalnav=true
+header.hide=1
+footer.hide=1
+@jd:body
+
+<section class="dac-expand dac-hero dac-light">
+  <div class="wrap" style="max-width:1100px;margin-top:0">
+  <a href="{@docRoot}about/versions/nougat/android-7.0.html">
+    <div class="cols dac-hero-content" style="padding-bottom:1em;">
+
+      <div class="col-7of16 col-push-8of16" style="padding-left:2em">
+        <h1 class="dac-hero-title">Android 7.0 Nougat</h1>
+        <p class="dac-hero-description">
+          ¡Prepárate para Android Nougat!
+          <strong>Prueba tus aplicaciones</strong> en Nexus y en otros dispositivos. Admite comportamientos del sistema
+ nuevo para <strong>ahorrar energía y memoria</strong>.
+          Amplía la funcionalidad de tus aplicaciones gracias a una <strong>IU con ventanas múltiples</strong>,
+ <strong>notificaciones de respuestas directas</strong> y más.
+        </p>
+
+        <a class="dac-hero-cta" href="{@docRoot}about/versions/nougat/android-7.0.html">
+          <span class="dac-sprite dac-auto-chevron"></span>
+          Comencemos
+        </a>
+      </div>
+      <div class="col-7of16 col-pull-6of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
+        <a  href="{@docRoot}about/versions/nougat/android-7.0.html">
+        <img class="dac-hero-image" src="{@docRoot}images/home/n-preview-hero.png"
+             srcset="{@docRoot}images/home/n-preview-hero.png 1x,
+             {@docRoot}images/home/n-preview-hero_2x.png 2x" />
+           </a>
+      </div>
+    </div></a>
+    <div class="dac-section dac-small">
+      <div class="resource-widget resource-flow-layout col-16"
+           data-query="collection:nougat/landing/resources"
+           data-cardSizes="6x2"
+           data-maxResults="3"></div>
+         </div>
+  </div>
+</section>
+
+<div class="dac-section dac-slim dac-gray dac-expand">
+  <div class="wrap dac-offset-parent">
+    <a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
+      <i class="dac-sprite dac-arrow-down-gray"></i>
+    </a>
+    <ul class="dac-actions">
+      <li class="dac-action">
+        <a class="dac-action-link" href="https://source.android.com/source/report-bugs.html">
+          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+          Informa un problema
+        </a>
+      </li>
+      <li class="dac-action">
+        <a class="dac-action-link" href="{@docRoot}preview/dev-community">
+          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+          Únete a la comunidad de desarrolladores
+        </a>
+      </li>
+    </ul>
+  </div><!-- end .wrap -->
+</div><!-- end .dac-actions -->
+
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">Lo último</h2>
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:blog+tag:androidn+tag:featured, type:youtube+tag:androidn+tag:featured"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x6"
+    data-items-per-page="6"
+    data-maxResults="15"
+    data-initial-results="3"></div>
+</div></section>
+
+<section class="dac-section dac-gray" id="videos"><div class="wrap">
+  <h1 class="dac-section-title">Videos</h1>
+  <div class="dac-section-subtitle">
+    New Android capabilities and the right way to use them in your apps.
+  </div>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="collection:nougat/landing/videos/first,type:youtube+tag:androidn"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x6"
+    data-items-per-page="6"
+    data-maxResults="15"
+    data-initial-results="3">
+  </div>
+</div></section>
+
+<section class="dac-section dac-light" id="resources"><div class="wrap">
+  <h1 class="dac-section-title">Recursos</h1>
+  <div class="dac-section-subtitle">
+    Información esencial para ayudarte a preparar tus aplicaciones para Android Nougat.
+  </div>
+
+  <div class="resource-widget resource-flow-layout col-16"
+       data-query="collection:nougat/landing/more"
+       data-cardSizes="6x6"
+       data-items-per-page="6"
+       data-maxResults="15"
+       data-initial-results="6"></div>
+  </div>
+</section>
\ No newline at end of file
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/features/multi-window.jd b/docs/html-intl/intl/es/guide/topics/ui/multi-window.jd
similarity index 98%
rename from docs/html-intl/intl/es/preview/features/multi-window.jd
rename to docs/html-intl/intl/es/guide/topics/ui/multi-window.jd
index 441e06a..0a9cbe2 100644
--- a/docs/html-intl/intl/es/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/es/guide/topics/ui/multi-window.jd
@@ -4,8 +4,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
+<div id="tb-wrapper">
+  <div id="tb">
     <h2>En este documento</h2>
       <ol>
         <li><a href="#overview">Información general</a></li>
@@ -69,8 +69,8 @@
   </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," id="img-split-screen" />
+<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>Figura 1:</strong> Dos aplicaciones ejecutándose una al lado de la otra en modo de pantalla dividida.
 </p>
diff --git a/docs/html-intl/intl/es/index.jd b/docs/html-intl/intl/es/index.jd
index 66f9bf0..1ecf47c 100644
--- a/docs/html-intl/intl/es/index.jd
+++ b/docs/html-intl/intl/es/index.jd
@@ -5,49 +5,36 @@
 
 @jd:body
 
-<script>
-  $(document).ready(function() {
-    if (useUpdatedTemplates) {
-      $("#useUpdatedTemplates").css("display","block");
-    } else {
-      $("#useOldTemplates").css("display","block");
-    }
-  })
-</script>
-
-<section class="dac-expand dac-hero dac-invert" style="background-color:#455A64">
-  <div class="wrap" style="max-width:1100px;margin-top:0">
-    <div class="col-7of16 col-push-9of16" style="padding-left:2em;">
-      <a href="{@docRoot}preview/index.html">
-        <h1 class="dac-hero-title">Android N Developer Preview</h1>
-        <p class="dac-hero-description">
-          Get ready for the next version of Android!
-          <strong>Test your apps</strong> on Nexus and other devices. Support new system
-          behaviors to <strong>save power and memory</strong>.
+<section class="dac-expand dac-hero" style="background-color:#b2dfdb;">
+  <div class="wrap" style="max-width:1000px;margin-top:0">
+    <div class="col-7of16 col-push-8of16">
+      <a href="{@docRoot}about/versions/nougat/index.html">
+        <h1 class="dac-hero-title" style="color:#004d40">Android 7.0 Nougat!</h1>
+        <p class="dac-hero-description" style="color:#004d40">
+          <strong>Android 7.0 Nougat is here!</strong>
+          Get your apps ready for the latest version of Android, with new system
+          behaviors to <strong>save battery and memory</strong>.
           Extend your apps with <strong>multi-window UI</strong>,
           <strong>direct reply notifications</strong> and more.
         </p>
-        <a class="dac-hero-cta" href="/preview/index.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
+        <a class="dac-hero-cta" href="{@docRoot}about/versions/nougat/index.html" style="color:#004d40">
+          <span class="dac-sprite dac-auto-chevron" style="background-color:#b2dfdb"></span>
           Learn more
-        </a><!--<br>
-        <a class="dac-hero-cta" href="/preview/support.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Update to Developer Preview (final SDK)
-        </a><br>-->
+        </a>
+        </a>
       </a>
     </div>
-    <div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:0em;padding-right:1.5em;">
-      <a href="{@docRoot}preview/index.html">
-        <img style="" class="dac-hero-image" src="/images/home/n-preview-hero.png"
-             srcset="/images/home/n-preview-hero.png 1x,
-             /images/home/n-preview-hero_2x.png 2x">
+    <div class="col-6of16 col-pull-6of16 dac-hero-figure" style="padding-left:1em;padding-top:1em;">
+      <a href="{@docRoot}about/versions/nougat/index.html">
+        <img class="dac-hero-image" src="{@docRoot}images/home/nougat_bg.jpg"
+             srcset="{@docRoot}images/home/nougat_bg.jpg 1x,
+             {@docRoot}images/home/nougat_bg_2x.jpg 2x">
         </a>
     </div>
   </div>
 </section>
 
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
+<div class="dac-section dac-slim dac-gray dac-expand">
   <div class="wrap dac-offset-parent">
     <a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
       <i class="dac-sprite dac-arrow-down-gray"></i>
@@ -75,28 +62,6 @@
   </div><!-- end .wrap -->
 </div><!-- end .dac-actions -->
 
-<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
-  <div class="wrap dac-offset-parent">
-    <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
-      <i class="dac-sprite dac-arrow-down-gray"></i>
-    </a>
-    <div class="actions">
-      <div><a href="{@docRoot}sdk/index.html">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Get the SDK
-      </a></div>
-      <div><a href="{@docRoot}samples/index.html">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Browse Samples
-      </a></div>
-      <div><a href="{@docRoot}distribute/stories/index.html">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Watch Stories
-      </a></div>
-    </div><!-- end .actions -->
-  </div><!-- end .wrap -->
-</div>
-
 <section class="dac-section dac-light" id="build-apps"><div class="wrap">
   <h1 class="dac-section-title">Build Beautiful Apps</h1>
   <div class="dac-section-subtitle">
diff --git a/docs/html-intl/intl/es/preview/_book.yaml b/docs/html-intl/intl/es/preview/_book.yaml
deleted file mode 100644
index 815f0f6..0000000
--- a/docs/html-intl/intl/es/preview/_book.yaml
+++ /dev/null
@@ -1,342 +0,0 @@
-toc:
-- title: Información general del programa
-  path: /preview/overview.html
-  path_attributes:
-  - name: es-lang
-    value: Información general del programa
-  - name: in-lang
-    value: Ikhtisar Program
-  - name: ja-lang
-    value: プログラム概要
-  - name: ko-lang
-    value: 프로그램 개요
-  - name: pt-br-lang
-    value: Visão geral do programa
-  - name: ru-lang
-    value: Обзор программы
-  - name: vi-lang
-    value: Tổng quan về Chương trình
-  - name: zh-cn-lang
-    value: 计划概览
-  - name: zh-tw-lang
-    value: 程式總覽
-
-- title: Compatibilidad y notas de la versión
-  path: /preview/support.html
-
-- title: Configuración de Preview
-  path: /preview/setup-sdk.html
-  path_attributes:
-  - name: es-lang
-    value: Configurar el SDK de la versión preliminar
-  - name: in-lang
-    value: Menyiapkan Preview
-  - name: ja-lang
-    value: Preview SDK のセットアップ
-  - name: ko-lang
-    value: 미리 보기 SDK 설정하기
-  - name: pt-br-lang
-    value: Configuração do Preview SDK
-  - name: ru-lang
-    value: Настройка пакета SDK Preview
-  - name: vi-lang
-    value: Kiểm thử trên Thiết bị
-  - name: zh-cn-lang
-    value: 设置预览版 SDK
-  - name: zh-tw-lang
-    value: 設定預覽版 SDK
-
-- title: Probar en un dispositivo
-  path: /preview/download.html
-  path_attributes:
-  - name: es-lang
-    value: Probar en un dispositivo
-  - name: in-lang
-    value: Menguji pada Perangkat
-  - name: ja-lang
-    value: デバイス上でテストする
-  - name: ko-lang
-    value: 기기에서 테스트
-  - name: pt-br-lang
-    value: Testar em um dispositivo
-  - name: ru-lang
-    value: Тестирование на устройстве
-  - name: vi-lang
-    value: Kiểm thử trên Thiết bị
-  - name: zh-cn-lang
-    value: 在设备上测试
-  - name: zh-tw-lang
-    value: 在裝置上測試
-
-- title: Cambios en los comportamientos
-  path: /preview/behavior-changes.html
-  path_attributes:
-  - name: es-lang
-    value: Cambios en los comportamientos
-  - name: in-lang
-    value: Perubahan Perilaku
-  - name: ja-lang
-    value: 動作の変更点
-  - name: ko-lang
-    value: 동작 변경
-  - name: pt-br-lang
-    value: Mudanças de comportamento
-  - name: ru-lang
-    value: Изменения в работе
-  - name: vi-lang
-    value: Các thay đổi Hành vi
-  - name: zh-cn-lang
-    value: 行为变更
-  - name: zh-tw-lang
-    value: 行為變更
-  section:
-  - title: Background Optimizations
-    path: /preview/features/background-optimization.html
-    path_attributes:
-    - name: es-lang
-      value: Optimizaciones en segundo plano
-    - name: in-lang
-      value: Optimisasi Latar Belakang
-    - name: ja-lang
-      value: バックグラウンド処理の最適化
-    - name: ko-lang
-      value: 백그라운드 최적화
-    - name: pt-br-lang
-      value: Otimizações em segundo plano
-    - name: ru-lang
-      value: Оптимизация фоновых процессов
-    - name: vi-lang
-      value: Tối ưu hóa Chạy ngầm
-    - name: zh-cn-lang
-      value: 后台优化
-    - name: zh-tw-lang
-      value: 背景最佳化
-  - title: Idioma y configuración regional
-    path: /preview/features/multilingual-support.html
-    path_attributes:
-    - name: es-lang
-      value: Idioma y configuración regional
-    - name: in-lang
-      value: Bahasa dan Lokal
-    - name: ja-lang
-      value: 言語とロケール
-    - name: ko-lang
-      value: 언어 및 로케일
-    - name: pt-br-lang
-      value: Idioma e localidade
-    - name: ru-lang
-      value: Язык и языковой стандарт
-    - name: vi-lang
-      value: Ngôn ngữ và Bản địa
-    - name: zh-cn-lang
-      value: 语言和区域设置
-    - name: zh-tw-lang
-      value: 語言和地區設定
-
-- title: Android N for Developers
-  path: /preview/api-overview.html
-  path_attributes:
-  - name: es-lang
-    value: Información general de la API
-  - name: in-lang
-    value: Android N untuk Pengembang
-  - name: ja-lang
-    value: API の概要
-  - name: ko-lang
-    value: API 개요
-  - name: pt-br-lang
-    value: Visão geral da API
-  - name: ru-lang
-    value: Обзор API-интерфейсов
-  - name: vi-lang
-    value: Android N cho Nhà phát triển
-  - name: zh-cn-lang
-    value: API 概览
-  - name: zh-tw-lang
-    value: API 總覽
-  section:
-  - title: Compatibilidad con ventanas múltiples
-    path: /preview/features/multi-window.html
-    path_attributes:
-    - name: es-lang
-      value: Compatibilidad con ventanas múltiples
-    - name: in-lang
-      value: Dukungan Multi-Jendela
-    - name: ja-lang
-      value: マルチ ウィンドウのサポート
-    - name: ko-lang
-      value: 다중 창 지원
-    - name: pt-br-lang
-      value: Suporte a várias janelas
-    - name: ru-lang
-      value: Поддержка многооконного режима
-    - name: vi-lang
-      value: Hỗ trợ đa cửa sổ
-    - name: zh-cn-lang
-      value: 多窗口支持
-    - name: zh-tw-lang
-      value: 多視窗支援
-  - title: Notificaciones
-    path: /preview/features/notification-updates.html
-    path_attributes:
-    - name: es-lang
-      value: Notificaciones
-    - name: in-lang
-      value: Pemberitahuan
-    - name: ja-lang
-      value: 通知
-    - name: ko-lang
-      value: 알림
-    - name: pt-br-lang
-      value: Notificações
-    - name: ru-lang
-      value: Уведомления
-    - name: vi-lang
-      value: Thông báo
-    - name: zh-cn-lang
-      value: 通知
-    - name: zh-tw-lang
-      value: 通知
-  - title: Ahorro de datos
-    path: /preview/features/data-saver.html
-  - title: Grabación de TV
-    path: /preview/features/tv-recording-api.html
-    path_attributes:
-    - name: es-lang
-      value: Grabación de TV
-    - name: in-lang
-      value: Perekaman TV
-    - name: ja-lang
-      value: TV の録画
-    - name: ko-lang
-      value: TV 녹화
-    - name: pt-br-lang
-      value: Gravação para TV
-    - name: ru-lang
-      value: Запись ТВ
-    - name: vi-lang
-      value: Ghi lại TV
-    - name: zh-cn-lang
-      value: TV 录制
-    - name: zh-tw-lang
-      value: 電視錄製
-  - title: Configuración de seguridad de la red
-    path: /preview/features/security-config.html
-    path_attributes:
-    - name: es-lang
-      value: Configuración de seguridad de la red
-    - name: ja-lang
-      value: ネットワーク セキュリティ構成
-    - name: ko-lang
-      value: 네트워크 보안 구성
-    - name: pt-br-lang
-      value: Configurações de segurança de rede
-    - name: ru-lang
-      value: Конфигурация сетевой безопасности
-    - name: vi-lang
-      value: Cấu hình Bảo mật mạng
-    - name: zh-cn-lang
-      value: 网络安全配置
-    - name: zh-tw-lang
-      value: 網路安全性設定
-  - title: Compatibilidad con ICU4J
-    path: /preview/features/icu4j-framework.html
-    path_attributes:
-    - name: es-lang
-      value: API de ICU4J del framework de Android
-    - name: in-lang
-      value: ICU4J Android Framework API
-    - name: ja-lang
-      value: ICU4J Android フレームワーク API
-    - name: ko-lang
-      value: ICU4J Android 프레임워크 API
-    - name: pt-br-lang
-      value: APIs de estrutura do Android para ICU4J
-    - name: ru-lang
-      value: API-интерфейсы ICU4J в платформе Android
-    - name: vi-lang
-      value: API Khuôn khổ Android ICU4J
-    - name: zh-cn-lang
-      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
-    path: /preview/features/scoped-folder-access.html
-    path_attributes:
-    - name: es-lang
-      value: Acceso a directorios determinados
-    - name: ja-lang
-      value: 特定のディレクトリへのアクセス
-    - name: ko-lang
-      value: 범위가 지정된 디렉터리 액세스
-    - name: pt-br-lang
-      value: Acesso a diretórios com escopo
-    - name: ru-lang
-      value: Доступ к выделенным каталогам
-    - name: vi-lang
-      value: Truy cập Thư mục theo Phạm vi
-    - name: zh-cn-lang
-      value: 作用域目录访问
-    - name: zh-tw-lang
-      value: 限定範圍目錄存取
-
-- title: Ejemplos
-  path: /preview/samples.html
-  path_attributes:
-  - name: es-lang
-    value: Ejemplos
-  - name: in-lang
-    value: Contoh
-  - name: ja-lang
-    value: サンプル
-  - name: ko-lang
-    value: 샘플
-  - name: pt-br-lang
-    value: Exemplos
-  - name: ru-lang
-    value: Примеры
-  - name: zh-cn-lang
-    value: 示例
-  - name: zh-tw-lang
-    value: 範例
-
-- title: Contrato de licencia
-  path: /preview/license.html
-  path_attributes:
-  - name: es-lang
-    value: Contrato de licencia
-  - name: ja-lang
-    value: 使用許諾契約
-  - name: ko-lang
-    value: 라이선스 계약
-  - name: pt-br-lang
-    value: Contrato de licença
-  - name: ru-lang
-    value: Лицензионное соглашение
-  - name: zh-cn-lang
-    value: 许可协议
-  - name: zh-tw-lang
-    value: 授權協議
diff --git a/docs/html-intl/intl/es/preview/download-ota.jd b/docs/html-intl/intl/es/preview/download-ota.jd
deleted file mode 100644
index 2b2bcbf..0000000
--- a/docs/html-intl/intl/es/preview/download-ota.jd
+++ /dev/null
@@ -1,332 +0,0 @@
-page.title=Aplicación de imágenes inalámbricas de dispositivo
-
-@jd:body
-
-<div style="position:relative; min-height:600px">
-
-  <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
-
-    <p class="sdk-terms-intro">Antes de descargar e instalar los componentes del
-      Android Preview SDK, debe aceptar los términos y las
-      condiciones que se describen a continuación.</p>
-
-    <h2 class="norule">Términos y condiciones</h2>
-
-    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
-Este es el Contrato de licencia de la versión Android SDK Preview (el “Contrato de licencia”).
-
-1. Introducción
-
-1.1 Se le otorga la licencia de la versión Android SDK Preview (denominada “Preview” en el Contrato de licencia y que incluye específicamente los archivos de sistema de Android, las API agrupadas y los archivos de biblioteca de la Preview, si se encuentran disponibles), sujeto a los términos del Contrato de licencia. El Contrato de licencia establece una relación legal vinculante entre usted y Google en relación con el uso que realice de la Preview.
-
-1.2 “Android” hace referencia al conjunto de soluciones Android para dispositivos, según se encuentre disponible en el Proyecto de código abierto de Android (Android Open Source Project), que se encuentra en la siguiente URL: http://source.android.com/, y según se actualiza periódicamente.
-
-.1.3 “Compatible con Android” se refiere a cualquier implementación de Android que (i) cumpla con el documento Definición de compatibilidad de Android, disponible en el sitio web de compatibilidad de Android (http://source.android.com/compatibility) y que puede actualizarse esporádicamente; y (ii) apruebe satisfactoriamente la prueba de Compatibilidad con Android, "CTS” (en inglés, Android Compatibility Test Suite).
-
-1.4 “Google” hace referencia a Google Inc., una corporación de Delaware, con sede principal en 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
-
-2. Aceptación del Contrato de licencia
-
-2.1 Para poder utilizar la Preview, primero debe aceptar el Contrato de licencia. Si no acepta el Contrato de licencia, no podrá utilizar la Preview.
-
-2.2 Al hacer clic para aceptar o utilizar la Preview, por medio del presente, usted acepta los términos del Contrato de licencia.
-
-2.3 No puede utilizar la Preview ni aceptar el Contrato de licencia si tiene prohibido recibir la Preview en virtud de las leyes de los Estados Unidos o de otros países, lo que incluye el país donde es residente o desde el que utilizará la Preview.
-
-2.4 Si utilizará la Preview de forma interna, dentro de su empresa u organización, usted acepta quedar sujeto al Contrato de licencia en representación de su empleador u otra entidad, y expresa y garantiza que tiene plena autoridad legal para vincular a su empleador o a dicha entidad al Contrato de licencia. Si usted no posee la autoridad requerida, no podrá aceptar el Contrato de licencia ni utilizar la Preview en representación de su empleador u otra entidad.
-
-3. Licencia de la Preview de Google
-
-3.1 Conforme a los términos de este contrato de licencia, Google le otorga una licencia limitada, con validez mundial, libre de regalías, no asignable, no exclusiva y sin la posibilidad de otorgar una sublicencia, para utilizar la Preview con el único propósito de desarrollar aplicaciones para ejecutar en implementaciones compatibles de Android.
-
-3.2 No puede utilizar esta Preview para desarrollar aplicaciones para otras plataformas (entre las que se incluyen implementaciones incompatibles de Android) o para desarrollar otro SDK. Desde luego, usted tiene la libertad para desarrollar aplicaciones para otras plataformas, entre las que se incluyen implementaciones incompatibles de Android, siempre y cuando esta Preview no se utilice con ese propósito.
-
-3.3 Usted acepta que Google o terceros poseen todos los derechos legales, títulos e intereses en relación con la Preview, incluidos derechos de propiedad intelectual que existan en esta. "Derechos de propiedad intelectual" hace referencia a todos los derechos de la ley de patentes, la ley de derechos de autor, la ley de secreto comercial, la ley de marca comercial y cualquier otro derecho de propiedad. Google se reserva todos los derechos que no se le otorguen expresamente.
-
-3.4 Usted no podrá utilizar la Preview para ningún otro propósito que no esté expresamente permitido en el Contrato de licencia. Excepto en la medida que lo exijan las licencias correspondientes de terceros, no podrá: (a) copiar (excepto con fines de copia de seguridad), modificar, adaptar, redistribuir, descompilar, utilizar técnicas de ingeniería inversa, desarmar ni crear trabajos derivados de la Preview ni de ninguna de sus partes; ni (b) cargar ninguna parte de la Preview en un teléfono móvil ni en ningún otro dispositivo de hardware (a excepción de una computadora personal), ni podrá combinar ninguna parte de la Preview con otro software, ni distribuir algún software o dispositivo que incorpore alguna parte de la Preview.
-
-3.5 El uso, la reproducción y la distribución de los componentes de la Preview con licencia de software de código abierto están regidos exclusivamente por los términos de la licencia de ese software de código abierto y no de este Contrato de licencia. Usted acepta mantener la licencia en regla con respecto a dichas licencias de software de código abierto en virtud de todos los derechos otorgados y acepta abstenerte de realizar acción alguna que pudiera poner fin, suspender o violar dichos derechos.
-
-3.6 Acepta que la forma y la naturaleza de la Preview que proporciona Google pueden cambiar sin tener que brindarle aviso previo, y que las versiones futuras de la Preview pueden ser incompatibles con las aplicaciones desarrolladas en versiones anteriores de la Preview. Usted acepta que Google, generalmente a su entera discreción, puede dejar de proporcionarle a usted o a los demás usuarios (de forma permanente o temporal) la Preview (o cualquiera de sus funciones) sin previo aviso.
-
-3.7 Ninguna declaración de este Contrato de licencia le otorga el derecho de utilizar alguno de los nombres comerciales, las marcas comerciales, las marcas de servicio, los logotipos, los nombres de dominio ni otras características distintivas de marca de Google.
-
-3.8 Usted acepta que no quitará, ocultará o alterará ninguna de las notificaciones de derechos de autor (entre las que se incluyen las notificaciones de copyright y marcas comercias) que pudieran estar anexadas o implícitas en la Preview.
-
-4. Uso que usted realiza de la Preview
-
-4.1 Google acepta que ninguna declaración del Contrato de licencia le concede a Google derecho, título o interés alguno de su parte (o de parte de sus licenciantes), en virtud del Contrato de licencia, con respecto a las aplicaciones de software que usted desarrolle mediante el uso de la Preview, lo que incluye los derechos de propiedad intelectual que conlleven esas aplicaciones.
-
-4.2 Usted acepta utilizar la Preview y escribir aplicaciones únicamente conforme a lo que permite (a) este Contrato de licencia y (b) las leyes, regulaciones, o prácticas y pautas generalmente aceptadas y pertinentes en las jurisdicciones relevantes (entre las que se incluyen las leyes sobre la exportación de datos o software hacia los Estados Unidos u otros países relevantes y desde ellos).
-
-4.3 Usted acepta que si utiliza la Preview para desarrollar aplicaciones, protegerá la privacidad y los derechos legales de los usuarios. Si los usuarios le proporcionan sus nombres de usuario, contraseñas u otra información de inicio de sesión o información personal, debe comunicarles que la información se encontrará disponible para su aplicación, y debe proporcionarles a dichos usuarios un aviso de privacidad con protección y validez legal. Si su aplicación almacena información personal o confidencial proporcionada por los usuarios, lo debe hacer de forma segura. Si los usuarios le proporcionan información sobre la cuenta de Google, su aplicación solo puede usar esa información para acceder a la cuenta de Google del usuario siempre que este le haya otorgado permiso para hacerlo y con los fines para los que se lo haya otorgado.
-
-4.4 Usted acepta que no participará en ninguna actividad con la Versión preliminar (lo que incluye el desarrollo o la distribución de una aplicación) que interfiera, interrumpa, dañe o acceda sin autorización a servidores, redes u otras propiedades o servicios de Google o de algún tercero.
-
-4.5 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de los datos, el contenido o los recursos que usted cree, transmita o muestre a través de Android o las aplicaciones para Android, y de las consecuencias de sus acciones (lo que incluye la pérdida o el daño que Google pudiera sufrir) al hacerlo.
-
-4.6 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de cualquier incumplimiento de sus obligaciones en virtud de este Contrato de licencia, los contratos aplicables de terceros o los términos del servicio, o cualquier ley o regulación pertinentes, y de las consecuencias (lo que incluye las pérdidas o los daños que pudieran sufrir Google o algún tercero) de dichos incumplimientos.
-
-4.7 La Versión preliminar se encuentra en desarrollo, y sus pruebas y comentarios son una parte importante del proceso de desarrollo. Al utilizar la Preview, usted reconoce que la implementación de algunas características aún se encuentra en desarrollo y que no debe confiar en que la Preview contará con todas las funcionalidades de una versión estable. Usted acepta no distribuir públicamente ni enviar ninguna aplicación que utilice esta Preview, dado que esta Preview ya no se admitirá tras el lanzamiento del Android SDK oficial.
-
-5. Sus credenciales de desarrollador
-
-5.1 Usted acepta que es responsable de mantener la confidencialidad de toda credencial de desarrollador que Google pudiera otorgarle o que pudiera escoger usted mismo, y que será el único responsable de todas las aplicaciones que se desarrollen con sus credenciales de desarrollador.
-
-6. Privacidad e información
-
-6.1 Con el objetivo de poder innovar y mejorar de forma continua la Preview, Google podría recopilar ciertas estadísticas de uso del software, entre las que se incluyen, de forma enunciativa, un identificador único, la dirección IP asociada, el número de versión del software e información sobre las herramientas o los servicios de la Preview que se estén utilizando y la manera en que se estén utilizando. Antes de que se recopile esta información, la Preview se lo notificará y le solicitará su permiso. Si no otorga su permiso, no se recopilará la información.
-
-6.2 Los datos recopilados se analizan en el agregado para mejorar la Preview y se conservan de acuerdo con la política de privacidad de Google, que se encuentra en el sitio http://www.google.com/policies/privacy/.
-
-7. Aplicaciones de terceros
-
-7.1 Si utiliza la Preview para ejecutar aplicaciones desarrolladas por un tercero o que accedan a datos, contenido o recursos proporcionados por un tercero, usted acepta que Google no es responsable de esas aplicaciones, datos, contenido ni recursos. Usted comprende que todos los datos, contenidos o recursos a los que podría acceder a través de esas aplicaciones de terceros son exclusiva responsabilidad de la persona que los origina y que Google no es responsable de las pérdidas ni los daños que usted pudiera experimentar como consecuencia del uso o acceso de cualquiera de esas aplicaciones, datos, contenido o recursos de terceros.
-
-7.2 Usted debe saber que los datos, el contenido y los recursos que se le presentan a través de esa aplicación de un tercero pueden estar protegidos por derechos de propiedad intelectual que les pertenecen a sus proveedores (o a otras personas o compañías en representación de estos). No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas basadas en esos datos, contenidos o recursos (en su totalidad o en parte), a menos que los propietarios pertinentes le hayan otorgado el permiso específico para hacerlo.
-
-7.3 Usted acepta que el uso que haga de las aplicaciones, los datos, el contenido o los recursos de ese tercero puede estar sujeto a términos independientes entre usted y el tercero correspondiente.
-
-Uso de las API de Google
-
-8.1 API de Google
-
-8.1.1 Si utiliza alguna API para recuperar datos de Google, usted acepta que los datos pueden estar protegidos por derechos de propiedad intelectual que le pertenecen a Google o a las partes que proporcionan esos datos (o a otras personas o empresas en representación de estos). El uso que realice de cualquiera de esas API puede estar sujeto a términos de servicio adicionales. No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas con base en esos datos (en su totalidad o en parte), a menos que los términos de servicio correspondientes lo permitan.
-
-8.1.2 Si utiliza cualquier API para recuperar datos de un usuario de Google, usted acepta y acuerda que solo podrá recuperar datos con el consentimiento explícito del usuario y solo cuando, y para los fines limitados para los que, el usuario le haya otorgado permiso para hacerlo.
-
-9. Finalización del Contrato de licencia
-
-9.1 Este Contrato de licencia tendrá vigencia hasta que lo revoquen usted o Google, como se indica a continuación.
-
-9.2 Si desea rescindir el Contrato de licencia, puede hacerlo al interrumpir el uso que realiza de la Preview y de las credenciales de desarrollador pertinentes.
-
-9.3 Google puede, en cualquier momento, rescindir el Contrato de licencia, con causa o sin ella, luego de notificárselo.
-
-9.4 El Contrato de licencia finalizará automáticamente, sin previo aviso ni acción alguna, tras la primera de las siguientes situaciones:
-(A) cuando Google deje de proporcionar la Preview o ciertas partes de esta a los usuarios en el país donde usted reside o desde el que utiliza el servicio; y
-(B) cuando Google emita una versión final del Android SDK.
-
-9.5 Si el Contrato de licencia se rescinde, se revocará la licencia que usted recibió en virtud de dicho contrato; usted deberá suspender inmediatamente todo uso de la Preview, y las disposiciones de los párrafos 10, 11, 12 y 14 seguirán vigentes indefinidamente.
-
-10. EXENCIONES DE RESPONSABILIDAD
-
-10.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE EL USO QUE REALICE DE LA PREVIEW ES BAJO SU PROPIO RIESGO Y QUE LA PREVIEW SE PROPORCIONA “EN LAS CONDICIONES EN LAS QUE SE ENCUENTRA” Y “SUJETA A DISPONIBILIDAD” SIN GARANTÍAS DE NINGÚN TIPO POR PARTE DE GOOGLE.
-
-10.2 EL USO QUE USTED REALICE DE LA PREVIEW Y DE TODO MATERIAL DESCARGADO U OBTENIDO DE ALGUNA OTRA MANERA MEDIANTE EL USO DE LA PREVIEW ES A SU ENTERO RIESGO Y DISCRECIÓN, Y USTED ES EL ÚNICO RESPONSABLE DE CUALQUIER DAÑO QUE PUDIERA SUFRIR SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO, O DE LA PÉRDIDA DE DATOS COMO CONSECUENCIA DE DICHO USO. SIN PERJUICIO DE LO MENCIONADO ANTERIORMENTE, USTED COMPRENDE QUE LA VERSIÓN PRELIMINAR NO ES UNA VERSIÓN ESTABLE, Y PUEDE CONTENER ERRORES, DEFECTOS Y VULNERABILIDADES DE SEGURIDAD QUE PUEDEN PROVOCAR DAÑOS SIGNIFICATIVOS, LO QUE INCLUYE LA PÉRDIDA COMPLETA E IRRECUPERABLE DEL USO DE SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO.
-
-10.3 GOOGLE TAMBIÉN RECHAZA TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, EXPRESAS O IMPLÍCITAS, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS Y CONDICIONES DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN.
-
-11. LIMITACIÓN DE RESPONSABILIDADES
-
-11.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE GOOGLE, SUS SUBSIDIARIAS Y FILIALES, Y SUS LICENCIANTES NO SERÁN RESPONSABLES ANTE USTED, EN VIRTUD DE NINGUNA TEORÍA DE RESPONSABILIDAD, POR NINGÚN DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, RESULTANTE NI PUNITIVO EN EL QUE PODRÍA HABER INCURRIDO, LO QUE INCLUYE LA PÉRDIDA DE DATOS, YA SEA QUE SE LE HAYA NOTIFICADO O NO A GOOGLE O A SUS REPRESENTANTES, O SOBRE CUYA POSIBILIDAD ESTOS DEBERÍAN HABER SABIDO.
-
-12. Indemnización
-
-12.1 Hasta el grado máximo que permita la ley, usted acepta defender, indemnizar y eximir de responsabilidades a Google, sus filiales y sus respectivos directores, funcionarios, empleados y agentes, de todo tipo de reclamo, acción legal y proceso judicial, así como de las pérdidas, responsabilidades, daños, costos y gastos (incluidos los honorarios razonables de abogados) que surjan o se acumulen (a) del uso que usted realiza de la Versión preliminar, (b) de cualquier aplicación que desarrolle en la Versión preliminar que infrinja algún derecho de propiedad intelectual de cualquier persona, o que difame a cualquier persona o viole sus derechos de publicidad o privacidad, y (c) del incumplimiento por su parte del Contrato de licencia.
-
-13. Cambios en el Contrato de licencia
-
-13.1 Google puede realizar cambios en el Contrato de licencia a medida que distribuye nuevas versiones de la Versión preliminar. Cuando se realicen esos cambios, Google emitirá una nueva versión del Contrato de licencia, que estará disponible en el sitio web donde se ponga a la venta la Versión preliminar.
-
-14. Términos legales generales
-
-14.1 El Contrato de licencia constituye el contrato legal integral entre usted y Google, y rige el uso que usted realice de la Versión preliminar (a excepción de los servicios que Google pueda proporcionarle en virtud de un contrato por escrito independiente), y reemplaza totalmente cualquier contrato anterior entre usted y Google en relación con la Versión preliminar.
-
-14.2 Usted acepta que, si Google no ejerce ni impone un derecho o recurso legal especificados en el Contrato de licencia (o sobre el que Google tenga beneficios conforme a cualquier ley aplicable), esto no se considerará una renuncia formal a los derechos por parte de Google y Google aún seguirá recibiendo los beneficios de esos derechos o recursos legales.
-
-14.3 Si algún tribunal judicial con jurisdicción para decidir sobre este asunto determina que alguna de las disposiciones de este Contrato de licencia no es válida, se eliminará esa disposición del Contrato de licencia sin que eso afecte la validez del resto del contrato. Las disposiciones restantes del Contrato de licencia continuarán siendo válidas y aplicables.
-
-14.4 Usted reconoce y acepta que cada miembro del grupo de compañías de las que Google es la compañía central serán terceros beneficiarios del Contrato de licencia, y que esas otras empresas tendrán el derecho de imponer directamente cualquier disposición y ampararse en las disposiciones de este Contrato de licencia que les confieran un beneficio (o que confieran derechos a su favor). Además de esto, ninguna otra persona o compañía serán terceros beneficiarios del Contrato de licencia.
-
-14.5 RESTRICCIONES DE EXPORTACIÓN. LA VERSIÓN PRELIMINAR ESTÁ SUJETA A LAS LEYES Y REGULACIONES DE EXPORTACIÓN DE LOS ESTADOS UNIDOS. DEBE CUMPLIR CON TODAS LAS LEYES Y REGULACIONES DE EXPORTACIÓN NACIONALES E INTERNACIONALES QUE SE APLIQUEN A LA VERSIÓN PRELIMINAR. ESTAS LEYES INCLUYEN RESTRICCIONES EN RELACIÓN CON LOS DESTINOS, USUARIOS FINALES Y USO FINAL.
-
-14.6 Usted no puede asignar ni transferir el Contrato de licencia sin la aprobación previa por escrito de Google y todo intento de asignación sin dicha aprobación no tendrá validez. No podrá delegar sus responsabilidades u obligaciones otorgadas en virtud del Contrato de licencia sin la aprobación previa por escrito de Google.
-
-14.7 El Contrato de licencia y su relación con Google conforme al Contrato de licencia se regirán por las leyes del estado de California, independientemente de los principios de conflictos entre leyes. Usted y Google aceptan presentarse ante la jurisdicción exclusiva de los tribunales del condado de Santa Clara, California, para resolver cualquier asunto legal que pudiera surgir del Contrato de licencia. Sin perjuicio de esto, usted acepta que Google aún podrá aplicar reparaciones conforme a mandato judicial (o a un tipo equivalente de desagravio legal) en cualquier jurisdicción.
-  </div><!-- sdk terms -->
-
-
-
-    <div id="sdk-terms-form">
-      <p>
-        <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">He leído y acepto los términos y las condiciones anteriores.</label>
-      </p>
-      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-    </div>
-
-
-  </div><!-- end TOS -->
-
-
-  <div id="landing">
-
-<p>
-  Esta página cuenta con enlaces a imágenes de dispositivos inalámbricos y describe
-  cómo aplicar una actualización inalámbrica a un dispositivo de forma manual. Este procedimiento puede ser útil
-  para recuperar dispositivos que hayan recibido actualizaciones inalámbricas por medio del Programa
-  Android Beta y no enciendan luego de instalada la aplicación.
-</p>
-
-<h2 id="install-ota">Instalar imágenes inalámbricas</h2>
-
-<p></p>
-
-<p>Para instalar un paquete inalámbrico en un dispositivo sigue estos pasos:</p>
-
-<ol>
-  <li>Descargar una imagen de dispositivo inalámbrico de la tabla que verás a continuación.</li>
-  <li>Reinicia el dispositivo en modo Recuperación. Para leer más información sobre cómo
-    aplicar este modo en dispositivos Nexus, visita la sección
-<a href="https://support.google.com/nexus/answer/4596836">Reset your Nexus
-      device to factory settings</a>.
-  </li>
-  <li>En el dispositivo, selecciona <strong>ADB sideload</strong>.</li>
-  <li>Conecta el dispositivo a una computadora con el entorno de desarrollo Android
-    cargado y la herramienta Android Debug Bridge (ADB) instalada.</li>
-  <li>Ejecuta el comando siguiente:
-    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
-  </li>
-</ol>
-
-
-
-<h2 id="ota-images">Imágenes inalámbricas de dispositivo</h2>
-
-<table>
-  <tr>
-    <th scope="col">Dispositivo</th>
-    <th scope="col">Descarga/sumas de comprobación</th>
-  </tr>
-
-  <tr id="bullhead">
-    <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-ota-npd90g-0a874807.zip</a><br>
-      MD5: 4b83b803fac1a6eec13f66d0afc6f46e<br>
-      SHA-1: a9920bcc8d475ce322cada097d085448512635e2
-    </td>
-  </tr>
-
-  <tr id="shamu">
-    <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >shamu-ota-npd90g-06f5d23d.zip</a><br>
-      MD5: 513570bb3a91878c2d1a5807d2340420<br>
-      SHA-1: 2d2f40636c95c132907e6ba0d10b395301e969ed
-    </td>
-  </tr>
-
-  <tr id="angler">
-    <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >angler-ota-npd90g-5baa69c2.zip</a><br>
-      MD5: 096fe26c5d50606a424d2f3326c0477b<br>
-      SHA-1: 468d2e7aea444505513ddc183c85690c00fab0c1
-    </td>
-  </tr>
-
-  <tr id="volantis">
-    <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantis-ota-npd90g-c04785e1.zip</a><br>
-      MD5: 6aecd3b0b3a839c5ce1ce4d12187b03e<br>
-      SHA-1: 31633180635b831e59271a7d904439f278586f49
-    </td>
-  </tr>
-
-  <tr id="volantisg">
-    <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-ota-npd90g-c56aa1b0.zip</a><br>
-      MD5: 0493fa79763d67bcdde8007299e1888d<br>
-      SHA-1: f709daf81968a1b27ed41fe40d42e0d106f3c494
-    </td>
-  </tr>
-
-  <tr id="fugu">
-    <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >fugu-ota-npd90g-3a0643ae.zip</a><br>
-      MD5: 9c38b6647fe5a4f2965196b7c409f0f7<br>
-      SHA-1: 77c6fb05191f0c2ae0956bae18f1c80b2f922f05
-    </td>
-  </tr>
-
-  <tr id="ryu">
-    <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >ryu-ota-npd90g-ec931914.zip</a><br>
-      MD5: 4c6135498ca156a9cdaf443ddfdcb2ba<br>
-      SHA-1: 297cc9a204685ef5507ec087fc7edf5b34551ce6
-    </td>
-  </tr>
-
-  <tr id="seed">
-    <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-ota-npd90g-dcb0662d.zip</a><br>
-      MD5: f40ea6314a13ea6dd30d0e68098532a2<br>
-      SHA-1: 11af10b621f4480ac63f4e99189d61e1686c0865
-    </td>
-  </tr>
-
-</table>
-
-
-  </div><!-- landing -->
-
-</div><!-- relative wrapper -->
-
-
-
-<script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/ota/";
-  function onDownload(link) {
-
-    $("#downloadForRealz").html("Download " + $(link).text());
-    $("#downloadForRealz").attr('href', urlRoot + $(link).text());
-
-    $("#tos").fadeIn('fast');
-    $("#landing").fadeOut('fast');
-
-    return true;
-  }
-
-
-  function onAgreeChecked() {
-    /* verify that the TOS is agreed */
-    if ($("input#agree").is(":checked")) {
-      /* reveal the download button */
-      $("a#downloadForRealz").removeClass('disabled');
-    } else {
-      $("a#downloadForRealz").addClass('disabled');
-    }
-  }
-
-  function onDownloadForRealz(link) {
-    if ($("input#agree").is(':checked')) {
-    /*
-      $("#tos").fadeOut('fast');
-      $("#landing").fadeIn('fast');
-    */
-
-      ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
-
-    /*
-      location.hash = "";
-    */
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  $(window).hashchange( function(){
-    if (location.hash == "") {
-      location.reload();
-    }
-  });
-
-</script>
diff --git a/docs/html-intl/intl/es/preview/download.jd b/docs/html-intl/intl/es/preview/download.jd
deleted file mode 100644
index 6fa9a6a..0000000
--- a/docs/html-intl/intl/es/preview/download.jd
+++ /dev/null
@@ -1,544 +0,0 @@
-page.title=Prueba en un dispositivo
-meta.tags="preview", "nexus","system image"
-page.tags="preview", "androidn"
-page.image=images/cards/card-n-downloads_2x.png
-
-@jd:body
-
-<div style="position:relative; min-height:600px">
-
-  <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
-
-    <p class="sdk-terms-intro">Antes de descargar e instalar los componentes del
-      Android Preview SDK, debe aceptar los términos y las
-      condiciones que se describen a continuación.</p>
-
-    <h2 class="norule">Términos y condiciones</h2>
-
-    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
-Este es el Contrato de licencia de la versión Android SDK Preview (el “Contrato de licencia”).
-
-1. Introducción
-
-1.1 Se le otorga la licencia de la versión Android SDK Preview (denominada “Preview” en el Contrato de licencia y que incluye específicamente los archivos de sistema de Android, las API agrupadas y los archivos de biblioteca de la Preview, si se encuentran disponibles), sujeto a los términos del Contrato de licencia. El Contrato de licencia establece una relación legal vinculante entre usted y Google en relación con el uso que realice de la Preview.
-
-1.2 “Android” hace referencia al conjunto de soluciones Android para dispositivos, según se encuentre disponible en el Proyecto de código abierto de Android (Android Open Source Project), que se encuentra en la siguiente URL: http://source.android.com/, y según se actualiza periódicamente.
-
-.1.3 “Compatible con Android” se refiere a cualquier implementación de Android que (i) cumpla con el documento Definición de compatibilidad de Android, disponible en el sitio web de compatibilidad de Android (http://source.android.com/compatibility) y que puede actualizarse esporádicamente; y (ii) apruebe satisfactoriamente la prueba de Compatibilidad con Android, "CTS” (en inglés, Android Compatibility Test Suite).
-
-1.4 “Google” hace referencia a Google Inc., una corporación de Delaware, con sede principal en 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
-
-2. Aceptación del Contrato de licencia
-
-2.1 Para poder utilizar la Preview, primero debe aceptar el Contrato de licencia. Si no acepta el Contrato de licencia, no podrá utilizar la Preview.
-
-2.2 Al hacer clic para aceptar o utilizar la Preview, por medio del presente, usted acepta los términos del Contrato de licencia.
-
-2.3 No puede utilizar la Preview ni aceptar el Contrato de licencia si tiene prohibido recibir la Preview en virtud de las leyes de los Estados Unidos o de otros países, lo que incluye el país donde es residente o desde el que utilizará la Preview.
-
-2.4 Si utilizará la Preview de forma interna, dentro de su empresa u organización, usted acepta quedar sujeto al Contrato de licencia en representación de su empleador u otra entidad, y expresa y garantiza que tiene plena autoridad legal para vincular a su empleador o a dicha entidad al Contrato de licencia. Si usted no posee la autoridad requerida, no podrá aceptar el Contrato de licencia ni utilizar la Preview en representación de su empleador u otra entidad.
-
-3. Licencia de la Preview de Google
-
-3.1 Conforme a los términos de este contrato de licencia, Google le otorga una licencia limitada, con validez mundial, libre de regalías, no asignable, no exclusiva y sin la posibilidad de otorgar una sublicencia, para utilizar la Preview con el único propósito de desarrollar aplicaciones para ejecutar en implementaciones compatibles de Android.
-
-3.2 No puede utilizar esta Preview para desarrollar aplicaciones para otras plataformas (entre las que se incluyen implementaciones incompatibles de Android) o para desarrollar otro SDK. Desde luego, usted tiene la libertad para desarrollar aplicaciones para otras plataformas, entre las que se incluyen implementaciones incompatibles de Android, siempre y cuando esta Preview no se utilice con ese propósito.
-
-3.3 Usted acepta que Google o terceros poseen todos los derechos legales, títulos e intereses en relación con la Preview, incluidos derechos de propiedad intelectual que existan en esta. "Derechos de propiedad intelectual" hace referencia a todos los derechos de la ley de patentes, la ley de derechos de autor, la ley de secreto comercial, la ley de marca comercial y cualquier otro derecho de propiedad. Google se reserva todos los derechos que no se le otorguen expresamente.
-
-3.4 Usted no podrá utilizar la Preview para ningún otro propósito que no esté expresamente permitido en el Contrato de licencia. Excepto en la medida que lo exijan las licencias correspondientes de terceros, no podrá: (a) copiar (excepto con fines de copia de seguridad), modificar, adaptar, redistribuir, descompilar, utilizar técnicas de ingeniería inversa, desarmar ni crear trabajos derivados de la Preview ni de ninguna de sus partes; ni (b) cargar ninguna parte de la Preview en un teléfono móvil ni en ningún otro dispositivo de hardware (a excepción de una computadora personal), ni podrá combinar ninguna parte de la Preview con otro software, ni distribuir algún software o dispositivo que incorpore alguna parte de la Preview.
-
-3.5 El uso, la reproducción y la distribución de los componentes de la Preview con licencia de software de código abierto están regidos exclusivamente por los términos de la licencia de ese software de código abierto y no de este Contrato de licencia. Usted acepta mantener la licencia en regla con respecto a dichas licencias de software de código abierto en virtud de todos los derechos otorgados y acepta abstenerte de realizar acción alguna que pudiera poner fin, suspender o violar dichos derechos.
-
-3.6 Acepta que la forma y la naturaleza de la Preview que proporciona Google pueden cambiar sin tener que brindarle aviso previo, y que las versiones futuras de la Preview pueden ser incompatibles con las aplicaciones desarrolladas en versiones anteriores de la Preview. Usted acepta que Google, generalmente a su entera discreción, puede dejar de proporcionarle a usted o a los demás usuarios (de forma permanente o temporal) la Preview (o cualquiera de sus funciones) sin previo aviso.
-
-3.7 Ninguna declaración de este Contrato de licencia le otorga el derecho de utilizar alguno de los nombres comerciales, las marcas comerciales, las marcas de servicio, los logotipos, los nombres de dominio ni otras características distintivas de marca de Google.
-
-3.8 Usted acepta que no quitará, ocultará o alterará ninguna de las notificaciones de derechos de autor (entre las que se incluyen las notificaciones de copyright y marcas comercias) que pudieran estar anexadas o implícitas en la Preview.
-
-4. Uso que usted realiza de la Preview
-
-4.1 Google acepta que ninguna declaración del Contrato de licencia le concede a Google derecho, título o interés alguno de su parte (o de parte de sus licenciantes), en virtud del Contrato de licencia, con respecto a las aplicaciones de software que usted desarrolle mediante el uso de la Preview, lo que incluye los derechos de propiedad intelectual que conlleven esas aplicaciones.
-
-4.2 Usted acepta utilizar la Preview y escribir aplicaciones únicamente conforme a lo que permite (a) este Contrato de licencia y (b) las leyes, regulaciones, o prácticas y pautas generalmente aceptadas y pertinentes en las jurisdicciones relevantes (entre las que se incluyen las leyes sobre la exportación de datos o software hacia los Estados Unidos u otros países relevantes y desde ellos).
-
-4.3 Usted acepta que si utiliza la Preview para desarrollar aplicaciones, protegerá la privacidad y los derechos legales de los usuarios. Si los usuarios le proporcionan sus nombres de usuario, contraseñas u otra información de inicio de sesión o información personal, debe comunicarles que la información se encontrará disponible para su aplicación, y debe proporcionarles a dichos usuarios un aviso de privacidad con protección y validez legal. Si su aplicación almacena información personal o confidencial proporcionada por los usuarios, lo debe hacer de forma segura. Si los usuarios le proporcionan información sobre la cuenta de Google, su aplicación solo puede usar esa información para acceder a la cuenta de Google del usuario siempre que este le haya otorgado permiso para hacerlo y con los fines para los que se lo haya otorgado.
-
-4.4 Usted acepta que no participará en ninguna actividad con la Versión preliminar (lo que incluye el desarrollo o la distribución de una aplicación) que interfiera, interrumpa, dañe o acceda sin autorización a servidores, redes u otras propiedades o servicios de Google o de algún tercero.
-
-4.5 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de los datos, el contenido o los recursos que usted cree, transmita o muestre a través de Android o las aplicaciones para Android, y de las consecuencias de sus acciones (lo que incluye la pérdida o el daño que Google pudiera sufrir) al hacerlo.
-
-4.6 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de cualquier incumplimiento de sus obligaciones en virtud de este Contrato de licencia, los contratos aplicables de terceros o los términos del servicio, o cualquier ley o regulación pertinentes, y de las consecuencias (lo que incluye las pérdidas o los daños que pudieran sufrir Google o algún tercero) de dichos incumplimientos.
-
-4.7 La Versión preliminar se encuentra en desarrollo, y sus pruebas y comentarios son una parte importante del proceso de desarrollo. Al utilizar la Preview, usted reconoce que la implementación de algunas características aún se encuentra en desarrollo y que no debe confiar en que la Preview contará con todas las funcionalidades de una versión estable. Usted acepta no distribuir públicamente ni enviar ninguna aplicación que utilice esta Preview, dado que esta Preview ya no se admitirá tras el lanzamiento del Android SDK oficial.
-
-5. Sus credenciales de desarrollador
-
-5.1 Usted acepta que es responsable de mantener la confidencialidad de toda credencial de desarrollador que Google pudiera otorgarle o que pudiera escoger usted mismo, y que será el único responsable de todas las aplicaciones que se desarrollen con sus credenciales de desarrollador.
-
-6. Privacidad e información
-
-6.1 Con el objetivo de poder innovar y mejorar de forma continua la Preview, Google podría recopilar ciertas estadísticas de uso del software, entre las que se incluyen, de forma enunciativa, un identificador único, la dirección IP asociada, el número de versión del software e información sobre las herramientas o los servicios de la Preview que se estén utilizando y la manera en que se estén utilizando. Antes de que se recopile esta información, la Preview se lo notificará y le solicitará su permiso. Si no otorga su permiso, no se recopilará la información.
-
-6.2 Los datos recopilados se analizan en el agregado para mejorar la Preview y se conservan de acuerdo con la política de privacidad de Google, que se encuentra en el sitio http://www.google.com/policies/privacy/.
-
-7. Aplicaciones de terceros
-
-7.1 Si utiliza la Preview para ejecutar aplicaciones desarrolladas por un tercero o que accedan a datos, contenido o recursos proporcionados por un tercero, usted acepta que Google no es responsable de esas aplicaciones, datos, contenido ni recursos. Usted comprende que todos los datos, contenidos o recursos a los que podría acceder a través de esas aplicaciones de terceros son exclusiva responsabilidad de la persona que los origina y que Google no es responsable de las pérdidas ni los daños que usted pudiera experimentar como consecuencia del uso o acceso de cualquiera de esas aplicaciones, datos, contenido o recursos de terceros.
-
-7.2 Usted debe saber que los datos, el contenido y los recursos que se le presentan a través de esa aplicación de un tercero pueden estar protegidos por derechos de propiedad intelectual que les pertenecen a sus proveedores (o a otras personas o compañías en representación de estos). No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas basadas en esos datos, contenidos o recursos (en su totalidad o en parte), a menos que los propietarios pertinentes le hayan otorgado el permiso específico para hacerlo.
-
-7.3 Usted acepta que el uso que haga de las aplicaciones, los datos, el contenido o los recursos de ese tercero puede estar sujeto a términos independientes entre usted y el tercero correspondiente.
-
-Uso de las API de Google
-
-8.1 API de Google
-
-8.1.1 Si utiliza alguna API para recuperar datos de Google, usted acepta que los datos pueden estar protegidos por derechos de propiedad intelectual que le pertenecen a Google o a las partes que proporcionan esos datos (o a otras personas o empresas en representación de estos). El uso que realice de cualquiera de esas API puede estar sujeto a términos de servicio adicionales. No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas con base en esos datos (en su totalidad o en parte), a menos que los términos de servicio correspondientes lo permitan.
-
-8.1.2 Si utiliza cualquier API para recuperar datos de un usuario de Google, usted acepta y acuerda que solo podrá recuperar datos con el consentimiento explícito del usuario y solo cuando, y para los fines limitados para los que, el usuario le haya otorgado permiso para hacerlo.
-
-9. Finalización del Contrato de licencia
-
-9.1 Este Contrato de licencia tendrá vigencia hasta que lo revoquen usted o Google, como se indica a continuación.
-
-9.2 Si desea rescindir el Contrato de licencia, puede hacerlo al interrumpir el uso que realiza de la Preview y de las credenciales de desarrollador pertinentes.
-
-9.3 Google puede, en cualquier momento, rescindir el Contrato de licencia, con causa o sin ella, luego de notificárselo.
-
-9.4 El Contrato de licencia finalizará automáticamente, sin previo aviso ni acción alguna, tras la primera de las siguientes situaciones:
-(A) cuando Google deje de proporcionar la Preview o ciertas partes de esta a los usuarios en el país donde usted reside o desde el que utiliza el servicio; y
-(B) cuando Google emita una versión final del Android SDK.
-
-9.5 Si el Contrato de licencia se rescinde, se revocará la licencia que usted recibió en virtud de dicho contrato; usted deberá suspender inmediatamente todo uso de la Preview, y las disposiciones de los párrafos 10, 11, 12 y 14 seguirán vigentes indefinidamente.
-
-10. EXENCIONES DE RESPONSABILIDAD
-
-10.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE EL USO QUE REALICE DE LA PREVIEW ES BAJO SU PROPIO RIESGO Y QUE LA PREVIEW SE PROPORCIONA “EN LAS CONDICIONES EN LAS QUE SE ENCUENTRA” Y “SUJETA A DISPONIBILIDAD” SIN GARANTÍAS DE NINGÚN TIPO POR PARTE DE GOOGLE.
-
-10.2 EL USO QUE USTED REALICE DE LA PREVIEW Y DE TODO MATERIAL DESCARGADO U OBTENIDO DE ALGUNA OTRA MANERA MEDIANTE EL USO DE LA PREVIEW ES A SU ENTERO RIESGO Y DISCRECIÓN, Y USTED ES EL ÚNICO RESPONSABLE DE CUALQUIER DAÑO QUE PUDIERA SUFRIR SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO, O DE LA PÉRDIDA DE DATOS COMO CONSECUENCIA DE DICHO USO. SIN PERJUICIO DE LO MENCIONADO ANTERIORMENTE, USTED COMPRENDE QUE LA VERSIÓN PRELIMINAR NO ES UNA VERSIÓN ESTABLE, Y PUEDE CONTENER ERRORES, DEFECTOS Y VULNERABILIDADES DE SEGURIDAD QUE PUEDEN PROVOCAR DAÑOS SIGNIFICATIVOS, LO QUE INCLUYE LA PÉRDIDA COMPLETA E IRRECUPERABLE DEL USO DE SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO.
-
-10.3 GOOGLE TAMBIÉN RECHAZA TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, EXPRESAS O IMPLÍCITAS, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS Y CONDICIONES DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN.
-
-11. LIMITACIÓN DE RESPONSABILIDADES
-
-11.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE GOOGLE, SUS SUBSIDIARIAS Y FILIALES, Y SUS LICENCIANTES NO SERÁN RESPONSABLES ANTE USTED, EN VIRTUD DE NINGUNA TEORÍA DE RESPONSABILIDAD, POR NINGÚN DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, RESULTANTE NI PUNITIVO EN EL QUE PODRÍA HABER INCURRIDO, LO QUE INCLUYE LA PÉRDIDA DE DATOS, YA SEA QUE SE LE HAYA NOTIFICADO O NO A GOOGLE O A SUS REPRESENTANTES, O SOBRE CUYA POSIBILIDAD ESTOS DEBERÍAN HABER SABIDO.
-
-12. Indemnización
-
-12.1 Hasta el grado máximo que permita la ley, usted acepta defender, indemnizar y eximir de responsabilidades a Google, sus filiales y sus respectivos directores, funcionarios, empleados y agentes, de todo tipo de reclamo, acción legal y proceso judicial, así como de las pérdidas, responsabilidades, daños, costos y gastos (incluidos los honorarios razonables de abogados) que surjan o se acumulen (a) del uso que usted realiza de la Versión preliminar, (b) de cualquier aplicación que desarrolle en la Versión preliminar que infrinja algún derecho de propiedad intelectual de cualquier persona, o que difame a cualquier persona o viole sus derechos de publicidad o privacidad, y (c) del incumplimiento por su parte del Contrato de licencia.
-
-13. Cambios en el Contrato de licencia
-
-13.1 Google puede realizar cambios en el Contrato de licencia a medida que distribuye nuevas versiones de la Versión preliminar. Cuando se realicen esos cambios, Google emitirá una nueva versión del Contrato de licencia, que estará disponible en el sitio web donde se ponga a la venta la Versión preliminar.
-
-14. Términos legales generales
-
-14.1 El Contrato de licencia constituye el contrato legal integral entre usted y Google, y rige el uso que usted realice de la Versión preliminar (a excepción de los servicios que Google pueda proporcionarle en virtud de un contrato por escrito independiente), y reemplaza totalmente cualquier contrato anterior entre usted y Google en relación con la Versión preliminar.
-
-14.2 Usted acepta que, si Google no ejerce ni impone un derecho o recurso legal especificados en el Contrato de licencia (o sobre el que Google tenga beneficios conforme a cualquier ley aplicable), esto no se considerará una renuncia formal a los derechos por parte de Google y Google aún seguirá recibiendo los beneficios de esos derechos o recursos legales.
-
-14.3 Si algún tribunal judicial con jurisdicción para decidir sobre este asunto determina que alguna de las disposiciones de este Contrato de licencia no es válida, se eliminará esa disposición del Contrato de licencia sin que eso afecte la validez del resto del contrato. Las disposiciones restantes del Contrato de licencia continuarán siendo válidas y aplicables.
-
-14.4 Usted reconoce y acepta que cada miembro del grupo de compañías de las que Google es la compañía central serán terceros beneficiarios del Contrato de licencia, y que esas otras empresas tendrán el derecho de imponer directamente cualquier disposición y ampararse en las disposiciones de este Contrato de licencia que les confieran un beneficio (o que confieran derechos a su favor). Además de esto, ninguna otra persona o compañía serán terceros beneficiarios del Contrato de licencia.
-
-14.5 RESTRICCIONES DE EXPORTACIÓN. LA VERSIÓN PRELIMINAR ESTÁ SUJETA A LAS LEYES Y REGULACIONES DE EXPORTACIÓN DE LOS ESTADOS UNIDOS. DEBE CUMPLIR CON TODAS LAS LEYES Y REGULACIONES DE EXPORTACIÓN NACIONALES E INTERNACIONALES QUE SE APLIQUEN A LA VERSIÓN PRELIMINAR. ESTAS LEYES INCLUYEN RESTRICCIONES EN RELACIÓN CON LOS DESTINOS, USUARIOS FINALES Y USO FINAL.
-
-14.6 Usted no puede asignar ni transferir el Contrato de licencia sin la aprobación previa por escrito de Google y todo intento de asignación sin dicha aprobación no tendrá validez. No podrá delegar sus responsabilidades u obligaciones otorgadas en virtud del Contrato de licencia sin la aprobación previa por escrito de Google.
-
-14.7 El Contrato de licencia y su relación con Google conforme al Contrato de licencia se regirán por las leyes del estado de California, independientemente de los principios de conflictos entre leyes. Usted y Google aceptan presentarse ante la jurisdicción exclusiva de los tribunales del condado de Santa Clara, California, para resolver cualquier asunto legal que pudiera surgir del Contrato de licencia. Sin perjuicio de esto, usted acepta que Google aún podrá aplicar reparaciones conforme a mandato judicial (o a un tipo equivalente de desagravio legal) en cualquier jurisdicción.
-  </div><!-- sdk terms -->
-
-
-
-    <div id="sdk-terms-form">
-      <p>
-        <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">He leído y acepto los términos y las condiciones anteriores.</label>
-      </p>
-      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-    </div>
-
-
-  </div><!-- end TOS -->
-
-
-  <div id="landing">
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>En este documento</h2>
-      <ol>
-        <li><a href="#device-preview">Configurar un dispositivo de hardware</a>
-          <ol>
-            <li><a href="#ota">Obtener actualizaciones inalámbricas</a></li>
-            <li><a href="#flash">Actualizar manualmente un dispositivo</a></li>
-            <li><a href="#revertDevice">Desinstalar</a></li>
-          </ol>
-        </li>
-        <li><a href="#setupAVD">Configurar un emulador</a></li>
-      </ol>
-  </div>
-</div>
-
-<p>
-  Para ejecutar y probar tu aplicación en la plataforma nueva necesitas configurar el entorno de ejecución
-  de Android N. Puedes llevar a cabo la configuración de las siguientes maneras:
-</p>
-
-<ul>
-  <li>Instalar Android N en un dispositivo de hardware compatible o</li>
-  <li>Configurar un emulador de Android a través de la ejecución de Android N</li>
-</ul>
-
-<p>
-  Si deseas un entorno para realizarle pruebas básicas de compatibilidad a tu aplicación en la
-  plataforma nueva, todo lo que necesitas es tu APK actual y un dispositivo de hardware o
-  emulador. No necesitas actualizar todo tu entorno de desarrollo
-  para realizar pruebas básicas.
-</p>
-
-<p>
-  Si deseas modificar tu aplicación para seleccionar como destino Android N o usar las API nuevas de Android N,
-   debes configurar un entorno de desarrollo actualizado y que seas compatible con
-  Android N. En <a href="{@docRoot}preview/setup-sdk.html">Configuración para el desarrollo de
-  Android N</a> se ofrece información detallada.
-</p>
-
-
-<h2 id="device-preview">Configurar un dispositivo de hardware</h2>
-
-<p>
-  En N Developer Preview se ofrecen actualizaciones del sistema para una variedad de dispositivos de hardware
-que puedes usar para realizarle pruebas a tu aplicación, desde teléfonos hasta tablets y TV.
-</p>
-
-<p>
-  Si tienes acceso a un dispositivo compatible, puedes actualizarlo a una compilación "milestone" de la Developer
-  Preview de las siguientes maneras:
-</p>
-
-<ul>
-  <li><strong>Registrar el dispositivo en actualizaciones automáticas inalámbricas</strong> a través del
-  <a href="https://g.co/androidbeta">Programa Android Beta</a>. Una vez registrado, tu dispositivo recibirá actualizaciones inalámbricas periódicas
-  de todas las compilaciones "milestone" en la N Developer Preview. Se recomienda este
-  enfoque porque te permite realizar una transición sin inconvenientes desde tu entorno
-  actual a través de varios lanzamientos de la N Developer Preview.</li>
-  <li><strong>Descargar una imagen de sistema de la Developer Preview y actualizar el dispositivo de manera manual</strong>.
-  Las actualizaciones inalámbricas no se proporcionan de manera automática para los dispositivos que actualizas de manera manual, pero
-  puedes registrar esos dispositivos en el Programa de Android Beta para obtener actualizaciones inalámbricas. </li>
-</ul>
-
-<h3 id="ota">Registrar el dispositivo en actualizaciones automáticas inalámbricas</h3>
-
-<p>
-  Si tienes acceso a un dispositivo compatible (consulta la lista en la tabla de
-  descargas), puedes recibir actualizaciones inalámbricas para versiones de la Android Preview
-  registrando el dispositivo en el <a href="https://g.co/androidbeta">Programa de Android Beta</a>. Estas actualizaciones
-  se descargan de manera automática y actualizarán tu dispositivo como otras actualizaciones
-  oficiales del sistema.
-</p>
-
-<p>
-  Puedes dar de baja el dispositivo en cualquier momento. El dispositivo recibirá una actualización inalámbrica
-  para la versión de producción más reciente de Android que se encuentre disponible para ese dispositivo
-  (por ejemplo, Android 6.0 Marshmallow). La actualización requiere un restablecimiento
-  completo del dispositivo, por lo que se eliminarán los datos del usuario del dispositivo. No te olvides de crear una <strong>copia
-  de seguridad de los datos importantes</strong> antes de dar de baja un dispositivo.
-</p>
-
-<p>
-  Para obtener más información y para registrar tu dispositivo, consulta
-  el sitio web del <a href="https://g.co/androidbeta">Programa de Android Beta</a> .
-</p>
-
-<p class="note"><strong>Nota:</strong>
-  Dar de baja el registro requiere un restablecimiento completo del dispositivo. Crea una copia de seguridad
-  de los datos importantes.
-</p>
-
-<h3 id="flash">Actualizar un dispositivo de forma manual</h3>
-
-<p>
-  En cualquier momento, puedes descargar la última imagen de sistema de la Developer Preview y
-  actualizarla de forma manual en tu dispositivo. Consulta la tabla siguiente para descargar la imagen
-  de sistema para tu dispositivo de prueba. La actualización manual de un dispositivo es útil si necesitas
-  un control preciso del entorno de prueba o necesitas reinstalar con frecuencia,
-  como en pruebas automatizadas.
-</p>
-
-<!-- You can flash by ota or system image --><p>
-  El proceso de instalación de una imagen de sistema en un dispositivo <strong>elimina todos los datos del
-  dispositivo</strong>, por lo tanto, es recomendable crear una copia de seguridad de los datos.
-</p>
-
-<p>
-  Después de que crees una copia de seguridad y descargues la siguiente imagen de sistema que
-  se adecua a tu dispositivo, sigue las instrucciones que se describen en <a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
-  para actualizar la imagen en tu dispositivo de manera manual.
-</p>
-
-<p>
-  Las imágenes de sistema actualizadas de manera manual <strong>no
-  reciben actualizaciones inalámbricas de forma automática</strong> para posteriores compilaciones "milestone"
-  de la Developer Preview. No te olvides de mantener tu entorno actualizado y actualiza una
-  imagen de sistema nueva en cada versión "milestone" de la Developer Preview.
-</p>
-
-<p>
-  Si decides que quieres obtener actualizaciones inalámbricas después de actualizar un dispositivo de manera manual,
-  lo único que debes hacer es registrar el dispositivo en el <a href="https://g.co/androidbeta">Programa
-  de Android Beta</a>. Puedes registrar el dispositivo en cualquier momento para recibir la siguiente actualización
-  de la Preview de manera inalámbrica.
-</p>
-
-<table>
-  <tr>
-    <th scope="col">Dispositivo</th>
-    <th scope="col">Descarga/sumas de comprobación</th>
-  </tr>
-
-  <tr id="bullhead">
-    <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-npd90g-factory-7a0ca1bc.tgz</a><br>
-      MD5: e7a9a3061335c1e0c8be2588f13290af<br>
-      SHA-1: 7a0ca1bcfa51bbefde34243603bc79c7dec214a1
-    </td>
-  </tr>
-
-  <tr id="shamu">
-    <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >shamu-npd90g-factory-f7a4e3a9.tgz</a><br>
-      MD5: 2fb572ddcfca67bb1d741be97492a9ed<br>
-      SHA-1: f7a4e3a96c797827492998e855c8f9efbfc8559a
-    </td>
-  </tr>
-
-  <tr id="angler">
-    <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >angler-npd90g-factory-cd9ac81e.tgz</a><br>
-      MD5: 2370c30f3ef1d0684c1de5216a5d90fe<br>
-      SHA-1: cd9ac81ec7f4a646ac6054eecbf2ea4c4b89b054
-    </td>
-  </tr>
-
-  <tr id="volantis">
-    <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantis-npd90g-factory-41b55406.tgz</a><br>
-      MD5: cefa78950141da2a7c75e887717e3c8f<br>
-      SHA-1: 41b554060263a7ef16e4be8422cbd6caca26e00f
-    </td>
-  </tr>
-
-  <tr id="volantisg">
-    <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-npd90g-factory-610492be.tgz</a><br>
-      MD5: 2f36dc0d0fab02ab78be500677ec239f<br>
-      SHA-1: 610492bedfc4127023040ecb2c89239a78a900ad
-    </td>
-  </tr>
-
-  <tr id="fugu">
-    <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >fugu-npd90g-factory-0fe95694.tgz</a><br>
-      MD5: f4cb48f919e4c29c631de21416c612e2<br>
-      SHA-1: 0fe95694e7bc41e4c3ac0e4438cd77102a0aa8b4
-    </td>
-  </tr>
-
-  <tr id="ryu">
-    <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >ryu-npd90g-factory-f4da981c.tgz</a><br>
-      MD5: d9f0e40b6c20d274831e8a7d285fd887<br>
-      SHA-1: f4da981c70576133321e2858e52fe2c990e68a75
-    </td>
-  </tr>
-
-  <tr id="seed">
-    <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-npd90g-factory-48f59c99.tgz</a><br>
-      MD5: 0ed565c509594072822d71c65b48ec8e<br>
-      SHA-1: 48f59c99ac43d1cd2f5656a283bb9868581663a8
-    </td>
-  </tr>
-
-</table>
-
-<h3 id="revertDevice">Desinstalar la Preview de un dispositivo</h3>
-
-<p>
-  Si quieres desinstalar la muestra desde un dispositivo, puedes hacerlo de las
-  siguientes maneras: </p>
-  <ul>
-    <li><strong>Obtener una imagen de sistema con las especificaciones de fábrica</strong> y luego actualízala de manera manual
-    para el dispositivo.
-      <ul>
-          <li>Para <strong>los dispositivos Nexus y Pixel C</strong>, consulta
-        la página <a href="http://developers.google.com/android/nexus/images">Imágenes de fábrica
-        para dispositivos Nexus </a>para descargas. </li>
-        <li>Para <strong>otros dispositivos</strong>, comunícate directamente con el fabricante del dispositivo
-. Como alternativa, si el dispositivo es compatible con
-        el Programa de Android Beta, puedes registrar el dispositivo en el
-        programa y luego darlo de baja (consulta a continuación).</li>
-      </ul>
-    </li>
-    <li><strong>Dar de baja el dispositivo del Programa Android Beta</strong>. Si el
-    dispositivo se registra en el <a href="https://g.co/androidbeta">Programa de Android
-    Beta</a>, sin importar el dispositivo, puedes darlo de baja desde el programa fácilmente.
-  <p>
-    El dispositivo recibirá una actualización inalámbricas para la versión de producción más reciente de
-    Android que se encuentre disponible para ese dispositivo  (por ejemplo, Android 6.0 Marshmallow).
-    La actualización requiere un restablecimiento completo del dispositivo, por lo que se eliminarán los datos del usuario del
-    dispositivo. No te olvides de crear una <strong>copia de seguridad de los datos importantes</strong> antes
-    de dar de baja un dispositivo.
-  </p>
-  </li>
-</ul>
-
-<p class="note"><strong>Nota:</strong>
-  Desinstalar una imagen de sistema de la Developer Preview antes
-  del final del programa requiere un restablecimiento completo del dispositivo y elimina todos los datos del usuario
-  que se encuentren en él.
-</p>
-
-
-<h2 id="setupAVD">Configurar un emulador</h2>
-
-<p>Para usar el emulador de Android para la ejecución de la Android N Preview, necesitas
-descargar el Android N Preview SDK y crear un dispositivo virtual para el
-emulador.</p>
-
-<p>Primero, descarga el Android N Preview SDK de la siguiente manera (si
-ya la obtuviste durante <a href="{@docRoot}preview/setup-sdk.html">la configuración
-para desarrollar Android N</a>, puedes omitir esta parte):
-
-<ol>
-  <li>En Android Studio, abre el cuadro de diálogo de configuración
-    (<strong>File &gt; Settings</strong> en Windows y Linux, o
-    <strong>Android Studio &gt; Preferences</strong> en Mac). En el panel
-    izquierdo, selecciona <strong>Appearance &amp; Behavior &gt;
-  System Settings &gt; Android SDK</strong>.
-
-  <li>Haz clic en la pestaña <strong>SDK platforms</strong> y luego selecciona la casilla de verificación
-  <strong>Android N Preview</strong>.</li>
-
-  <li>Haz clic en la pestaña <strong>SDK Tools</strong> y luego selecciona las casillas de verificación
-    <strong>Android SDK Build Tools</strong>, <strong>Android SDK
-    Platform-Tools</strong> y
-    <strong>Android SDK Tools</strong>.
-  </li>
-
-  <li>Haz clic en <strong>OK</strong> y acepta los contratos
-    de licencia para instalar cualquier paquete.
-  </li>
-</ol>
-
-<p>Ahora debes tener <strong>Android SDK Built-Tools 24.0 0 rc1</strong>,
-<strong>Platform-Tools 24.0.0 rc1</strong>, y <strong>SDK Tools
-25.0.9</strong>. Si no actualizas las SDK Tools a 25.0.9, luego no podrás
-ejecutar las imágenes de sistema x86_64 para Android N.</p>
-
-
-<p>Ahora crea un dispositivo virtual con la imagen de sistema de Android N:</p>
-
-<ol>
-  <li>Abre el Administrador de AVD seleccionando <strong>Tools &gt; Android &gt;
-    AVD Manager</strong>.</li>
-  <li>Haz clic en <strong>Create Virtual Device</strong>.</li>
-  <li>Selecciona un dispositivo como Nexus 5X, Nexus 6P, Nexus 9, o Android TV,
-    luego haz clic en <strong>Next</strong>.</li>
-  <li>Selecciona la imagen de sistema <strong>N</strong> (con la ABI
-    <strong>x86</strong>), luego haz clic en <strong>Next</strong>.
-    (De momento, solo las imágenes de sistema x86 son compatibles con el emulador de Android
-para la Android N Preview).
-  <li>Completa el resto de la configuración AVD y haz clic en
-    <strong>Finish</strong>.</li>
-</ol>
-
-<p>Ahora puedes ejecutar el emulador de Android con el AVD de la Android N Preview.</p>
-
-<p>
-A fin de garantizar la mejor experiencia en el emulador de Android, verifica que estás utilizando
-Android Studio 2.1 o una versión superior, compatible con el <a href="http://tools.android.com/tech-docs/emulator">emulador de Android 2.0</a>,
-cuyo rendimiento es mayor si se lo compara con el emulador utilizado en
-Android Studio 1.5.</p>
-
-<p>Para obtener más información sobre la creación de dispositivos virtuales, consulta <a href="{@docRoot}tools/devices/index.html">Administración de dispositivos virtuales</a>.
-</p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  </div><!-- landing -->
-
-</div><!-- relative wrapper -->
-
-
-
-<script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/";
-  function onDownload(link) {
-
-    $("#downloadForRealz").html("Download " + $(link).text());
-    $("#downloadForRealz").attr('href', urlRoot + $(link).text());
-
-    $("#tos").fadeIn('fast');
-    $("#landing").fadeOut('fast');
-
-    return true;
-  }
-
-
-  function onAgreeChecked() {
-    /* verify that the TOS is agreed */
-    if ($("input#agree").is(":checked")) {
-      /* reveal the download button */
-      $("a#downloadForRealz").removeClass('disabled');
-    } else {
-      $("a#downloadForRealz").addClass('disabled');
-    }
-  }
-
-  function onDownloadForRealz(link) {
-    if ($("input#agree").is(':checked')) {
-    /*
-      $("#tos").fadeOut('fast');
-      $("#landing").fadeIn('fast');
-    */
-
-      ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
-
-    /*
-      location.hash = "";
-    */
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  $(window).hashchange( function(){
-    if (location.hash == "") {
-      location.reload();
-    }
-  });
-
-</script>
diff --git a/docs/html-intl/intl/es/preview/download_mp2.jd b/docs/html-intl/intl/es/preview/download_mp2.jd
deleted file mode 100644
index d71d8fd..0000000
--- a/docs/html-intl/intl/es/preview/download_mp2.jd
+++ /dev/null
@@ -1,360 +0,0 @@
-page.title=Descargas
-page.image=images/cards/card-download_16-9_2x.png
-
-@jd:body
-
-<div style="position:relative; min-height:600px">
-
-  <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
-
-    <p class="sdk-terms-intro">Antes de descargar e instalar los componentes del SDK de la versión preliminar de Android, debe aceptar los términos y las condiciones que se describen a continuación.
-</p>
-
-    <h2 class="norule">Términos y condiciones</h2>
-
-    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
-Este es el Contrato de licencia de la versión preliminar del SDK de Android (el “Contrato de licencia”). 1.
-
- Introducción 1.1 Se le otorga la licencia de la versión preliminar del SDK de Android (denominada “Versión preliminar” en este Contrato de licencia y que incluye específicamente los archivos de sistema de Android, las API agrupadas y los archivos de biblioteca de la Versión preliminar, si se encuentran disponibles), sujeto a los términos del Contrato de licencia.
-
- El Contrato de licencia establece una relación legal vinculante entre usted y Google en relación con el uso que usted realice de la Versión preliminar. 1.2 “Android” hace referencia al conjunto de soluciones Android para dispositivos, según se encuentre disponible en el Proyecto de código abierto de Android (Android Open Source Project), que se encuentra en la siguiente URL: http://source.android.com/, y según se actualiza periódicamente. 1.3 “Google” hace referencia a Google Inc., una corporación de Delaware, con sede principal en 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos. 2.
-
-
-
-
-
- Aceptación del Contrato de licencia 2.1 Para poder utilizar la Versión preliminar, primero debe aceptar el Contrato de licencia.
-
- Si no acepta el Contrato de licencia, no podrá utilizar la Versión preliminar. 2.2 Al hacer clic para aceptar o utilizar la Versión preliminar, por medio del presente, usted acepta los términos del Contrato de licencia. 2.3 Usted no puede utilizar la Versión preliminar ni aceptar el Contrato de licencia si tiene prohibido recibir la Versión preliminar en virtud de las leyes de los Estados Unidos o de otros países, lo que incluye el país donde es residente o desde el que utilizará la Versión preliminar. 2.4 Si usted utilizará la Versión preliminar de forma interna, dentro de su compañía u organización, usted acepta quedar sujeto al Contrato de licencia en representación de su empleador u otra entidad, y expresa y garantiza que tiene plena autoridad legal para vincular a su empleador o a dicha entidad al Contrato de licencia.
-
-
-
-
-
- Si no posee la autoridad exigida, no podrá aceptar el Contrato de licencia ni usar la Versión preliminar en representación de su empleador u otra entidad. 3.
-
- Licencia de la Versión preliminar de Google 3.1 Sujeto a los términos del Contrato de licencia, Google le otorga una licencia libre de regalías, no asignable, no exclusiva, no transferible a terceros, limitada y revocable para utilizar la Versión preliminar, de forma personal o interna dentro de su compañía u organización, únicamente para desarrollar aplicaciones para ejecutar en la plataforma de Android. 3.2 Usted acepta que Google u otros terceros poseen todos los derechos legales, títulos e intereses en relación con la Versión preliminar, incluidos los Derechos de propiedad intelectual que existan en la Versión preliminar.
-
-
-
- Los “Derechos de propiedad intelectual” hacen referencia a todos y cada uno de los derechos en virtud de las leyes de patentes, derechos de autor, secreto comercial y marca comercial, y todos los demás derechos de propiedad. Google se reserva todos los derechos que no se le otorguen expresamente. 3.3 No podrá utilizar la Versión preliminar para ningún otro propósito que no esté expresamente permitido en el Contrato de licencia.
-
- Excepto en la medida que lo exijan las licencias correspondientes de terceros, no podrá: (a) copiar (excepto con fines de copia de seguridad), modificar, adaptar, redistribuir, descompilar, utilizar técnicas de ingeniería inversa, desarmar ni crear trabajos derivados de la Versión preliminar ni de ninguna de sus partes; ni (b) cargar ninguna parte de la Versión preliminar en un teléfono móvil ni en ningún otro dispositivo de hardware (a excepción de una computadora personal), ni podrá combinar ninguna parte de la Versión preliminar con otro software, ni distribuir algún software o dispositivo que incorpore alguna parte de la Versión preliminar. 3.4 Usted acepta que no tomará medidas que pudieran provocar la fragmentación de Android, incluidas, entre otras, la distribución y la participación en la creación o la promoción de un kit de desarrollo de software derivado de la Versión preliminar. 3.5 El uso, la reproducción y la distribución de los componentes de la Versión preliminar con licencia de software de código abierto están regidos exclusivamente por los términos de la licencia de ese software de código abierto y no de este Contrato de licencia.
-
-
-
- Usted acepta mantener la licencia en buenas condiciones con respecto a dichas licencias de software de código abierto en virtud de todos los derechos otorgados y acepta abstenerse de realizar alguna acción que pueda poner fin, suspender o violar dichos derechos. 3.6 Usted acepta que la forma y la naturaleza de la Versión preliminar que proporciona Google pueden cambiar sin brindarle aviso previo y que las versiones futuras de la Versión preliminar pueden ser incompatibles con las aplicaciones desarrolladas en versiones anteriores de la Versión preliminar.
-
- Usted acepta que Google puede (de forma permanente o temporal) dejar de proporcionarles la Versión preliminar (o cualquiera de las características incluidas en ella) a usted o a los usuarios, generalmente, a criterio exclusivo de Google, sin brindarle aviso previo. 3.7 Ninguna declaración de este Contrato de licencia le otorga el derecho de utilizar alguno de los nombres comerciales, las marcas comerciales, las marcas de servicio, los logotipos, los nombres de dominio ni otras características distintivas de marca de Google. 3.8 Usted acepta que no eliminará, ocultará ni alterará ninguno de los avisos de derechos de propiedad (lo que incluye los avisos de marca comercial y derechos de autor) que pudieran estar anexados o incluidos en la Versión preliminar. 4.
-
-
-
-
-
- Uso que usted realiza de la Versión preliminar 4.1 Google acepta que ninguna declaración del Contrato de licencia le concede a Google derecho, título o interés alguno de su parte (o de parte de sus licenciantes), en virtud del Contrato de licencia, con respecto a las aplicaciones de software que usted desarrolle mediante el uso de la Versión preliminar, lo que incluye los derechos de propiedad intelectual que conlleven esas aplicaciones. 4.2 Usted acepta utilizar la Versión preliminar y escribir aplicaciones únicamente conforme a lo que permite (a) este Contrato de licencia y (b) las leyes, regulaciones, o prácticas y pautas generalmente aceptadas pertinentes en las jurisdicciones relevantes (lo que incluye las leyes sobre la exportación de datos o software hacia los Estados Unidos u otros países relevantes y desde ellos). 4.3 Usted acepta que si utiliza la Versión preliminar para desarrollar aplicaciones, protegerá la privacidad y los derechos legales de los usuarios.
-
-
-
-
-
- Si los usuarios le proporcionan sus nombres de usuario, contraseñas u otra información de inicio de sesión o información personal, debe comunicarles a los usuarios que la información se encontrará disponible para su aplicación, y debe proporcionarles a dichos usuarios un aviso de privacidad con protección y validez legal. Si su aplicación almacena información personal o confidencial proporcionada por los usuarios, lo debe hacer de forma segura. Si los usuarios le proporcionan información sobre la cuenta de Google, su aplicación solo puede usar esa información para acceder a la cuenta de Google del usuario siempre que este le haya otorgado permiso para hacerlo y con los fines para los que se lo haya otorgado. 4.4 Usted acepta que no participará en ninguna actividad con la Versión preliminar (lo que incluye el desarrollo o la distribución de una aplicación) que interfiera, interrumpa, dañe o acceda sin autorización a servidores, redes u otras propiedades o servicios de Google o de algún tercero. 4.5 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de los datos, el contenido o los recursos que usted cree, transmita o muestre a través de Android o las aplicaciones para Android, y de las consecuencias de sus acciones (lo que incluye la pérdida o el daño que Google pudiera sufrir) al hacerlo. 4.6 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de cualquier incumplimiento de sus obligaciones en virtud de este Contrato de licencia, los contratos aplicables de terceros o los términos del servicio, o cualquier ley o regulación pertinentes, y de las consecuencias (lo que incluye las pérdidas o los daños que pudieran sufrir Google o algún tercero) de dichos incumplimientos. 4.7 La Versión preliminar se encuentra en desarrollo, y sus pruebas y comentarios son una parte importante del proceso de desarrollo.
-
-
-
-
-
-
-
- Al utilizar la Versión preliminar, usted reconoce que la implementación de algunas características aún se encuentra en desarrollo y que no debe confiar en que la Versión preliminar contará con todas las funcionalidades de una versión estable. Usted acepta no distribuir públicamente ni enviar ninguna aplicación que utilice esta Versión preliminar, ya que esta Versión preliminar ya no se admitirá tras el lanzamiento del SDK oficial de Android. 5.
-
- Sus credenciales de desarrollador 5.1 Usted acepta que es responsable de mantener la confidencialidad de toda credencial de desarrollador que Google pudiera otorgarle o que usted pudiera escoger, y que será el único responsable de todas las aplicaciones que se desarrollen con sus credenciales de desarrollador. 6.
-
-
-
- Privacidad e información 6.1 A fin de poder innovar y mejorar de forma continua la Versión preliminar, Google podría recopilar ciertas estadísticas de uso del software, lo que incluye, entre otras características, un identificador único, la dirección IP asociada, el número de versión del software e información sobre las herramientas o los servicios de la Versión preliminar que se estén utilizando y la manera en que se estén utilizando.
-
- Antes de que se recopile esta información, la Versión preliminar se lo notificará y le solicitará su permiso. Si no otorga su permiso, no se recopilará la información. 6.2 Los datos recopilados se analizan en el agregado para mejorar la Versión preliminar y se conservan de acuerdo con la política de privacidad de Google que se encuentra en el sitio http://www.google.com/policies/privacy/. 7.
-
-
-
- Aplicaciones de terceros 7.1 Si utiliza la Versión preliminar para ejecutar aplicaciones desarrolladas por un tercero o que accedan a datos, contenido o recursos proporcionados por un tercero, usted acepta que Google no es responsable de esas aplicaciones, datos, contenido ni recursos.
-
- Usted comprende que todos los datos, contenidos o recursos a los que podría acceder a través de esas aplicaciones de terceros son exclusiva responsabilidad de la persona que los origina y que Google no es responsable de las pérdidas ni los daños que usted pudiera experimentar como consecuencia del uso o acceso de cualquiera de esas aplicaciones, datos, contenido o recursos de terceros. 7.2 Usted debe saber que los datos, el contenido y los recursos que se le presentan a través de esa aplicación de un tercero pueden estar protegidos por derechos de propiedad intelectual que les pertenecen a sus proveedores (o a otras personas o compañías en representación de estos).
-
- No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas basadas en esos datos, contenidos o recursos (en su totalidad o en parte), a menos que los propietarios pertinentes le hayan otorgado permiso específicamente para hacerlo. 7.3 Usted acepta que el uso que haga de las aplicaciones, los datos, el contenido o los recursos de ese tercero puede estar sujeto a términos independientes entre usted y el tercero correspondiente. 8.
-
-
-
- Uso de las API de Google 8.1 API de Google 8.1.1 Si utiliza alguna API para recuperar datos de Google, usted acepta que los datos pueden estar protegidos por derechos de propiedad intelectual que le pertenecen a Google o a las partes que proporcionan esos datos (o a otras personas o empresas en representación de estos).
-
-
-
- El uso que realice de cualquiera de esas API puede estar sujeto a términos de servicio adicionales. No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas basadas en esos datos (en su totalidad o en parte), a menos que los términos de servicio correspondientes lo permitan. 8.1.2 Si utiliza alguna API para recuperar datos de un usuario de Google, usted acepta y acuerda que solo podrá recuperar datos con el consentimiento explícito del usuario y solo con los fines limitados para los que el usuario le haya otorgado permiso para hacerlo. 9.
-
-
-
- Finalización del Contrato de licencia 9.1 Este Contrato de licencia tendrá vigencia hasta que lo revoquen usted o Google, como se indica a continuación. 9.2 Si desea rescindir el Contrato de licencia, puede hacerlo al interrumpir el uso que realiza de la Versión preliminar y de las credenciales de desarrollador pertinentes. 9.3 Google puede, en cualquier momento, rescindir el Contrato de licencia, con causa o sin ella, después de notificárselo a usted. 9.4 El Contrato de licencia finalizará automáticamente, sin previo aviso ni acción alguna, tras la primera de las siguientes situaciones: (A) cuando Google deje de proporcionar la Versión preliminar o ciertas partes de esta a los usuarios en el país donde usted reside o desde el que utiliza el servicio; y (B) cuando Google emita una versión final del SDK de Android. 9.5 Si el Contrato de licencia se rescinde, se revocará la licencia que usted recibió en virtud de dicho contrato; usted deberá suspender inmediatamente todo uso de la Versión preliminar y las disposiciones de los párrafos 10, 11, 12 y 14 seguirán vigentes indefinidamente. 10.
-
-
-
-
-
-
-
-
-
-
-
-
-
- EXENCIONES DE RESPONSABILIDAD 10.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE EL USO QUE REALICE DE LA VERSIÓN PRELIMINAR ES BAJO SU PROPIO RIESGO Y QUE LA VERSIÓN PRELIMINAR SE PROPORCIONA “EN LAS CONDICIONES EN LAS QUE SE ENCUENTRA” Y “SUJETA A DISPONIBILIDAD” SIN GARANTÍAS DE NINGÚN TIPO POR PARTE DE GOOGLE. 10.2 EL USO QUE USTED REALICE DE LA VERSIÓN PRELIMINAR Y DE TODO MATERIAL DESCARGADO U OBTENIDO DE ALGUNA OTRA MANERA MEDIANTE EL USO DE LA VERSIÓN PRELIMINAR ES A SU ENTERO RIESGO Y DISCRECIÓN, Y USTED ES EL ÚNICO RESPONSABLE DE CUALQUIER DAÑO QUE PUDIERA SUFRIR SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO, O DE LA PÉRDIDA DE DATOS COMO CONSECUENCIA DE DICHO USO.
-
-
-
- SIN PERJUICIO DE LO MENCIONADO ANTERIORMENTE, USTED COMPRENDE QUE LA VERSIÓN PRELIMINAR NO ES UNA VERSIÓN ESTABLE, Y PUEDE CONTENER ERRORES, DEFECTOS Y VULNERABILIDADES DE SEGURIDAD QUE PUEDEN PROVOCAR DAÑOS SIGNIFICATIVOS, LO QUE INCLUYE LA PÉRDIDA COMPLETA E IRRECUPERABLE DEL USO DE SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO. 10.3 GOOGLE TAMBIÉN RECHAZA TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, EXPRESAS O IMPLÍCITAS, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS Y CONDICIONES DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN. 11.
-
-
-
- LIMITACIÓN DE RESPONSABILIDADES 11.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE GOOGLE, SUS SUBSIDIARIAS Y FILIALES, Y SUS LICENCIANTES NO SERÁN RESPONSABLES ANTE USTED, EN VIRTUD DE NINGUNA TEORÍA DE RESPONSABILIDAD, POR NINGÚN DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, RESULTANTE NI PUNITIVO EN EL QUE PODRÍA HABER INCURRIDO, LO QUE INCLUYE LA PÉRDIDA DE DATOS, YA SEA QUE SE LE HAYA NOTIFICADO O NO A GOOGLE O A SUS REPRESENTANTES, O SOBRE CUYA POSIBILIDAD ESTOS DEBERÍAN HABER SABIDO. 12.
-
-
-
- Indemnización 12.1 Hasta el grado máximo que permita la ley, usted acepta defender, indemnizar y eximir de responsabilidades a Google, sus filiales y sus respectivos directores, funcionarios, empleados y agentes, de todo tipo de reclamo, acción legal y proceso judicial, así como de las pérdidas, responsabilidades, daños, costos y gastos (incluidos los honorarios razonables de abogados) que surjan o se acumulen (a) del uso que usted realiza de la Versión preliminar, (b) de cualquier aplicación que desarrolle en la Versión preliminar que infrinja algún derecho de propiedad intelectual de cualquier persona, o que difame a cualquier persona o viole sus derechos de publicidad o privacidad, y (c) del incumplimiento por su parte del Contrato de licencia. 13.
-
-
-
- Cambios en el Contrato de licencia 13.1 Google puede realizar cambios en el Contrato de licencia a medida que distribuye nuevas versiones de la Versión preliminar.
-
- Cuando se realicen esos cambios, Google emitirá una nueva versión del Contrato de licencia, que estará disponible en el sitio web donde se ponga a la venta la Versión preliminar. 14.
-
- Términos legales generales 14.1 El Contrato de licencia constituye el contrato legal integral entre usted y Google, y rige el uso que usted realice de la Versión preliminar (a excepción de los servicios que Google pueda proporcionarle en virtud de un contrato por escrito independiente), y reemplaza totalmente cualquier contrato anterior entre usted y Google en relación con la Versión preliminar. 14.2 Usted acepta que, si Google no ejerce ni impone un derecho o recurso legal especificados en el Contrato de licencia (o sobre el que Google tenga beneficios conforme a cualquier ley aplicable), esto no se considerará una renuncia formal a los derechos por parte de Google y Google aún seguirá recibiendo los beneficios de esos derechos o recursos legales. 14.3 Si algún tribunal judicial con jurisdicción para decidir sobre este asunto determina que alguna de las disposiciones de este Contrato de licencia no es válida, se eliminará esa disposición del Contrato de licencia sin que eso afecte la validez del resto del contrato.
-
-
-
-
-
- Las disposiciones restantes del Contrato de licencia continuarán siendo válidas y aplicables. 14.4 Usted reconoce y acepta que cada miembro del grupo de compañías de las que Google es la compañía central serán terceros beneficiarios del Contrato de licencia, y que esas otras empresas tendrán el derecho de imponer directamente cualquier disposición y ampararse en las disposiciones de este Contrato de licencia que les confieran un beneficio (o que confieran derechos a su favor).
-
- Además de esto, ninguna otra persona o compañía serán terceros beneficiarios del Contrato de licencia. 14.5 RESTRICCIONES DE EXPORTACIÓN.
-
- LA VERSIÓN PRELIMINAR ESTÁ SUJETA A LAS LEYES Y REGULACIONES DE EXPORTACIÓN DE LOS ESTADOS UNIDOS. DEBE CUMPLIR CON TODAS LAS LEYES Y REGULACIONES DE EXPORTACIÓN NACIONALES E INTERNACIONALES QUE SE APLIQUEN A LA VERSIÓN PRELIMINAR. ESTAS LEYES INCLUYEN RESTRICCIONES EN RELACIÓN CON LOS DESTINOS, USUARIOS FINALES Y USO FINAL. 14.6 Usted no puede asignar ni transferir el Contrato de licencia sin la aprobación previa por escrito de Google y todo intento de asignación sin dicha aprobación no tendrá validez.
-
- No podrá delegar sus responsabilidades u obligaciones otorgados en virtud del Contrato de licencia sin la aprobación previa por escrito de Google. 14.7 El Contrato de licencia y su relación con Google conforme al Contrato de licencia se regirán por las leyes del estado de California, independientemente de los principios de conflictos entre leyes.
-
- Usted y Google aceptan presentarse ante la jurisdicción exclusiva de los tribunales del condado de Santa Clara, California, para resolver cualquier asunto legal que pudiera surgir del Contrato de licencia. Sin perjuicio de esto, usted acepta que Google aún podrá aplicar reparaciones conforme a mandato judicial (o a un tipo equivalente de desagravio legal) en cualquier jurisdicción.
-  </div><!-- sdk terms -->
-
-
-
-    <div id="sdk-terms-form">
-      <p>
-        <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">He leído y acepto los términos y las condiciones anteriores.</label>
-      </p>
-      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-    </div>
-
-
-  </div><!-- end TOS -->
-
-
-  <div id="landing">
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>Contenido del documento</h2>
-      <ol>
-        <li><a href="#sdk">SDK de la versión preliminar</a></li>
-        <li><a href="#docs">Documentación para desarrolladores</a></li>
-        <li><a href="#images">Imágenes del sistema de hardware</a></li>
-      </ol>
-
-      <h2>Legacy downloads</h2>
-        <ol>
-           <li><a href="{@docRoot}preview/download_mp1.html">Developer Preview Archive</a></li>
-        </ol>
-  </div>
-</div>
-
-
-<p>
-  El SDK de la versión preliminar de Android M incluye herramientas de desarrollo, archivos de sistema de Android y archivos de biblioteca que lo ayudarán a probar su aplicación y las nuevas API que se incluirán en la próxima versión de la plataforma.
- En este documento, se describe la manera de obtener los componentes que se pueden descargar de la versión preliminar para probar su aplicación.
-
-</p>
-
-
-<h2 id="sdk">SDK de la versión preliminar</h2>
-
-<p>
-  El SDK de la versión preliminar se encuentra disponible para descargarlo a través del <a href="{@docRoot}tools/help/sdk-manager.html">Administrador de SDK de Android</a>. Para obtener más información sobre cómo descargar y configurar el SDK de la versión preliminar, consulte la sección <a href="{@docRoot}preview/setup-sdk.html#downloadSdk">Configurar el SDK de la versión preliminar</a>.
-
-</p>
-
-
-<h2 id="docs">Documentación para desarrolladores</h2>
-
-<p>
-  El paquete de descarga de documentación para desarrolladores brinda información detallada de referencia sobre las API y un informe de diferencias de las API para la versión preliminar.
-</p>
-
-<table>
-  <tr>
-    <th scope="col">Description</th>
-    <th scope="col">Download / Checksums</th>
-  </tr>
-  <tr id="docs-dl">
-    <td>Android M Preview 2<br>Developer Docs</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >m-preview-2-developer-docs.zip</a><br>
-      MD5: 1db6fff9c722b0339757e1cdf43663a8<br>
-      SHA-1: 5a4ae88d644e63824d21b0e18f8e3977a7665157
-    </td>
-  </tr>
-</table>
-
-
-<h2 id="images">Imágenes del sistema de hardware</h2>
-
-<p>
-  Estas imágenes del sistema le permiten instalar una versión preliminar de la plataforma en un dispositivo físico para realizar pruebas.
- Al configurar un dispositivo con una de estas imágenes, puede instalar y probar su aplicación para ver cómo funciona en la próxima versión de la plataforma.
- El proceso de instalación de una imagen del sistema en un dispositivo <em>elimina todos los datos del dispositivo</em>, por lo que debe hacer una copia de seguridad de los datos antes de instalar una imagen del sistema.
-
-
-</p>
-
-<p class="warning">
-  <b>Advertencia:</b> Las siguientes imágenes del sistema de Android son versiones preliminares y están sujetas a cambios. El uso que haga de estas imágenes del sistema se rige por el Contrato de licencia de la versión preliminar del SDK de Android.
- Las imágenes del sistema de la versión preliminar de Android no son versiones estables y pueden contener errores y defectos que pueden generar daños en sus sistemas informáticos, dispositivos y datos.
-
- Las imágenes del sistema de la versión preliminar de Android no se someten a las mismas pruebas que el OS de fábrica y podrían hacer que el teléfono, y las aplicaciones y los servicios instalados dejen de funcionar.
-
-
-</p>
-
-<table>
-  <tr>
-    <th scope="col">Device</th>
-    <th scope="col">Download / Checksums</th>
-  </tr>
-  <tr id="hammerhead">
-    <td>Nexus 5 (GSM/LTE) <br>"hammerhead"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >hammerhead-MPZ79M-preview-b1f4bde4.tgz</a><br>
-      MD5: 2ca9f18bf47a061b339bab52647ceb0d<br>
-      SHA-1: b1f4bde447eccbf8ce5d9b8b8ba954e3eac8e939
-    </td>
-  </tr>
-  <tr id="shamu">
-    <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >shamu-MPZ79M-preview-e1024040.tgz</a><br>
-      MD5: 24a2118da340b9afedfbdfc026f6ff81<br>
-      SHA-1: e10240408859d5188c4aae140e1c539130ba614b
-    </td>
-  </tr>
-  <tr id="volantis">
-    <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantis-MPZ79M-preview-9f305342.tgz</a><br>
-      MD5: 9edabf0a4c61b247f1cbb9dfdc0a899e<br>
-      SHA-1: 9f30534216f10899a6a75495fc7e92408ea333a7
-    </td>
-  </tr>
-
-  <tr id="fugu">
-    <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >fugu-MPZ79N-preview-fb63af98.tgz</a><br>
-      MD5: e8d081137a20b66df595ee69523314b5<br>
-      SHA-1: fb63af98302dd97be8de9313734d389ccdcce250
-    </td>
-  </tr>
-
-</table>
-
-<h3 id="install-image">Instalar una imagen en un dispositivo</h3>
-
-<p>
-  Si desea utilizar una imagen del dispositivo para realizar pruebas, debe instalarla en un dispositivo compatible. Siga las instrucciones que se ofrecen a continuación para instalar una imagen del sistema:
-
-</p>
-
-<ol>
-  <li>Descargue y descomprima uno de los paquetes de imágenes del sistema que se enumeran aquí.</li>
-  <li>Realice una copia de seguridad de los datos del dispositivo que desee conservar.</li>
-  <li>Siga las instrucciones que se describen en el sitio <a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
- para actualizar la imagen en su dispositivo.
-</li>
-</ol>
-
-<p class="note">
-  <strong>Nota:</strong> Cuando haya actualizado un dispositivo de desarrollo con la imagen del sistema de la versión preliminar, se actualizará automáticamente con la próxima versión preliminar a través de actualizaciones OTA.
-
-</p>
-
-<h3 id="revertDevice">Restablecer las especificaciones de fábrica en un dispositivo</h3>
-
-<p>
-  Si desea desinstalar la versión preliminar y restablecer las especificaciones de fábrica en un dispositivo, visite el sitio <a href="http://developers.google.com/android/nexus/images">developers.google.com/android</a> y descargue la imagen con la que desea actualizar su dispositivo.
-
- Siga las instrucciones que se describen en esa página para actualizar la imagen en su dispositivo.
-
-</p>
-
-  </div><!-- landing -->
-
-</div><!-- relative wrapper -->
-
-
-
-<script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/";
-  function onDownload(link) {
-
-    $("#downloadForRealz").html("Download " + $(link).text());
-    $("#downloadForRealz").attr('href', urlRoot + $(link).text());
-
-    $("#tos").fadeIn('fast');
-    $("#landing").fadeOut('fast');
-
-    return true;
-  }
-
-
-  function onAgreeChecked() {
-    /* verify that the TOS is agreed */
-    if ($("input#agree").is(":checked")) {
-      /* reveal the download button */
-      $("a#downloadForRealz").removeClass('disabled');
-    } else {
-      $("a#downloadForRealz").addClass('disabled');
-    }
-  }
-
-  function onDownloadForRealz(link) {
-    if ($("input#agree").is(':checked')) {
-    /*
-      $("#tos").fadeOut('fast');
-      $("#landing").fadeIn('fast');
-    */
-
-      ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
-
-    /*
-      location.hash = "";
-    */
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  $(window).hashchange( function(){
-    if (location.hash == "") {
-      location.reload();
-    }
-  });
-
-</script>
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/es/preview/features/background-optimization.jd b/docs/html-intl/intl/es/preview/features/background-optimization.jd
deleted file mode 100644
index c061a09..0000000
--- a/docs/html-intl/intl/es/preview/features/background-optimization.jd
+++ /dev/null
@@ -1,391 +0,0 @@
-page.title=Optimizaciones en segundo plano
-page.metaDescription=Nuevas restricciones para transmisiones implícitas.
-page.keywords="android N", "implicit broadcasts", "job scheduler"
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>
-      En este documento
-    </h2>
-
-    <ol>
-      <li>
-        <a href="#connectivity-action">Restricciones en CONNECTIVITY_ACTION</a>
-      </li>
-
-      <li>
-        <a href="#sched-jobs">Programación de trabajos en red en conexiones
-        sin medición de uso</a>
-      </li>
-
-      <li>
-        <a href="#monitor-conn">Control de la conectividad de la red mientras la aplicación
-        se está ejecutando</a>
-      </li>
-
-      <li>
-        <a href="#media-broadcasts">Restricciones en NEW_PICTURE y
-        NEW_VIDEO</a>
-      </li>
-
-      <li>
-        <a href="#new-jobinfo">Nuevos métodos de JobInfo</a>
-      </li>
-
-      <li>
-        <a href="#new-jobparam">Nuevos métodos de JobParameter</a>
-      </li>
-
-      <li>
-        <a href="#further-optimization">Cómo optimizar aún más tu aplicación</a>
-      </li>
-    </ol>
-  </div>
-</div>
-
-<p>
-  Los procesos en segundo plano pueden consumir mucha memoria y batería. Por ejemplo, una
-  transmisión implícita puede iniciar muchos procesos en segundo plano registrados para
-  escucharla, aunque esos procesos quizá no desempeñen un trabajo considerable. Esto puede
- afectar de forma significativa tanto el rendimiento del dispositivo como la experiencia de usuario.
-</p>
-
-<p>
-  Para corregir este problema, en Android N se aplican las siguientes
- restricciones:
-</p>
-
-<ul>
-  <li>Las aplicaciones orientadas a la Preview no reciben transmisiones {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} si
- en su manifiesto registran que las reciben. Las aplicaciones que se ejecutan aún pueden
- escuchar {@code CONNECTIVITY_CHANGE} en su subproceso principal mediante el registro de un
- {@link android.content.BroadcastReceiver} con {@link
-  android.content.Context#registerReceiver Context.registerReceiver()}.
-  </li>
-
-  <li>Las aplicaciones no pueden enviar ni recibir transmisiones {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ni {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Esta optimización
- afecta a todas las aplicaciones, no solo a aquellas orientadas a la Preview.
-  </li>
-</ul>
-
-<p>
-  Si la aplicación utiliza cualquiera de estas intents, debes quitar las dependencias en
- ellas lo antes posible a fin de poder orientar los dispositivos Android N correctamente.
-  El framework de Android ofrece varias soluciones para mitigar la necesidad de
-  estas transmisiones implícitas. Por ejemplo, {@link android.app.job.JobScheduler}
-  y <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-  {@code GcmNetworkManager}</a> proporcionan mecanismos sólidos para programar operaciones
-  de red cuando se cumplen las condiciones especificadas, como una conexión a una
-  red de uso no medido. Ahora también puedes usar {@link android.app.job.JobScheduler}
-  para reaccionar a cambios en relación con los proveedores de contenido. Los objetos {@link android.app.job.JobInfo}
-  encapsulan los parámetros que usa {@link android.app.job.JobScheduler}
-  para programar el trabajo. Cuando se cumplen las condiciones del trabajo, el sistema
-  ejecuta ese trabajo en el {@link android.app.job.JobService} de tu aplicación.
-</p>
-
-<p>
-  En este documento, aprenderemos cómo usar métodos alternativos, como
-  {@link android.app.job.JobScheduler}, para adaptar tu aplicación a esas nuevas
-  restricciones.
-</p>
-
-<h2 id="connectivity-action">
-  Restricciones en CONNECTIVITY_ACTION
-</h2>
-
-<p>
-  Las aplicaciones orientadas a Android N no reciben transmisiones {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} si en su manifiesto
- registran que las reciben, y los procesos que dependan de esta
- transmisión no se iniciarán. Esto podría ser un problema para aplicaciones que buscan
- escuchar los cambios en la red o realizar múltiples actividades en red cuando el
- dispositivo se conecta a una red sin medición de uso. Ya existen varias soluciones
-  en relación con esta restricción en el framework de Android, pero elegir
-  la correcta depende de lo que quieras lograr con tu aplicación.
-</p>
-
-<p class="note">
-  <strong>Nota:</strong> Un {@link android.content.BroadcastReceiver} registrado con
- {@link android.content.Context#registerReceiver Context.registerReceiver()}
- continúa recibiendo estas transmisiones mientras se ejecuta la aplicación.
-</p>
-
-<h3 id="sched-jobs">
-  Programación de trabajos en red en conexiones sin medición de uso
-</h3>
-
-<p>
-  Cuando uses la clase {@link android.app.job.JobInfo.Builder JobInfo.Builder}
-  para crear tu objeto {@link android.app.job.JobInfo}, aplica el método {@link
-  android.app.job.JobInfo.Builder#setRequiredNetworkType
-  setRequiredNetworkType()} y pasa {@link android.app.job.JobInfo
-  JobInfo.NETWORK_TYPE_UNMETERED} como parámetro de trabajo. El siguiente ejemplo de código
-  programa la ejecución de un servicio cuando el dispositivo se conecta a una red sin
-  medición de uso y se está cargando:
-</p>
-
-<pre>
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-      (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo job = new JobInfo.Builder(
-    MY_BACKGROUND_JOB,
-    new ComponentName(context, MyJobService.class))
-      .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
-      .setRequiresCharging(true)
-      .build();
-  js.schedule(job);
-}
-</pre>
-
-<p>
-  Cuando se cumplan las condiciones para tu trabajo, tu aplicación recibirá un callback para ejecutar
-  el método {@link android.app.job.JobService#onStartJob onStartJob()} en la
-   {@code JobService.class} especificada. Para ver más ejemplos de la implementación de {@link
-  android.app.job.JobScheduler}, consulta la <a href="{@docRoot}samples/JobScheduler/index.html">aplicación de ejemplo JobScheduler</a>.
-</p>
-
-<p>
-  Las aplicaciones que usan servicios de GMSCore y están orientadas a Android 5.0 (API nivel 21)
-  o anterior, pueden usar <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-  {@code GcmNetworkManager}</a> y especificar {@code Task.NETWORK_STATE_UNMETERED}.
-</p>
-
-<h3 id="monitor-conn">
-  Control de la conectividad de la red mientras la aplicación se está ejecutando
-</h3>
-
-<p>
-  Las aplicaciones que se ejecutan aún pueden escuchar {@code CONNECTIVITY_CHANGE} con un
- {@link android.content.BroadcastReceiver} registrado. No obstante, la API {@link
-  android.net.ConnectivityManager} ofrece un método más robusto para solicitar
- un callback solo cuando se cumplen las condiciones de red especificadas.
-</p>
-
-<p>
-  Los objetos {@link android.net.NetworkRequest} definen los parámetros del
-  callback de la red en términos de {@link android.net.NetworkCapabilities}. Creas
-  objetos {@link android.net.NetworkRequest} con la clase {@link
-  android.net.NetworkRequest.Builder NetworkRequest.Builder}. {@link
-  android.net.ConnectivityManager#registerNetworkCallback(android.net.NetworkRequest,
-  android.net.ConnectivityManager.NetworkCallback) registerNetworkCallback()}
-  y luego pasa el objeto {@link android.net.NetworkRequest} al sistema. Cuando
-  se cumplen las condiciones de la red, la aplicación recibe un callback para ejecutar el método
-  {@link android.net.ConnectivityManager.NetworkCallback#onAvailable
-  onAvailable()} definido en su clase {@link
-  android.net.ConnectivityManager.NetworkCallback}.
-</p>
-
-<p>
-  La aplicación continuará recibiendo callbacks hasta que la aplicación salga o llame a
-  {@link android.net.ConnectivityManager#unregisterNetworkCallback
-  unregisterNetworkCallback()}.
-</p>
-
-<h2 id="media-broadcasts">
-  Restricciones en NEW_PICTURE y NEW_VIDEO
-</h2>
-
-<p>
-  En Android N, las aplicaciones no pueden enviar ni recibir transmisiones {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ni {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Esta restricción ayuda a
- aliviar el impacto en el rendimiento y la experiencia de usuario cuando varias aplicaciones deben
- activarse para procesar una nueva imagen o video. Android N
- extiende {@link android.app.job.JobInfo} y {@link
-  android.app.job.JobParameters} para proporcionar una solución alternativa.
-</p>
-
-<h3 id="new-jobinfo">
-  Nuevos métodos de JobInfo
-</h3>
-
-<p>
-  Para activar trabajos en los cambios del URI de contenido, Android N extiende
- la API {@link android.app.job.JobInfo} con los siguientes métodos:
-</p>
-
-<dl>
-  <dt>
-    {@code JobInfo.TriggerContentUri()}
-  </dt>
-
-  <dd>
-    Encapsula parámetros necesarios para activar un trabajo en cambios del URI de contenido.
-  </dd>
-
-  <dt>
-    {@code JobInfo.Builder.addTriggerContentUri()}
-  </dt>
-
-  <dd>
-    Pasa un objeto {@code TriggerContentUri} a {@link
-    android.app.job.JobInfo}. Un {@link android.database.ContentObserver}
-    controla el URI de contenido encapsulado. Si hay múltiples objetos {@code
-    TriggerContentUri} asociados a un trabajo, el sistema proporciona un
-    callback aunque se informe un cambio en un solo URI de contenido.
-  </dd>
-
-  <dd>
-    Si cambia algún desencadenante del URI determinado, agrega el marcador {@code TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS} para
-    activar el trabajo. Este marcador
-    corresponde al parámetro {@code notifyForDescendants} pasado a {@link
-    android.content.ContentResolver#registerContentObserver
-    registerContentObserver()}.
-  </dd>
-</dl>
-
-<p class="note">
-  <strong>Nota:</strong> No se puede usar {@code TriggerContentUri()} junto
-  con {@link android.app.job.JobInfo.Builder#setPeriodic
-  setPeriodic()} ni {@link android.app.job.JobInfo.Builder#setPersisted
-  setPersisted()}. Para controlar de forma constante la presencia de cambios en el contenido, programa un nuevo
-  {@link android.app.job.JobInfo} antes de que el {@link
-  android.app.job.JobService} de la aplicación termine de administrar la callback más reciente.
-</p>
-
-<p>
-  El siguiente código de ejemplo programa la activación de un trabajo cuando el sistema informe
-  un cambio en el URI de contenido, {@code MEDIA_URI}:
-</p>
-
-<pre>
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-          (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo.Builder builder = new JobInfo.Builder(
-          MY_BACKGROUND_JOB,
-          new ComponentName(context, MediaContentJob.class));
-  builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
-          JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
-  js.schedule(builder.build());
-}
-</pre>
-<p>
-  Cuando el sistema informa un cambio en el(los) URI de contenido especificado(s), tu aplicación
-  recibe un callback y se pasa un objeto {@link android.app.job.JobParameters}
-  al método {@link android.app.job.JobService#onStartJob onStartJob()}
-  en {@code MediaContentJob.class}.
-</p>
-
-<h3 id="new-jobparam">
-  Nuevos métodos de JobParameter
-</h3>
-
-<p>
-  Android N también amplía {@link android.app.job.JobParameters} para
- permitir que tu aplicación reciba información útil sobre qué autoridades de contenido
- y URI activaron el trabajo:
-</p>
-
-<dl>
-  <dt>
-    {@code Uri[] getTriggeredContentUris()}
-  </dt>
-
-  <dd>
-    Devuelve el arreglo de los URI que activaron el trabajo. Ese arreglo será {@code
-    null} si ningún URI activó el trabajo (por ejemplo, el trabajo
-    se activó debido al cumplimiento de un plazo o por otro motivo), o la cantidad de URI
-    modificados es superior a 50.
-  </dd>
-
-  <dt>
-    {@code String[] getTriggeredContentAuthorities()}
-  </dt>
-
-  <dd>
-    Devuelve el arreglo de cadenas de autoridades de contenido que activaron el trabajo.
-    Si el arreglo devuelto no es {@code null}, usa {@code getTriggeredContentUris()}
-    para recuperar los detalles de los URI que se modificaron.
-  </dd>
-</dl>
-
-<p>
-  El siguiente código de ejemplo anula el método {@link
-  android.app.job.JobService#onStartJob JobService.onStartJob()} y
-  registra las autoridades de contenido y los URI que activaron el trabajo:
-</p>
-
-<pre>
-&#64;Override
-public boolean onStartJob(JobParameters params) {
-  StringBuilder sb = new StringBuilder();
-  sb.append("Media content has changed:\n");
-  if (params.getTriggeredContentAuthorities() != null) {
-      sb.append("Authorities: ");
-      boolean first = true;
-      for (String auth :
-          params.getTriggeredContentAuthorities()) {
-          if (first) {
-              first = false;
-          } else {
-             sb.append(", ");
-          }
-           sb.append(auth);
-      }
-      if (params.getTriggeredContentUris() != null) {
-          for (Uri uri : params.getTriggeredContentUris()) {
-              sb.append("\n");
-              sb.append(uri);
-          }
-      }
-  } else {
-      sb.append("(No content)");
-  }
-  Log.i(TAG, sb.toString());
-  return true;
-}
-</pre>
-
-<h2 id="further-optimization">
-  Cómo optimizar aún más tu aplicación
-</h2>
-
-<p>
-  Optimizar tus aplicaciones para que se ejecuten en dispositivos con poca memoria o en condiciones de niveles bajos
-  de memoria puede mejorar el rendimiento y la experiencia del usuario. Eliminar
- dependencias en servicios en segundo plano y receptores de transmisiones implícitas
- registrados estadísticamente puede ayudar a que tu aplicación se ejecute mejor en esos dispositivos. Si bien
- Android N toma medidas para reducir algunos de estos problemas, te
- recomendamos que optimices tu aplicación para que pueda ejecutarse sin utilizar esos
- procesos en segundo plano.
-</p>
-
-<p>
-  Android N presenta algunos comandos adicionales de <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a> que
- puedes usar para probar el comportamiento de la aplicación con esos procesos en segundo plano deshabilitados:
-</p>
-
-<ul>
-  <li>Para simular condiciones en las que no hay transmisiones implícitas ni servicios en segundo plano
- disponibles, ingresa el siguiente comando:
-  </li>
-
-  <li style="list-style: none; display: inline">
-<pre class="no-pretty-print">
-{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
-</pre>
-  </li>
-
-  <li>Para volver a habilitar las transmisiones implícitas y los servicios en segundo plano, ingresa el
-  siguiente comando:
-  </li>
-
-  <li style="list-style: none; display: inline">
-<pre class="no-pretty-print">
-{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
-</pre>
-  </li>
-</ul>
diff --git a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd b/docs/html-intl/intl/es/preview/features/icu4j-framework.jd
deleted file mode 100644
index e87c4dd..0000000
--- a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd
+++ /dev/null
@@ -1,159 +0,0 @@
-page.title=API de ICU4J en el framework de Android
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>En este documento:</h2>
-<ol>
-    <li><a href="#relation">Relación con ICU4J</a></li>
-    <li><a href="#migration">Migración hacia API de android.icu desde ICU4J</a></li>
-    <li><a href="#licence">Licencias</a></li>
-</ol>
-
-<h2>Consulta también</h2>
-<ol>
-  <li>
-    <a class="external-link" href="http://userguide.icu-project.org">Documentación para ICU4J</a>
-  </li>
-
-  <li>
-    <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Últimos estándares compatibles
- con ICU4J</a>
-  </li>
-</ol>
-</div>
-</div>
-
-<p>
-  ICU4J es un conjunto de bibliotecas de Java de código abierto y amplio uso que brinda soporte de Unicode
- y de globalización para aplicaciones de software. Android N
- expone un subconjunto de las API de ICU4J en el framework de Android para que los desarrolladores de aplicaciones
- lo usen debajo del paquete {@code android.icu}. Estas API usan
- datos de ubicación que están presentes en el dispositivo. Como resultado, puedes reducir la superficie de APK
- evitando la compilación de las bibliotecas de ICU4J en APK. En lugar de esto, puedes
- llamarlas en el framework. (En este caso, posiblemente debas brindar
- <a href="{@docRoot}google/play/publishing/multiple-apks.html">versiones múltiples
- del APK</a>, de modo que los usuarios que usan versiones de Android inferiores a Android N
- puedan descargar una versión de la aplicación que incluya las bibliotecas de ICU4J).
-</p>
-
-<p>
-  Al principio de este documento, encontrarás información básica sobre el mínimo de niveles de Android API
- necesarios para soportar estas bibliotecas. Más adelante, encontrarás explicaciones sobre qué
- necesitas saber acerca de la implementación de ICU4J específica para Android. Por último,
- encontrarás explicaciones sobre cómo usar las API de ICU4J en el framework de Android.
-</p>
-
-<h2 id="relation">Relación con ICU4J</h2>
-
-<p>
-  Android N expone un subconjunto de las API de ICU4J mediante el
- paquete <code>android.icu</code>, en lugar de <code>com.ibm.icu</code>. El
-framework de Android puede elegir no
- exponer las API de ICU4J por varias razones; por ejemplo, Android N no expone
- algunas API obsoletas o algunas que el equipo de ICU aún no ha declarado como
- estables. A medida que el equipo de ICU deje de usar API en el futuro, Android también las marcará
- como obsoletas, pero las seguirá incluyendo.
-</p>
-
-<p class="table-caption"><strong>Tabla 1.</strong> Versiones de ICU y CLDR usadas
- en Android N.</p>
-<table>
-<tr>
-<th>Nivel de Android API</th>
-<th>Versión de ICU</th>
-<th>Versión de CLDR</th>
-</tr>
-<tr>
-<td>Android N</td>
-<td>56</td>
-<td>28</td>
-</tr>
-</table>
-
-<p>Debes tener en cuenta lo siguiente:</p>
-
-<ul>
-<li>Las API de ICU4J del framework de Android no incluyen todas las API de ICU4J.</li>
-<li>Los desarrolladores de NDK deben saber que ICU4C de Android no es compatible.</li>
-<li>Las API del framework de Android no reemplazan la compatibilidad de Android para
-<a href="{@docRoot}guide/topics/resources/localization.html">localizar con
-recursos</a>.</li>
-</ul>
-
-<h2 id="migration">Migración hacia el paquete android.icu desde com.ibm.icu</h2>
-
-<p>
-  Si ya estás usando las API de ICU4J en tu aplicación y las
- API de <code>android.icu</code> cumplen con tus requisitos, migrar hacia las
- API del framework implicará que cambies tus importaciones de Java
- de <code>com.ibm.icu</code> a <code>android.icu</code>. Luego, puedes
- quitar tu propia copia de los archivos de ICU4J del APK.
-</p>
-
-<p class="note">
-  <b>Nota</b>: Las API del framework de ICU4J usan el espacio de nombres {@code android.icu}
- en lugar de {@code com.ibm.icu}. El motivo de esto es evitar conflictos de espacio de nombres
- en APK que contienen sus propias bibliotecas de {@code com.ibm.icu}.
-</p>
-
-<h3 id="migrate-from-android">
-  Migración hacia API de android.icu desde otras Android SDK API
-</h3>
-
-<p>
-  Algunas clases de los paquetes de <code>java</code> y de <code>android</code> son
- equivalentes a las clases de ICU4J. Sin embargo, ICU4J a menudo brinda una compatibilidad
- más amplia para estándares e idiomas.
-</p>
-<p>Aquí tienes algunos ejemplos para comenzar:</p>
-<table>
-<tr>
-<th>Clase</th>
-<th>Alternativa</th>
-</tr>
-<tr>
-<td><code>java.lang.Character</code> </td>
-<td><code>android.icu.lang.UCharacter</code> </td>
-</tr>
-<tr>
-<td><code>java.text.BreakIterator</code> </td>
-<td><code>android.icu.text.BreakIterator</code> </td>
-</tr>
-<tr>
-<td><code>java.text.DecimalFormat</code> </td>
-<td><code>android.icu.text.DecimalFormat</code> </td>
-</tr>
-<tr>
-<td><code>java.util.Calendar</code></td>
-<td>
-<code>android.icu.util.Calendar</code></td>
-</tr>
-<tr>
-<td><code>android.text.BidiFormatter</code>
- </td>
-<td><code>android.icu.text.Bidi</code>
- </td>
-</tr>
-<tr>
-<td><code>android.text.format.DateFormat</code>
- </td>
-<td><code>android.icu.text.DateFormat</code>
- </td>
-</tr>
-<tr>
-<td><code>android.text.format.DateUtils</code> </td>
-<td><code>android.icu.text.DateFormat</code>
-<code>android.icu.text.RelativeDateTimeFormatter</code>
-</td>
-</tr>
-</table>
-
-<h2 id="licence">Licencias</h2>
-
-<p>
-  ICU4J se presenta bajo la licencia de ICU. Para obtener información más detallada, consulta la <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">Guía de usuario
- de ICU.</a>
-</p>
diff --git a/docs/html-intl/intl/es/preview/features/multilingual-support.jd b/docs/html-intl/intl/es/preview/features/multilingual-support.jd
deleted file mode 100644
index b03777c..0000000
--- a/docs/html-intl/intl/es/preview/features/multilingual-support.jd
+++ /dev/null
@@ -1,221 +0,0 @@
-page.title=Idioma y configuración regional
-page.tags=androidn
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>En este documento:</h2>
-<ol>
-	  <li><a href="#preN">Desafíos para la resolución de recursos de idioma</a></li>
-    <li><a href="#postN">Mejoras de la estrategia de resolución de recursos</a></li>
-    <li><a href="#design">Diseño de la aplicación para permitir configuraciones regionales
- adicionales</a></li>
-
-</ol>
-
-</div>
-</div>
-
-<p>Android N brinda un soporte mejorado para los usuarios de diferentes idiomas
-y les permite seleccionar múltiples configuraciones regionales en la configuración. Android N
-brinda esta capacidad expandiendo ampliamente la cantidad de configuraciones regionales compatibles
-y cambiando la forma en que el sistema resuelve los recursos. El nuevo método de resolución
-de recursos es más robusto y está diseñado para ser compatible con APK existentes, pero
-debes tener especial cuidado para detectar cualquier comportamiento inesperado. Por ejemplo, debes
-realizar pruebas para asegurarte de que tu aplicación muestre el idioma esperado de forma predeterminada. Además,
-si tu aplicación permite múltiples idiomas, debes asegurarte de que esta compatibilidad funcione
-como debería. Por último, debes tratar de asegurarte de que tu aplicación administre con facilidad
-los idiomas para los cuales no diseñaste explícitamente la aplicación.</p>
-
-<p>Al inicio de este documento, encontrarás una explicación sobre la estrategia de resolución de recursos anterior a
-Android N. Luego, encontrarás una descripción de la estrategia de resolución de recursos
-mejorada de Android N. Por último, encontrarás una explicación sobre cómo aprovechar
-la cantidad expandida de configuraciones regionales para permitir acceso a más usuarios de diferentes idiomas.</p>
-
-<h2 id="preN">Desafíos para la resolución de recursos de idioma</h2>
-
-<p>Antes de Android N, Android no siempre podía
- hacer coincidir correctamente las configuraciones regionales de la aplicación y del sistema.</p>
-
- <p>Por ejemplo, imagina que tienes la siguiente situación:</p>
- <ul>
- <li>El idioma predeterminado de la aplicación es {@code en_US} (inglés de EE. UU.), y también tiene
- cadenas en español localizadas en archivos de recursos {@code es_ES}
-.</li>
- <li> Se configura un dispositivo en {@code es_MX}. </li>
-
-<p>Cuando el código Java hace referencia a cadenas, el sistema carga
- las cadenas del archivo de recursos ({@code en_US}) predeterminado, incluso si la aplicación tiene
- recursos en español localizados en {@code es_ES}. Esto se debe a que, cuando el sistema
- no puede encontrar una coincidencia exacta, continúa buscando recursos y se quita el
- código del país de la configuración regional. Finalmente, si no se encuentra una coincidencia, el sistema regresa
- a la configuración predeterminada, que es {@code en_US}. </p>
-
-
-<p>El sistema también usaba {@code en_US} de forma predeterminada si el usuario elegía un idioma que
- no era compatible con la aplicación, como el francés. Por ejemplo:</p>
-
-<p class="table-caption" id="t-resource-res">
-<strong>Tabla 1.</strong> Resolución de recursos sin una coincidencia de configuración regional exacta.
-</p>
-<table>
-<tbody>
-<tr>
-<th>Configuración del usuario</th>
-<th>Recursos de la aplicación</th>
-<th>Resolución de recursos</th>
-</tr>
-<tr>
-<td>fr_CH</td>
-<td>
-Predeterminado (en)<br>
-de_DE<br>
-es_ES<br>
-fr_FR<br>
-it_IT<br>
-</td>
- <td>
-Intentar fr_CH =&gt; Error<br>
-Intentar fr =&gt; Error<br>
-Usar predeterminado (en)
-</td>
- </tr>
- </tbody>
-</table>
-
-
-<p>En este ejemplo, el sistema muestra las cadenas en inglés sin
-saber si el usuario comprende este idioma. Este comportamiento es muy común
-hoy en día. Android N debería reducir sustancialmente la frecuencia
-de resultados como este.</p>
-
-<h2 id="postN">Mejoras de la estrategia de resolución de recursos</h2>
-<p>Android N brinda una resolución de recursos más robusta y
-encuentra mejores recursos de forma automática. Sin embargo, para acelerar la resolución y mejorar la
-facilidad de mantenimiento, debes almacenar los recursos en el dialecto primario.
- Por ejemplo, si antes almacenabas los recursos en español en el directorio {@code es-US}
-, pásalos al directorio {@code es-419}, que contiene la variante de Latinoamérica.
- De forma similar, si tienes cadenas de recursos en una carpeta llamada {@code en-GB}, cámbiale
- el nombre a {@code en-001} (inglés internacional), ya que el dialecto primario más común
- para las cadenas en <code>en-GB</code> es {@code en-001}.
- Los siguientes ejemplos explican por qué estas prácticas mejoran el desempeño
- y la confiabilidad de la resolución de recursos.</p>
-
-<h3>Ejemplos de resolución de recursos</h3>
-
-<p>Con Android N, el caso descrito en la <strong>Tabla 1</strong> se resuelve
-de otra forma:</p>
-
-<p class="table-caption" id="t-improved-res">
-<strong>Tabla 2.</strong> Una estrategia de resolución mejorada para los casos en que no
-hay una coincidencia de configuración regional exacta.</p>
-<table>
-<tr>
-<th>Configuración del usuario</th>
-<th>Recursos de la aplicación</th>
-<th>Resolución de recursos</th>
-</tr>
-<tr>
-<td><ol>
-<li> fr_CH</li>
-</ol>
-</td>
-<td>
-Predeterminado (en)<br>
-de_DE<br>
-es_ES<br>
-fr_FR<br>
-it_IT<br>
-</td>
-<td>
-Intentar fr_CH =&gt; Error<br>
-Intentar fr =&gt; Error<br>
-Intentar secundario de fr =&gt; fr_FR<br>
-Usar fr_FR
-</td>
-</tr>
-
-</table>
-
-
-<p>Así, los recursos se muestran en francés en lugar de en inglés. Este ejemplo también muestra
- por qué deberías almacenar las cadenas en francés en {@code fr} en lugar de en {@code fr_FR}
- para Android N. Aquí, el procedimiento se basa en hacer coincidir el dialecto primario más cercano,
- lo cual hace que la resolución sea más rápida y más predecible.</p>
-
-<p>Además de esta lógica de resolución mejorada, Android ofrece ahora más
- idiomas de usuario de entre los cuales elegir. Volvamos a ver el ejemplo anterior con el idioma italiano
- especificado como un idioma de usuario adicional, pero sin compatibilidad de la aplicación con el idioma francés.  </p>
-
-<p class="table-caption" id="t-2d-choice">
-<strong>Tabla 3.</strong> Resolución de recursos cuando la aplicación solo hace coincidir la
-configuración regional de segunda preferencia del usuario.</p>
-<table>
-<tr>
-<th>Configuración del usuario</th>
-<th>Recursos de la aplicación</th>
-<th>Resolución de recursos</th>
-
-</tr>
-<tr>
-<td><ol>
-<li> fr_CH</li>
-<li> it_CH</li>
-</ol>
-</td>
-<td>
-Predeterminado (en)<br>
-de_DE<br>
-es_ES<br>
-it_IT<br>
-</td>
-<td>
-Intentar fr_CH =&gt; Error<br>
-Intentar fr =&gt; Error<br>
-Intentar secundario de fr =&gt; Error<br>
-Intentar it_CH =&gt; Error<br>
-Intentar it =&gt; Error<br>
-Intentar secundario de it =&gt; it_IT<br>
-Usar it_IT
-</td>
-
-</tr>
-
-</table>
-<p>El usuario recibe la información en un idioma que comprende, si bien la aplicación no
-es compatible con el idioma francés.</p>
-
-
-<h2 id="design">Diseño de la aplicación para permitir configuraciones regionales adicionales</h2>
-<h3>API LocaleList</h3>
-
-<p>Android N incorpora una nueva API, {@code LocaleList.getDefault()},
-que les permite a las aplicaciones consultar directamente la lista de idiomas que ha especificado el usuario. Esta API
- te permite crear un comportamiento de la aplicación
- más sofisticado y una presentación de contenido más optimizada. Por ejemplo, las búsquedas
- pueden mostrar resultados en múltiples idiomas según la configuración del usuario.  Las aplicaciones de navegadores
- pueden evitar ofrecer la traducción de páginas que están en un idioma que el usuario comprende,
- y las aplicaciones de teclado pueden habilitar automáticamente todos los diseños correctos. </p>
-
-<h3>Formateadores</h3>
-
-<p>Hasta Android 6.0 (API nivel 23), Android solo permitía una o dos
- configuraciones regionales para muchos idiomas comunes
- (en, es, ar, fr, ru). Debido a que había solo unas pocas variantes para cada idioma,
-las aplicaciones podían almacenar algunos números y fechas como cadenas preprogramadas
-en los archivos de recursos.  Sin embargo, con el conjunto ampliado de configuraciones regionales
-compatibles de Android, puede haber diferencias importantes
-en los formatos de fecha, hora, moneda e
-información similar, incluso dentro de una sola configuración regional. Preprogramar los formatos puede generar
-una experiencia confusa para los usuarios.  Por lo tanto, cuando desarrolles aplicaciones para Android,
-asegúrate de usar formateadores en lugar de preprogramar las cadenas de números y fechas.</p>
-
-<p>Un muy buen ejemplo es el árabe. Android N expandió su compatibilidad de
-una configuración regional, {@code ar_EG}, a 27 configuraciones regionales. Estas configuraciones regionales pueden compartir la mayoría de los recursos,
-pero algunas prefieren dígitos ASCII, mientras que otras prefieren dígitos nativos. Por ejemplo,
-cuando desees crear una oración con una variable de dígito, como
-"Elige un PIN de 4 dígitos", usa formateadores como se muestra a continuación:</p>
-
-<pre> format(locale, "Choose a %d-digit PIN", 4)</pre>
diff --git a/docs/html-intl/intl/es/preview/features/notification-updates.jd b/docs/html-intl/intl/es/preview/features/notification-updates.jd
deleted file mode 100644
index ff0635e..0000000
--- a/docs/html-intl/intl/es/preview/features/notification-updates.jd
+++ /dev/null
@@ -1,393 +0,0 @@
-page.title=Notificaciones
-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>Este documento incluye lo siguiente:</h2>
-<ol>
-  <li><a href="#direct">Respuesta directa</a></li>
-  <li><a href="#bundle">Notificaciones integradas</a></li>
-  <li><a href="#custom">Vistas personalizadas</a></li>
-  <li><a href="#style">Estilo de mensajería</a></li>
-</ol>
-
-</div>
-</div>
-
-<p>Android N presenta varias API nuevas que permiten a las aplicaciones publicar
-notificaciones altamente visibles e interactivas.</p>
-
-<p>Android N amplía la API de notificación existente {@link android.support.v4.app.RemoteInput}
-para admitir respuestas en línea en teléfonos celulares. Esta función permite a los usuarios
- responder rápidamente desde el panel de notificaciones sin tener que visitar tu aplicación.</p>
-
-<p>
-  Android N también te permite agrupar notificaciones similares para que
-  aparezcan como una sola notificación. Para que esto sea posible, Android N usa el método existente {@link
-  android.support.v4.app.NotificationCompat.Builder#setGroup
-  NotificationCompat.Builder.setGroup()}. Los usuarios pueden expandir cada una de las
-  notificaciones y realizar acciones como responder e ignorar en cada una
-  de ellas, de forma individual desde el panel de notificaciones.
-</p>
-
-<p>Por último, Android N también suma nuevas API que te permiten aprovechar las decoraciones
-del sistema en las vistas de notificación personalizadas de tu aplicación. Estas API ayudan a
-garantizar que las vistas de notificaciones compartan una presentación acorde a las
-plantillas estándar.</p>
-
-<p>En este documento se destacan algunos de los cambios clave que puedes tener en cuenta
- al usar las nuevas funciones de notificación en tus aplicaciones.</p>
-
-<h2 id="direct">Respuesta directa</h2>
-
-<p>Con la función de respuesta directa en Android N, los usuarios pueden responder
-rápidamente mensajes de texto o actualizar listas de tareas directamente dentro de la interfaz de
-notificación. En un dispositivo portátil, la acción de respuesta en línea aparece como un botón adicional
- anexado a la notificación. Cuando un usuario responde mediante el teclado, el sistema adjunta
- la respuesta de texto a la intent
- que especificaste para la acción de notificación y envía la intención a tu
- aplicación para dispositivos portátiles.
-
-
-<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>Figura 1.</strong> Android N agrega el botón de acción <strong>Reply</strong>
-.
-</p>
-
-<h3>Adición de acciones de respuesta en línea</h3>
-
-<p>Para crear una acción de notificación que admita respuesta directa:
-</p>
-
-<ol>
-<li>Crea una instancia de {@link android.support.v4.app.RemoteInput.Builder}
-  que puedas agregar a tu acción de
-notificación. El constructor de esta clase acepta una cadena que el sistema usa como clave
- para la inserción de texto. Luego, tu aplicación para dispositivos portátiles usará esa clave para recuperar el texto
-  de la entrada.
-
-<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>Adjunta el objeto {@link android.support.v4.app.RemoteInput}
- a una acción usando <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>Aplica la acción a una notificación y emite la notificación.
-
-<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> Cuando se active la acción de notificación,
-el sistema le solicitará al usuario que ingrese una respuesta. </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>Figura 2.</strong> El usuario ingresa texto desde el panel de notificaciones.
-</p>
-
-<h3>
-  Recuperación de entradas del usuario a partir de la respuesta en línea
-</h3>
-
-<p>
-  Para recibir entradas del usuario de la interfaz de notificación a la actividad que
- declaraste en la intent de la acción de respuesta:
-</p>
-
-<ol>
-  <li>Llama a {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()} pasando la intent de la acción de notificación como
- el parámetro de entrada. Este método devuelve un {@link android.os.Bundle} que
- contiene la respuesta de texto.
-
-    <pre>
-Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
-</pre>
-  </li>
-
-  <li>Consulta el paquete con la clave de resultado (proporcionada al constructor {@link
-  android.support.v4.app.RemoteInput.Builder}). Puedes completar
- este proceso y recuperar el texto de entrada mediante la creación de un método, como en el
- siguiente fragmento de código:
-
-    <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>Crea y emite otra notificación, utilizando la misma ID de notificación que
- proporcionaste para la notificación anterior. El indicador de progreso
- desaparece de la interfaz de notificación para informarles a los usuarios que la respuesta
- fue exitosa. Al trabajar con esta nueva notificación, usa el contexto que se
- pasa al método {@code onReceive()} del receptor.
-
-    <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>
-  En el caso de las aplicaciones interactivas, como los chats, podría ser útil incluir
- contexto adicional cuando se administra texto recuperado. Por ejemplo, en estas aplicaciones, se podrían mostrar
- múltiples líneas de historial de chat. Cuando el usuario responde a través de {@link
-  android.support.v4.app.RemoteInput}, puedes actualizar el historial de respuestas
- por medio del método {@code setRemoteInputHistory()}.
-</p>
-
-<p>
-  La notificación se debe actualizar o cancelar luego de que la aplicación haya
- recibido entradas remotas. Cuando el usuario responde a una actualización remota
- por medio de la respuesta directa,
- no canceles la notificación. En cambio, actualiza la notificación para mostrar la respuesta del usuario.
-En el caso de las notificaciones que utilizan {@code MessagingStyle}, debes agregar
-la respuesta como el mensaje más reciente. Cuando se utilizan otras plantillas, puedes
-agregar la respuesta del usuario al historial de entradas remotas.
-</p>
-
-<h2 id="bundle">Notificaciones integradas</h2>
-
-<p>Android N ofrece a los desarrolladores una nueva manera de representar
- una cola de notificaciones: <i>notificaciones integradas</i>. Esto es similar a la función
-  <a href="{@docRoot}training/wearables/notifications/stacks.html">Pilas de
-  notificaciones</a> en Android Wear. Por ejemplo, si tu aplicación crea notificaciones
-  para los mensajes recibidos, cuando se recibe más de un mensaje, agrupa las
- notificaciones en un solo paquete. Puedes
- usar el método existente {@link android.support.v4.app.NotificationCompat.Builder#setGroup
-Builder.setGroup()} para agrupar notificaciones similares.</p>
-
-<p>
-  El grupo de notificaciones impone una jerarquía en las notificaciones que lo integran.
-  En la parte superior de esa jerarquía se encuentra una notificación principal que muestra información
-  resumida para el grupo. El usuario puede expandir
-  progresivamente el grupo de notificaciones, y el sistema muestra más información a medida que el
-  usuario continúa indagando. Cuando el usuario expande el paquete, el sistema revela más
-  información para todas sus notificaciones secundarias; cuando el usuario
-  expande una de esas notificaciones, el sistema revela todo su contenido.
-</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>Figura 3.</strong> El usuario puede expandir progresivamente el grupo de
- notificaciones.
-</p>
-
-<p class="note">
-  <strong>Nota:</strong> Si la misma aplicación envía cuatro o más notificaciones
- y no se especifica un grupo, el
- sistema las agrupa automáticamente.
-</p>
-
-<p>Para obtener información acerca de cómo agregar notificaciones a un grupo, consulta
-<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Agregar
-cada notificación a un grupo</a>.</p>
-
-
-<h3 id="best-practices">Prácticas recomendadas para las notificaciones integradas</h3>
-<p>Esta sección proporciona pautas acerca de cuándo usar grupos de notificaciones en lugar
-de las notificaciones {@link android.app.Notification.InboxStyle InboxStyle}
-que estaban disponibles en versiones anteriores de la
-plataforma Android.</p>
-
-<h3>Cuándo usar notificaciones integradas</h3>
-
-<p>Solo debes usar grupos de notificaciones si se cumplen todas las siguientes condiciones
-para tu caso de uso:</p>
-
-<ul>
-  <li>Las notificaciones secundarias son notificaciones completas y se pueden mostrar
-   individualmente sin la necesidad de un resumen del grupo.</li>
-  <li>El aislamiento de notificaciones secundarias de forma individual tiene un beneficio. Por
-  ejemplo:
-  </li>
-  <ul>
-    <li>Son interactivas, con acciones específicas para cada notificación secundaria.</li>
-    <li>Hay más información sobre la notificación secundaria que el usuario quiere leer.</li>
-  </ul>
-</ul>
-
-<p>Algunos ejemplos de buenos casos de uso para grupos de notificaciones incluyen: una aplicación de mensajería
-que exhiba una lista de mensajes entrantes, o una aplicación de correo electrónico que exhiba una lista de
-correos electrónicos recibidos.</p>
-
-<p>
-Algunos ejemplos de casos en los que se prefiere una sola notificación
- incluyen mensajes individuales de una sola persona, o una lista de
- elementos de texto de una sola línea. Para lograr esto, puedes usar
-({@link android.app.Notification.InboxStyle InboxStyle} o
-{@link android.app.Notification.BigTextStyle BigTextStyle})
-.
-</p>
-
-<h3 id ="post">Visualización de notificaciones integradas</h3>
-
-<p>
-  La aplicación siempre debe publicar un resumen del grupo, aún si el grupo contiene una sola
- notificación secundaria. Si contiene una sola notificación, el sistema suprimirá el resumen y mostrará directamente la
-  notificación secundaria. Esto garantiza
-  que el sistema pueda proporcionar una experiencia uniforme cuando el usuario quita con un gesto de "deslizar" notificaciones
-  secundarias de un grupo.
-</p>
-
-<p class="note">
-  <strong>Nota:</strong> Esta versión de Android N aún no
-  suprime el resumen para los grupos de notificaciones que contienen una sola notificación secundaria. Esta
-  funcionalidad se agregará en una versión posterior de Android N.
-</p>
-
-<h3>Inspección de notificaciones</h3>
-
-<p>Si bien el sistema generalmente muestra las notificaciones secundarias como un grupo, puedes configurarlas
- para que aparezcan temporalmente como
- <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Heads-up">
- notificaciones emergentes</a>. Esta función es especialmente útil porque permite
-  el acceso inmediato a la notificación secundaria más reciente y a las acciones asociadas a ella.
-</p>
-
-
-<h3>Compatibilidad con versiones anteriores</h3>
-
-<p>
-  Tanto los grupos de notificaciones como las entradas remotas han formado parte de la API {@link
-  android.app.Notification} desde Android 5.0 (API nivel 21) para soportar dispositivos
-  con Android Wear. Si ya compilaste notificaciones con esas API,
-  lo único que debes hacer es verificar que el comportamiento de la aplicación concuerde
-  las pautas antes descritas y considerar la implementación de {@code
-  setRemoteInputHistory()}.
-</p>
-
-<p>
-  Para poder ser compatible con versiones anteriores, están disponibles las mismas API con
-  la clase {@link android.support.v4.app.NotificationCompat}
-  de la biblioteca de soporte, que te permite crear notificaciones que funcionan en versiones de Android
-  anteriores. En dispositivos portátiles y tablets, los usuarios solo ven la notificación de resumen
-  de modo que una aplicación aún debe tener un estilo de bandeja de entrada o una notificación equivalente
-  que represente todo el contenido del grupo. Dado que los dispositivos con Android
-  Wear permiten a los usuarios ver todas las notificaciones secundarias incluso en
-  niveles anteriores de la plataforma, debes crear notificaciones secundarias independientemente del nivel de
-  API.
-</p>
-
-<h2 id="custom"> Vistas personalizadas</h2>
-<p>A partir de la versión Android N, puedes personalizar vistas de notificaciones y
-aún obtener decoraciones del sistema, como encabezados de notificaciones, acciones y diseños
-expandibles.</p>
-
-<p>Para habilitar esta característica, Android N suma las siguientes API para que puedas diseñar tu
-  vista personalizada:</p>
-
-<dl>
-<dt>
-{@code DecoratedCustomViewStyle()}</dt>
-<dd> Permite diseñar notificaciones que no sean notificaciones
-de medios.</dd>
-<dt>
-{@code DecoratedMediaCustomViewStyle()}</dt>
-<dd> Permite diseñar notificaciones de medios.</dd>
-</dl>
-
-<p>Para usar esta nueva API, llama al método {@code setStyle()} y pásale
-el estilo de la vista personalizada que hayas elegido.</p>
-
-<p>Este fragmento muestra cómo crear un objeto de notificación personalizada con el método
-{@code DecoratedCustomViewStyle()}.</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">Estilo de mensajería</h2>
-<p>
-  Android N presenta una nueva API para personalizar el estilo de una notificación.
-  Por medio de la clase <code>MessageStyle</code>, puedes modificar varias de las
- etiquetas que aparecen en la notificación, incluidos el título de la conversación,
- mensajes adicionales y la vista de contenido para la notificación.
-</p>
-
-<p>
-  El siguiente fragmento de código demuestra cómo personalizar el estilo
- de una notificación mediante la clase <code>MessageStyle</code>.
-</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"));
-</pre>
diff --git a/docs/html-intl/intl/es/preview/index.jd b/docs/html-intl/intl/es/preview/index.jd
deleted file mode 100644
index c931270..0000000
--- a/docs/html-intl/intl/es/preview/index.jd
+++ /dev/null
@@ -1,131 +0,0 @@
-page.title=Android N Developer Preview
-page.tags="preview","developer"
-meta.tags="preview", "android"
-fullpage=true
-forcelocalnav=true
-header.hide=1
-footer.hide=1
-@jd:body
-
-<script>
-  $(document).ready(function() {
-    if (useUpdatedTemplates) {
-      $("#useUpdatedTemplates").css("display","block");
-    } else {
-      $("#useOldTemplates").css("display","block");
-    }
-  })
-</script>
-
-<section class="dac-expand dac-hero dac-light" style="background-color:#B2DFDB">
-  <div class="wrap" style="max-width:1100px;margin-top:0">
-    <div class="cols dac-hero-content" style="padding-bottom:1em;">
-
-      <div class="col-7of16 col-push-9of16" style="padding-left:2em">
-        <h1 class="dac-hero-title">Android N Developer Preview</h1>
-        <p class="dac-hero-description">
-          ¡Prepárate para Android N!
-          <strong>Prueba tus aplicaciones</strong> en Nexus y en otros dispositivos. Admite comportamientos del sistema
- nuevo para <strong>ahorrar energía y memoria</strong>.
-          Amplía la funcionalidad de tus aplicaciones gracias a una <strong>IU con ventanas múltiples</strong>,
- <strong>notificaciones de respuestas directas</strong> y más.
-        </p>
-
-        <a class="dac-hero-cta" href="{@docRoot}preview/overview.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Comencemos
-        </a><!--<br>
-        <a class="dac-hero-cta" href="{@docRoot}preview/support.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Update to Android N (final SDK)
-        </a><br>-->
-      </div>
-      <div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
-        <img class="dac-hero-image" src="{@docRoot}images/home/n-preview-hero.png" srcset="{@docRoot}images/home/n-preview-hero.png 1x,
-             {@docRoot}images/home/n-preview-hero_2x.png 2x">
-      </div>
-    </div>
-    <div class="dac-section dac-small">
-      <div class="resource-widget resource-flow-layout col-16"
-           data-query="collection:preview/landing/resources"
-           data-cardSizes="6x2"
-           data-maxResults="6"></div>
-    </div>
-  </div>
-</section>
-
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
-  <div class="wrap dac-offset-parent">
-    <a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
-      <i class="dac-sprite dac-arrow-down-gray"></i>
-    </a>
-    <ul class="dac-actions">
-      <li class="dac-action">
-        <a class="dac-action-link" href="https://developer.android.com/preview/bug">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Informa un problema
-        </a>
-      </li>
-      <li class="dac-action">
-        <a class="dac-action-link" href="{@docRoot}preview/support.html">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Consulta las notas de la versión
-        </a>
-      </li>
-      <li class="dac-action">
-        <a class="dac-action-link" href="{@docRoot}preview/dev-community">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Únete a la comunidad de desarrolladores
-        </a>
-      </li>
-    </ul>
-  </div><!-- end .wrap -->
-</div><!-- end .dac-actions -->
-
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
-  <div class="wrap dac-offset-parent">
-
-    <div class="actions">
-      <div><a href="https://developer.android.com/preview/bug">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Informar un problema
-      </a></div>
-      <div><a href="{@docRoot}preview/support.html">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Consulta las notas de la versión
-      </a></div>
-      <div><a href="{@docRoot}preview/dev-community">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Únete a la comunidad de desarrolladores
-        </a></div>
-    </div><!-- end .actions -->
-  </div><!-- end .wrap -->
-</div>
-
-<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
-  <h2 class="norule">Lo último</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-    data-query="type:blog+tag:androidn+tag:featured, type:youtube+tag:androidn+tag:featured"
-    data-sortOrder="-timestamp"
-    data-cardSizes="6x6"
-    data-items-per-page="6"
-    data-maxResults="15"
-    data-initial-results="3"></div>
-</div></section>
-
-<section class="dac-section dac-gray"><div class="wrap">
-  <h1 class="dac-section-title">Recursos</h1>
-  <div class="dac-section-subtitle">
-    Información esencial para ayudarte a preparar tus aplicaciones para Android N.
-  </div>
-
-  <div class="resource-widget resource-flow-layout col-16"
-       data-query="collection:preview/landing/more"
-       data-cardSizes="6x6"
-       data-items-per-page="6"
-       data-maxResults="15"
-       data-initial-results="6"></div>
-
-  </div>
-</section>
-
diff --git a/docs/html-intl/intl/es/preview/license.jd b/docs/html-intl/intl/es/preview/license.jd
deleted file mode 100644
index 52643bc..0000000
--- a/docs/html-intl/intl/es/preview/license.jd
+++ /dev/null
@@ -1,145 +0,0 @@
-page.title=Contrato de licencia
-
-@jd:body
-
-<p>
-Para comenzar a usar la Android SDK Preview, debe aceptar los términos y las condiciones que se describen a continuación.
-Como se describe a continuación, tenga en cuenta que esta es una versión preliminar del Android SDK, que está sujeta a cambios y que usted utiliza bajo su cuenta y riesgo.  La Android SDK Preview no es una versión estable y puede contener errores y defectos que pueden provocar daños graves a sus sistemas informáticos, dispositivos y datos.
-</p>
-
-<p>
-Este es el Contrato de licencia de la versión Android SDK Preview (el “Contrato de licencia”).
-</p>
-<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
-1. Introducción
-
-1.1 Se le otorga la licencia de la versión Android SDK Preview (denominada “Preview” en el Contrato de licencia y que incluye específicamente los archivos de sistema de Android, las API agrupadas y los archivos de biblioteca de la Preview, si se encuentran disponibles), sujeto a los términos del Contrato de licencia. El Contrato de licencia establece una relación legal vinculante entre usted y Google en relación con el uso que realice de la Preview.
-
-1.2 “Android” hace referencia al conjunto de soluciones Android para dispositivos, según se encuentre disponible en el Proyecto de código abierto de Android (Android Open Source Project), que se encuentra en la siguiente URL: http://source.android.com/, y según se actualiza periódicamente.
-
-.1.3 “Compatible con Android” se refiere a cualquier implementación de Android que (i) cumpla con el documento Definición de compatibilidad de Android, disponible en el sitio web de compatibilidad de Android (http://source.android.com/compatibility) y que puede actualizarse esporádicamente; y (ii) apruebe satisfactoriamente la prueba de Compatibilidad con Android, "CTS” (en inglés, Android Compatibility Test Suite).
-
-1.4 “Google” hace referencia a Google Inc., una corporación de Delaware, con sede principal en 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
-
-2. Aceptación del Contrato de licencia
-
-2.1 Para poder utilizar la Preview, primero debe aceptar el Contrato de licencia. Si no acepta el Contrato de licencia, no podrá utilizar la Preview.
-
-2.2 Al hacer clic para aceptar o utilizar la Preview, por medio del presente, usted acepta los términos del Contrato de licencia.
-
-2.3 No puede utilizar la Preview ni aceptar el Contrato de licencia si tiene prohibido recibir la Preview en virtud de las leyes de los Estados Unidos o de otros países, lo que incluye el país donde es residente o desde el que utilizará la Preview.
-
-2.4 Si utilizará la Preview de forma interna, dentro de su empresa u organización, usted acepta quedar sujeto al Contrato de licencia en representación de su empleador u otra entidad, y expresa y garantiza que tiene plena autoridad legal para vincular a su empleador o a dicha entidad al Contrato de licencia. Si usted no posee la autoridad requerida, no podrá aceptar el Contrato de licencia ni utilizar la Preview en representación de su empleador u otra entidad.
-
-3. Licencia de la Preview de Google
-
-3.1 Conforme a los términos de este contrato de licencia, Google le otorga una licencia limitada, con validez mundial, libre de regalías, no asignable, no exclusiva y sin la posibilidad de otorgar una sublicencia, para utilizar la Preview con el único propósito de desarrollar aplicaciones para ejecutar en implementaciones compatibles de Android.
-
-3.2 No puede utilizar esta Preview para desarrollar aplicaciones para otras plataformas (entre las que se incluyen implementaciones incompatibles de Android) o para desarrollar otro SDK. Desde luego, usted tiene la libertad para desarrollar aplicaciones para otras plataformas, entre las que se incluyen implementaciones incompatibles de Android, siempre y cuando esta Preview no se utilice con ese propósito.
-
-3.3 Usted acepta que Google o terceros poseen todos los derechos legales, títulos e intereses en relación con la Preview, incluidos derechos de propiedad intelectual que existan en esta. "Derechos de propiedad intelectual" hace referencia a todos los derechos de la ley de patentes, la ley de derechos de autor, la ley de secreto comercial, la ley de marca comercial y cualquier otro derecho de propiedad. Google se reserva todos los derechos que no se le otorguen expresamente.
-
-3.4 Usted no podrá utilizar la Preview para ningún otro propósito que no esté expresamente permitido en el Contrato de licencia. Excepto en la medida que lo exijan las licencias correspondientes de terceros, no podrá: (a) copiar (excepto con fines de copia de seguridad), modificar, adaptar, redistribuir, descompilar, utilizar técnicas de ingeniería inversa, desarmar ni crear trabajos derivados de la Preview ni de ninguna de sus partes; ni (b) cargar ninguna parte de la Preview en un teléfono móvil ni en ningún otro dispositivo de hardware (a excepción de una computadora personal), ni podrá combinar ninguna parte de la Preview con otro software, ni distribuir algún software o dispositivo que incorpore alguna parte de la Preview.
-
-3.5 El uso, la reproducción y la distribución de los componentes de la Preview con licencia de software de código abierto están regidos exclusivamente por los términos de la licencia de ese software de código abierto y no de este Contrato de licencia. Usted acepta mantener la licencia en regla con respecto a dichas licencias de software de código abierto en virtud de todos los derechos otorgados y acepta abstenerte de realizar acción alguna que pudiera poner fin, suspender o violar dichos derechos.
-
-3.6 Acepta que la forma y la naturaleza de la Preview que proporciona Google pueden cambiar sin tener que brindarle aviso previo, y que las versiones futuras de la Preview pueden ser incompatibles con las aplicaciones desarrolladas en versiones anteriores de la Preview. Usted acepta que Google, generalmente a su entera discreción, puede dejar de proporcionarle a usted o a los demás usuarios (de forma permanente o temporal) la Preview (o cualquiera de sus funciones) sin previo aviso.
-
-3.7 Ninguna declaración de este Contrato de licencia le otorga el derecho de utilizar alguno de los nombres comerciales, las marcas comerciales, las marcas de servicio, los logotipos, los nombres de dominio ni otras características distintivas de marca de Google.
-
-3.8 Usted acepta que no quitará, ocultará o alterará ninguna de las notificaciones de derechos de autor (entre las que se incluyen las notificaciones de copyright y marcas comercias) que pudieran estar anexadas o implícitas en la Preview.
-
-4. Uso que usted realiza de la Preview
-
-4.1 Google acepta que ninguna declaración del Contrato de licencia le concede a Google derecho, título o interés alguno de su parte (o de parte de sus licenciantes), en virtud del Contrato de licencia, con respecto a las aplicaciones de software que usted desarrolle mediante el uso de la Preview, lo que incluye los derechos de propiedad intelectual que conlleven esas aplicaciones.
-
-4.2 Usted acepta utilizar la Preview y escribir aplicaciones únicamente conforme a lo que permite (a) este Contrato de licencia y (b) las leyes, regulaciones, o prácticas y pautas generalmente aceptadas y pertinentes en las jurisdicciones relevantes (entre las que se incluyen las leyes sobre la exportación de datos o software hacia los Estados Unidos u otros países relevantes y desde ellos).
-
-4.3 Usted acepta que si utiliza la Preview para desarrollar aplicaciones, protegerá la privacidad y los derechos legales de los usuarios. Si los usuarios le proporcionan sus nombres de usuario, contraseñas u otra información de inicio de sesión o información personal, debe comunicarles que la información se encontrará disponible para su aplicación, y debe proporcionarles a dichos usuarios un aviso de privacidad con protección y validez legal. Si su aplicación almacena información personal o confidencial proporcionada por los usuarios, lo debe hacer de forma segura. Si los usuarios le proporcionan información sobre la cuenta de Google, su aplicación solo puede usar esa información para acceder a la cuenta de Google del usuario siempre que este le haya otorgado permiso para hacerlo y con los fines para los que se lo haya otorgado.
-
-4.4 Usted acepta que no participará en ninguna actividad con la Versión preliminar (lo que incluye el desarrollo o la distribución de una aplicación) que interfiera, interrumpa, dañe o acceda sin autorización a servidores, redes u otras propiedades o servicios de Google o de algún tercero.
-
-4.5 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de los datos, el contenido o los recursos que usted cree, transmita o muestre a través de Android o las aplicaciones para Android, y de las consecuencias de sus acciones (lo que incluye la pérdida o el daño que Google pudiera sufrir) al hacerlo.
-
-4.6 Usted acepta que es el único responsable (y que Google no asume responsabilidades hacia usted ni terceros) de cualquier incumplimiento de sus obligaciones en virtud de este Contrato de licencia, los contratos aplicables de terceros o los términos del servicio, o cualquier ley o regulación pertinentes, y de las consecuencias (lo que incluye las pérdidas o los daños que pudieran sufrir Google o algún tercero) de dichos incumplimientos.
-
-4.7 La Versión preliminar se encuentra en desarrollo, y sus pruebas y comentarios son una parte importante del proceso de desarrollo. Al utilizar la Preview, usted reconoce que la implementación de algunas características aún se encuentra en desarrollo y que no debe confiar en que la Preview contará con todas las funcionalidades de una versión estable. Usted acepta no distribuir públicamente ni enviar ninguna aplicación que utilice esta Preview, dado que esta Preview ya no se admitirá tras el lanzamiento del Android SDK oficial.
-
-5. Sus credenciales de desarrollador
-
-5.1 Usted acepta que es responsable de mantener la confidencialidad de toda credencial de desarrollador que Google pudiera otorgarle o que pudiera escoger usted mismo, y que será el único responsable de todas las aplicaciones que se desarrollen con sus credenciales de desarrollador.
-
-6. Privacidad e información
-
-6.1 Con el objetivo de poder innovar y mejorar de forma continua la Preview, Google podría recopilar ciertas estadísticas de uso del software, entre las que se incluyen, de forma enunciativa, un identificador único, la dirección IP asociada, el número de versión del software e información sobre las herramientas o los servicios de la Preview que se estén utilizando y la manera en que se estén utilizando. Antes de que se recopile esta información, la Preview se lo notificará y le solicitará su permiso. Si no otorga su permiso, no se recopilará la información.
-
-6.2 Los datos recopilados se analizan en el agregado para mejorar la Preview y se conservan de acuerdo con la política de privacidad de Google, que se encuentra en el sitio http://www.google.com/policies/privacy/.
-
-7. Aplicaciones de terceros
-
-7.1 Si utiliza la Preview para ejecutar aplicaciones desarrolladas por un tercero o que accedan a datos, contenido o recursos proporcionados por un tercero, usted acepta que Google no es responsable de esas aplicaciones, datos, contenido ni recursos. Usted comprende que todos los datos, contenidos o recursos a los que podría acceder a través de esas aplicaciones de terceros son exclusiva responsabilidad de la persona que los origina y que Google no es responsable de las pérdidas ni los daños que usted pudiera experimentar como consecuencia del uso o acceso de cualquiera de esas aplicaciones, datos, contenido o recursos de terceros.
-
-7.2 Usted debe saber que los datos, el contenido y los recursos que se le presentan a través de esa aplicación de un tercero pueden estar protegidos por derechos de propiedad intelectual que les pertenecen a sus proveedores (o a otras personas o compañías en representación de estos). No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas basadas en esos datos, contenidos o recursos (en su totalidad o en parte), a menos que los propietarios pertinentes le hayan otorgado el permiso específico para hacerlo.
-
-7.3 Usted acepta que el uso que haga de las aplicaciones, los datos, el contenido o los recursos de ese tercero puede estar sujeto a términos independientes entre usted y el tercero correspondiente.
-
-8. Uso de las API de Google
-
-8.1 API de Google
-
-8.1.1 Si utiliza alguna API para recuperar datos de Google, usted acepta que los datos pueden estar protegidos por derechos de propiedad intelectual que le pertenecen a Google o a las partes que proporcionan esos datos (o a otras personas o empresas en representación de estos). El uso que realice de cualquiera de esas API puede estar sujeto a términos de servicio adicionales. No puede modificar, alquilar, arrendar, prestar, vender, distribuir ni crear obras derivadas con base en esos datos (en su totalidad o en parte), a menos que los términos de servicio correspondientes lo permitan.
-
-8.1.2 Si utiliza cualquier API para recuperar datos de un usuario de Google, usted acepta y acuerda que solo podrá recuperar datos con el consentimiento explícito del usuario y solo cuando, y para los fines limitados para los que, el usuario le haya otorgado permiso para hacerlo.
-
-9. Finalización del Contrato de licencia
-
-9.1 Este Contrato de licencia tendrá vigencia hasta que lo revoquen usted o Google, como se indica a continuación.
-
-9.2 Si desea rescindir el Contrato de licencia, puede hacerlo al interrumpir el uso que realiza de la Preview y de las credenciales de desarrollador pertinentes.
-
-9.3 Google puede, en cualquier momento, rescindir el Contrato de licencia, con causa o sin ella, luego de notificárselo.
-
-9.4 El Contrato de licencia finalizará automáticamente, sin previo aviso ni acción alguna, tras la primera de las siguientes situaciones:
-(A) cuando Google deje de proporcionar la Preview o ciertas partes de esta a los usuarios en el país donde usted reside o desde el que utiliza el servicio; y
-(B) cuando Google emita una versión final del Android SDK.
-
-9.5 Si el Contrato de licencia se rescinde, se revocará la licencia que usted recibió en virtud de dicho contrato; usted deberá suspender inmediatamente todo uso de la Preview, y las disposiciones de los párrafos 10, 11, 12 y 14 seguirán vigentes indefinidamente.
-
-10. EXENCIONES DE RESPONSABILIDAD
-
-10.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE EL USO QUE REALICE DE LA PREVIEW ES BAJO SU PROPIO RIESGO Y QUE LA PREVIEW SE PROPORCIONA “EN LAS CONDICIONES EN LAS QUE SE ENCUENTRA” Y “SUJETA A DISPONIBILIDAD” SIN GARANTÍAS DE NINGÚN TIPO POR PARTE DE GOOGLE.
-
-10.2 EL USO QUE USTED REALICE DE LA PREVIEW Y DE TODO MATERIAL DESCARGADO U OBTENIDO DE ALGUNA OTRA MANERA MEDIANTE EL USO DE LA PREVIEW ES A SU ENTERO RIESGO Y DISCRECIÓN, Y USTED ES EL ÚNICO RESPONSABLE DE CUALQUIER DAÑO QUE PUDIERA SUFRIR SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO, O DE LA PÉRDIDA DE DATOS COMO CONSECUENCIA DE DICHO USO. SIN PERJUICIO DE LO MENCIONADO ANTERIORMENTE, USTED COMPRENDE QUE LA VERSIÓN PRELIMINAR NO ES UNA VERSIÓN ESTABLE, Y PUEDE CONTENER ERRORES, DEFECTOS Y VULNERABILIDADES DE SEGURIDAD QUE PUEDEN PROVOCAR DAÑOS SIGNIFICATIVOS, LO QUE INCLUYE LA PÉRDIDA COMPLETA E IRRECUPERABLE DEL USO DE SU SISTEMA INFORMÁTICO U OTRO DISPOSITIVO.
-
-10.3 GOOGLE TAMBIÉN RECHAZA TODAS LAS GARANTÍAS Y CONDICIONES DE CUALQUIER TIPO, EXPRESAS O IMPLÍCITAS, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS Y CONDICIONES DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO VIOLACIÓN.
-
-11. LIMITACIÓN DE RESPONSABILIDADES
-
-11.1 USTED COMPRENDE Y ACEPTA EXPRESAMENTE QUE GOOGLE, SUS SUBSIDIARIAS Y FILIALES, Y SUS LICENCIANTES NO SERÁN RESPONSABLES ANTE USTED, EN VIRTUD DE NINGUNA TEORÍA DE RESPONSABILIDAD, POR NINGÚN DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, RESULTANTE NI PUNITIVO EN EL QUE PODRÍA HABER INCURRIDO, LO QUE INCLUYE LA PÉRDIDA DE DATOS, YA SEA QUE SE LE HAYA NOTIFICADO O NO A GOOGLE O A SUS REPRESENTANTES, O SOBRE CUYA POSIBILIDAD ESTOS DEBERÍAN HABER SABIDO.
-
-12. Indemnización
-
-12.1 Hasta el grado máximo que permita la ley, usted acepta defender, indemnizar y eximir de responsabilidades a Google, sus filiales y sus respectivos directores, funcionarios, empleados y agentes, de todo tipo de reclamo, acción legal y proceso judicial, así como de las pérdidas, responsabilidades, daños, costos y gastos (incluidos los honorarios razonables de abogados) que surjan o se acumulen (a) del uso que usted realiza de la Versión preliminar, (b) de cualquier aplicación que desarrolle en la Versión preliminar que infrinja algún derecho de propiedad intelectual de cualquier persona, o que difame a cualquier persona o viole sus derechos de publicidad o privacidad, y (c) del incumplimiento por su parte del Contrato de licencia.
-
-13. Cambios en el Contrato de licencia
-
-13.1 Google puede realizar cambios en el Contrato de licencia a medida que distribuye nuevas versiones de la Versión preliminar. Cuando se realicen esos cambios, Google emitirá una nueva versión del Contrato de licencia, que estará disponible en el sitio web donde se ponga a la venta la Versión preliminar.
-
-14. Términos legales generales
-
-14.1 El Contrato de licencia constituye el contrato legal integral entre usted y Google, y rige el uso que usted realice de la Versión preliminar (a excepción de los servicios que Google pueda proporcionarle en virtud de un contrato por escrito independiente), y reemplaza totalmente cualquier contrato anterior entre usted y Google en relación con la Versión preliminar.
-
-14.2 Usted acepta que, si Google no ejerce ni impone un derecho o recurso legal especificados en el Contrato de licencia (o sobre el que Google tenga beneficios conforme a cualquier ley aplicable), esto no se considerará una renuncia formal a los derechos por parte de Google y Google aún seguirá recibiendo los beneficios de esos derechos o recursos legales.
-
-14.3 Si algún tribunal judicial con jurisdicción para decidir sobre este asunto determina que alguna de las disposiciones de este Contrato de licencia no es válida, se eliminará esa disposición del Contrato de licencia sin que eso afecte la validez del resto del contrato. Las disposiciones restantes del Contrato de licencia continuarán siendo válidas y aplicables.
-
-14.4 Usted reconoce y acepta que cada miembro del grupo de compañías de las que Google es la compañía central serán terceros beneficiarios del Contrato de licencia, y que esas otras empresas tendrán el derecho de imponer directamente cualquier disposición y ampararse en las disposiciones de este Contrato de licencia que les confieran un beneficio (o que confieran derechos a su favor). Además de esto, ninguna otra persona o compañía serán terceros beneficiarios del Contrato de licencia.
-
-14.5 RESTRICCIONES DE EXPORTACIÓN. LA VERSIÓN PRELIMINAR ESTÁ SUJETA A LAS LEYES Y REGULACIONES DE EXPORTACIÓN DE LOS ESTADOS UNIDOS. DEBE CUMPLIR CON TODAS LAS LEYES Y REGULACIONES DE EXPORTACIÓN NACIONALES E INTERNACIONALES QUE SE APLIQUEN A LA VERSIÓN PRELIMINAR. ESTAS LEYES INCLUYEN RESTRICCIONES EN RELACIÓN CON LOS DESTINOS, USUARIOS FINALES Y USO FINAL.
-
-14.6 Usted no puede asignar ni transferir el Contrato de licencia sin la aprobación previa por escrito de Google y todo intento de asignación sin dicha aprobación no tendrá validez. No podrá delegar sus responsabilidades u obligaciones otorgadas en virtud del Contrato de licencia sin la aprobación previa por escrito de Google.
-
-14.7 El Contrato de licencia y su relación con Google conforme al Contrato de licencia se regirán por las leyes del estado de California, independientemente de los principios de conflictos entre leyes. Usted y Google aceptan presentarse ante la jurisdicción exclusiva de los tribunales del condado de Santa Clara, California, para resolver cualquier asunto legal que pudiera surgir del Contrato de licencia. Sin perjuicio de esto, usted acepta que Google aún podrá aplicar reparaciones conforme a mandato judicial (o a un tipo equivalente de desagravio legal) en cualquier jurisdicción.
-
-
-</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/es/preview/overview.jd b/docs/html-intl/intl/es/preview/overview.jd
deleted file mode 100644
index dc42175..0000000
--- a/docs/html-intl/intl/es/preview/overview.jd
+++ /dev/null
@@ -1,440 +0,0 @@
-page.title=Información general del programa
-page.metaDescription=Prepara tus aplicaciones para la próxima versión de Android.
-page.image=images/cards/card-n-overview_2x.png
-meta.tags="preview", "developer", "android"
-page.tags="preview", "developer", "android"
-
-@jd:body
-<!--
-<div class="cols" style=
-"background-color:#f2daf5; padding: 5px 0;margin-bottom:1em; text-align:center;">
-<h3>
-    Developer Preview 3 is now available
-  </h3>
-  <p>Includes final SDK and near-final system images</p>
-   <div style="margin:auto 1em">
- <ul class="dac-section-links">
-    <li class="dac-section-link">
-      <a href="{@docRoot}preview/support.html#preview3-notes">
-      <span class="dac-sprite dac-auto-chevron"></span>
-      Read the Notes</a>
-    </li>
-
-    <li class="dac-section-link">
-      <a href="{@docRoot}preview/support.html#preview3-get">
-      <span class="dac-sprite dac-auto-chevron"></span>
-      Get the Update</a>
-    </li>
-
-    <li class="dac-section-link">
-      <a href="https://code.google.com/p/android-developer-preview/">
-      <span class="dac-sprite dac-auto-chevron"></span>
-      Report Issues</a>
-    </li>
-  </ul>
-  </div>
-</div>
--->
-
-<p>
-  Bienvenido a <strong>Android N Developer Preview</strong>, un programa en el que
-  se ofrece todo lo que necesitas a fin de probar y optimizar tus aplicaciones para la próxima
-  versión de Android. Es gratis, y puedes comenzar
-  descargando las herramientas de la N Developer Preview.
-</p>
-
-
-
-
-
-
-
-<div style="background-color:#eceff1;padding:1em;">
-<div class="wrap">
-  <div class="cols">
-    <div class="col-4of12">
-      <h5>
-        Imágenes de hardware y emuladores
-      </h5>
-
-      <p>
-        Ejecuta y prueba tus aplicaciones en varios dispositivos o en un emulador.
-
-      </p>
-    </div>
-
-    <div class="col-4of12">
-      <h5>
-        El código de plataforma más reciente
-      </h5>
-
-      <p>
-        Durante el programa de muestra, ofreceremos varias actualizaciones mensuales. De esta manera, realizarás la prueba con los últimos cambios de la plataforma.
-      </p>
-    </div>
-
-    <div class="col-4of12">
-      <h5>
-        Prioridad para problemas de desarrolladores
-      </h5>
-
-      <p>
-        Durante las primeras semanas, daremos prioridad a los problemas informados por los desarrolladores;
-        por lo tanto, debes realizar las pruebas y enviar tus comentarios lo antes posible.
-      </p>
-    </div>
-
-  </div>
-
-  <div class="cols">
-
-
-    <div class="col-4of12">
-      <h5>
-        Capacidades y comportamientos nuevos
-      </h5>
-
-      <p>
-        Comienza a trabajar temprano para admitir los comportamientos de la nueva plataforma y realizar desarrollos con nuevas funciones.
-      </p>
-    </div>
-
-    <div class="col-4of12">
-        <h5>
-        Actualizaciones inalámbricas
-      </h5>
-
-      <p>
-        Actualizaciones inalámbricas sin inconvenientes para dispositivos admitidos a través
-      del Programa de Android Beta. No se requieren actualizaciones.
-      </p>
-    </div>
-
-    <div class="col-4of12">
-      <h5>
-        Comentarios y soporte
-      </h5>
-
-      <p>
-        Infórmanos los problemas y envíanos comentarios a través de nuestro
-      <a href="{@docRoot}preview/bug">seguimiento de problemas</a>. Conéctate con otros
-        desarrolladores en la
-        <a href="{@docRoot}preview/dev-community">comunidad&nbsp;de desarrolladores de Android N</a>.
-      </p>
-    </div>
-  </div>
-</div>
-</div>
-
-<!--
-<p>New in the Android N Developer Preview: </p>
-
-<ul>
-  <li> Accompanying Android Beta Program for consumers, starting later in the preview</li>
-  <li> More supported devices, including devices from OEM partners</li>
-  <li> Seamless OTAs for your devices, from initial release to final N release without flashing</li>
-</ul>
--->
-
-<h2 id="timeline">Escala de tiempo y actualizaciones</h2>
-<img src="{@docRoot}images/n-preview-updates_2x.png">
-
-<p>
-  La N Developer Preview rige desde el 9 de marzo de 2016 hasta el lanzamiento público
-  de Android N para AOSP y OEM, previsto para el tercer trimestre de 2016.
-</p>
-
-<p>
-  En las versiones "milestone" del desarrollo, lanzaremos actualizaciones para tu entorno de pruebas y desarrollo.
- En general, podrás contar con una actualización por mes (intervalo de 4 a 6
-   semanas). A continuación, se muestran las versiones "milestone":
-</p>
-
-<ul>
-  <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (versión inicial, alpha);</li>
-  <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (actualización gradual, alpha);</li>
-  <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong> (actualización gradual, beta);</li>
-  <li><strong>Preview 4</strong> (API finales y SDK oficial, publicación en Google Play);</li>
-  <li><strong>Preview 5</strong> (imágenes de sistema casi definitivas para pruebas finales);</li>
-  <li><strong>Lanzamiento de la versión final</strong> para AOSP y el ecosistema.</li>
-</ul>
-
-<p>
-  En cada actualización se incluyen herramientas de SDK, imágenes de sistema de Preview, emuladores, documentación de referencia y diferencias de API.
-
-</p>
-
-<p>
-  En las primeras <strong>tres versiones "milestone" de Preview</strong>, se proporciona un <strong>entorno
-  de prueba y desarrollo tempranos</strong> que te permitirá identificar
-  problemas de compatibilidad en tus aplicaciones actuales y planificar tareas relacionadas con la migración o las funciones que se necesitan
-  para orientar la nueva plataforma. Este será el período de prioridad
-  en el cual nos enviarás tus comentarios sobre funciones y problemas de compatibilidad de API y archivos;
-  para hacerlo, usa el <a href="{@docRoot}preview/bug">sistema se seguimiento
-  de problemas.</a> Podrás contar con cambios en las API en estas actualizaciones.
-</p>
-
-<p>
-  En <strong>Preview 4 y 5</strong>, tendrás acceso a las <strong>API y al SDK finales
-  de Android N</strong> para tareas de desarrollo, y también a imágenes de sistema casi definitivas
-  para poner a prueba comportamientos y funciones del sistema. Durante este período, Android N ofrecerá un nivel
-  de API estándar. Puedes iniciar la prueba de compatibilidad de tus aplicaciones
-  heredadas y optimizar el código nuevo en el que se usen las API o funciones de Android N.
-</p>
-
-<p>
-  A su vez, a partir de Preview 4, podrás <strong>publicar aplicaciones en
-  dispositivos</strong> con Android N cuyo nivel de API sea el oficial (por ejemplo, dispositivos de
-  consumidores inscritos en el Programa de Android Beta). Puedes
-  realizar primero publicaciones en los canales alpha y beta de Google Play, para probar
-  tus aplicaciones con consumidores de Android Beta antes de proceder con la distribución a gran escala en la
-  tienda.
-</p>
-
-<p>
-  A medida que pruebas y desarrollas en Android N, te recomendamos que <strong>mantengas
-  tu entorno de desarrollo actualizado</strong> conforme se lanzan
-  las actualizaciones de Preview. Para facilitar el proceso, puedes registrar tus dispositivos de prueba en el
-  Programa de Android Beta y obtener <strong>actualizaciones inalámbricas</strong> en cada
-  versión "milestone". Como alternativa, habrá imágenes de Preview actualizadas disponibles que puedes
-  descargar y actualizar de manera manual.
-</p>
-
-<p>
-  Cuando haya actualizaciones de Preview disponibles, te informaremos a través del <a href="http://android-developers.blogspot.com/">blog para desarrolladores de Android</a>, de este sitio y
-  de la <a href="{@docRoot}preview/dev-community">Comunidad de desarrolladores de
-  Android N</a>.
-</p>
-
-
-<h2 id="preview_tools">¿Qué es la N Developer Preview?</h2>
-
-<p>
-  En la N Developer Preview se incluye todo lo que necesitas para probar tus aplicaciones
-  existentes con diferentes tamaños de pantalla, tecnologías de red, chipsets de CPU y GPU,
-  y arquitecturas de hardware.
-</p>
-
-<h3 id="sdk_tools">Herramientas del SDK</h3>
-
-<p>Puedes descargar todos estos componentes a través de SDK Manager en <a href="{@docRoot}studio/intro/update.html">Android Studio</a>:</p>
-
-<ul>
-  <li> <strong>SDK y herramientas</strong> de la N Developer Preview;
-  <li> <strong>imagen del sistema para el emulador</strong>de la N Developer Preview (32 y 64 bits);
-  <li> <strong>imagen del sistema para el emulador para Android TV</strong> (32 bits) de la N Developer Preview;
-  <li> bibliotecas de compatibilidad de la N Developer Preview (para nuevas plantillas de aplicaciones).
-</ul>
-
-<p>
-  Ofreceremos actualizaciones para estas herramientas de desarrollo en cada momento clave (versión "milestone") según sea necesario.
-</p>
-
-<h3 id="hardware_system_images">Imágenes de sistema de hardware</h3>
-
-<p>
-  En la N Developer Preview se incluyen, entre otras, imágenes de sistema del hardware de Nexus que puedes usar al
-  realizar pruebas y desarrollos en dispositivos físicos. Consulta la sección de <a href="{@docRoot}preview/download.html">imágenes de sistema</a> para encontrar la lista
-  completa de imágenes de hardware.
-</p>
-
-<p>
-  Ofreceremos imágenes de sistema actualizadas para estos dispositivos en cada versión "milestone". Puedes
-  descargar y actualizar manualmente las imágenes de sistema renovadas en tus dispositivos
-  de prueba con la frecuencia que desees. Esto resulta particularmente útil para entornos de prueba
-  automatizados en los cuales probablemente debas volver a actualizar tu dispositivo varias
-  veces.
-</p>
-
-<p class="note"><strong>Nota</strong>:
-  <strong>Los dispositivos actualizados de manera manual no recibirán actualizaciones inalámbricas</strong>, como en
-  la Preview del año pasado. Este año, podrás recibir actualizaciones inalámbricas registrando dispositivos en el
-  Programa de Android Beta. Consulta la sección siguiente para obtener información detallada.
-</p>
-
-<h3 id="android_beta">Actualizaciones inalámbricas a través del Programa de Android Beta</h3>
-
-<p>
-  Como novedad en Android N, se ofrece un programa de actualización inalámbrica que
-  proporciona las últimas actualizaciones de Android N directamente para dispositivos registrados
-  en él. Es gratuito y está pensado para quienes tengan
-  dispositivos compatibles registrados en sus cuentas de Google.
-</p>
-
-<p>
-  Para el registro, visita el sitio del <a href="https://g.co/androidbeta">Programa de Android
-  Beta</a>. En él,
-  verás todos los dispositivos registrados en tu cuenta que cumplen con los requisitos para registrarse
-  en el programa.
-</p>
-
-<ol>
-  <li> Selecciona los dispositivos para los que deseas recibir actualizaciones de Android N
-  <li> Haz clic en Registrar, lee y acepta las condiciones de servicio y luego haz clic en Aceptar
-</ol>
-
-<p>
-  Una vez que realices el registro, tu dispositivo recibirá pronto una actualización. En la mayoría de los casos,
-  no necesitarás restablecer por completo tus datos para la migración a Android N, pero
-  te recomendamos crear una copia de seguridad de los datos que no desees perder antes de
-  registrar el dispositivo.
-</p>
-
-<p>
-  A medida que tu dispositivo reciba actualizaciones, te recomendamos descargarlas e
-  instalarlas lo más pronto posible. Te convendrá mantenerte actualizado respecto de las
-  últimas modificaciones en la IU, el comportamiento, las API y las funciones del sistema.
-</p>
-
-<p>
-  Al finalizar la Developer Preview, tus dispositivos registrados
-  recibirán una actualización a la versión oficial de Android N.
-</p>
-
-<p>
-  Puedes dar de baja tus dispositivos del Programa de Android Beta en cualquier momento desde
-  el sitio de Android Beta. Antes de hacerlo, no te olvides de realizar una copia de respaldo de los datos
-  de tu dispositivo.
-</p>
-
-  <p class="note"><strong>Nota</strong>:
-  Cuando des de baja tu dispositivo, <strong>
-  se someterá a un restablecimiento de fábrica</strong> a través del que se cargará la última versión de
-  Android 6.0 Marshmallow (no necesariamente la versión
-  instalada antes del registro). Para garantizar que la instalación sea nueva, se borrarán
-  tus datos del dispositivo; entre otros, los contactos,
-  los mensajes y las fotos.
-</p>
-
-<h3 id="documentation_and_sample_code">Documentación y ejemplo de código</h3>
-
-<p>
-  Los siguientes recursos de documentación se encuentran disponibles en el sitio de Developer Preview y con ellos
-  podrás obtener información sobre Android&nbsp;N:
-</p>
-
-<ul>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Preparación para el desarrollo con
- Android N</a>: contiene
-  instrucciones paso a paso para comenzar.</li>
-  <li> En <a href="{@docRoot}preview/behavior-changes.html">Cambios en los
-  comportamientos</a> se indican áreas clave que debes probar.</li>
-  <li> Documentación de nuevas API, entre la que se incluye <a href="{@docRoot}preview/api-overview.html">Información general de API</a>, una <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia
-  de API</a> descargable
-  y guías exhaustivas para desarrolladores que muestran, por ejemplo, soporte
-  de múltiples ventanas, notificaciones integradas, soporte de múltiples configuraciones regionales y mucho más.
-  <li> <a href="{@docRoot}preview/samples.html">Ejemplo de código</a>, en el que se
-  demuestra la manera de admitir permisos y otras funciones nuevas.
-  <li> <a href="{@docRoot}preview/support.html#release-notes">Notas de la versión</a>
- sobre la versión actual de la N Developer Preview. Se incluyen notas sobre los cambios e informes
-  de diferencias.
-</ul>
-
-<h4 id="reference">Referencia de la API descargable</h4>
-
-<p>
-  Durante las actualizaciones de Preview, puedes descargar la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API más reciente
-  para la plataforma de Android N</a> en forma de
-  archivo .zip independiente. En esta descarga
-  también se incluye un informe de diferencias que te permite identificar cambios en la API en comparación con la
-  API 23 y la actualización anterior.
-</p>
-
-<p>
-  Cuando las API de Android N sean definitivas y se asigne el nivel de API oficial,
-  te proporcionaremos la referencia de la API en línea en <a href="https://developer.android.com">https://developer.android.com</a>.
-</p>
-
-<h3 id="support_resources">
-  Recursos de soporte
-</h3>
-
-<p>
-  A medida que realices pruebas y desarrollos con la N Developer Preview, recurre a los siguientes canales
-  para informar problemas y enviar comentarios.
-</p>
-
-<ul>
-  <li> <a href="https://code.google.com/p/android-developer-preview/">El sistema de seguimiento de problemas
-    de la N Developer Preview</a> es el canal <strong>principal para comentarios.</strong> A través de él, puedes informar errores y
-    problemas de rendimiento, y enviar comentarios generales. También puedes buscar
-<a href="{@docRoot}preview/bugs">problemas conocidos</a> y
-    encontrar pasos para solucionarlos. Te mantendremos informado sobre tu problema durante el proceso de evaluación y
-    derivación al equipo de ingeniería de Android para su resolución. </li>
-  <li> La <a href="{@docRoot}preview/dev-community">comunidad de desarrolladores de Android N</a> es
-    una comunidad de Google+ en la que puedes <strong>conectarte con otros desarrolladores</strong> que trabajen con
-    Android N. Puedes compartir observaciones o ideas, o encontrar respuestas a
-    preguntas acerca de Android N. Moderaremos la comunidad y proporcionaremos respuestas y
-    orientación según sea necesario.</li>
-</ul>
-
-<h3 id="targeting">Orientación, API de la Preview y publicación</h3>
-
-<p>
-  En la N Developer Preview se proporciona un sistema exclusivo para desarrollo y una
-  biblioteca de Android <strong>cuyo nivel de API no es estándar</strong>. Si deseas
-  no incluir comportamientos de compatibilidad para probar tu aplicación (un proceso muy
-  recomendado), puedes orientar la versión Android N Preview fijando el valor
-  de <code><a href=
-  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> de tu aplicación
-  en <code>“N”</code>.
-</p>
-
-<p>
-  Android N Developer Preview ofrece las <strong>API de Preview</strong>
-  , que no serán oficiales hasta el lanzamiento de la versión definitiva de SDK,
-  actualmente previsto para el tercer trimestre de 2016. Esto significa que podrás
-  <strong>contar con cambios menores en las API</strong> conforme pase el tiempo, en especial durante
-  las primeras semanas del programa. Te proporcionaremos un resumen de cambios con
-  cada actualización de Android N Developer Preview.
-</p>
-
-<p class="note">
-  <strong>Nota</strong>: Aunque las API de Preview pueden modificarse, los comportamientos del sistema
-  subyacente permanecen estables y disponibles para cualquier prueba
-  inmediata.
-</p>
-
-<p>
-  Google Play <strong>evita la publicación de aplicaciones orientadas a la N Developer
-  Preview</strong>. Cuando esté disponible el SDK definitivo de Android N, podrás
-  apuntar hacia el nivel de API oficial de Android N y publicar tu aplicación en Google
-  Play a través de los canales para versiones alpha y beta. Mientras tanto, si deseas
-  distribuir una aplicación orientada a Android N para testers, puedes hacerlo por correo electrónico o
-  mediante descarga directa desde tu sitio.
-</p>
-
-<p>
-  Cuando se lance la versión completa de Android N para AOSP y OEM, evento previsto para el tercer trimestre de 2016,
-  podrás publicar tus aplicaciones orientadas a Android N en el canal de lanzamientos
-  públicos de Google Play.
-</p>
-
-
-<h2 id="how_to_get_started">Comenzar</h2>
-
-<p>
-  Para comenzar a probar tu aplicación con Android N:
-</p>
-
-<ol>
-  <li> Revisa las secciones <a href="{@docRoot}preview/api-overview.html">Información general de la API</a>
-  y <a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a> para
-  conocer las novedades y el efecto que tienen en tus aplicaciones. En particular,
-  procura obtener información sobre las nuevas funciones de <a href="{@docRoot}preview/features/notification-updates.html">notificaciones</a> y
-  la <a href="{@docRoot}preview/features/multi-window.html">compatibilidad con ventanas múltiples</a>.</li>
-  <li> Configura tu entorno siguiendo las instrucciones para <a href="{@docRoot}preview/setup-sdk.html">configurar el SDK Preview</a>
-  y los dispositivos de prueba.</li>
-  <li> Sigue las <a href="https://developers.google.com/android/nexus/images">instrucciones de
-  actualización</a> a fin de usar la última imagen de sistema de Android N para tu dispositivo. </li>
-  <li> Revisa la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API</a>
-  y los <a href="{@docRoot}preview/samples.html">Ejemplos de Android N</a> para obtener más
-  información sobre las nuevas funciones de la API y la manera de usarlas en tu aplicación.
-  <li> Únete a la <a href="{@docRoot}preview/dev-community">comunidad de
-  desarrolladores de Android N</a> para recibir las últimas noticias y para contactarte con otros
-  desarrolladores que estén trabajando con la nueva plataforma.</li>
-</ol>
-
-<p>
-  ¡Te agradecemos por participar de la Android N Developer Preview!
-</p>
diff --git a/docs/html-intl/intl/es/preview/preview_toc.cs b/docs/html-intl/intl/es/preview/preview_toc.cs
deleted file mode 100644
index 6c98c2f..0000000
--- a/docs/html-intl/intl/es/preview/preview_toc.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-<ul id="nav">
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/overview.html" es-lang="Información general del programa" in-lang="Ikhtisar Program" ja-lang="プログラム概要" ko-lang="프로그램 개요" pt-br-lang="Visão geral do programa" ru-lang="Обзор программы" vi-lang="Tổng quan về Chương trình" zh-cn-lang="计划概览" zh-tw-lang="程式總覽">Información general del programa</a></div>
-  </li>
-
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html">Compatibilidad y notas de la versión</a></div>
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/setup-sdk.html" es-lang="Configurar el SDK de la versión preliminar" in-lang="Menyiapkan Preview" ja-lang="Preview SDK のセットアップ" ko-lang="미리 보기 SDK 설정하기" pt-br-lang="Configuração do Preview SDK" ru-lang="Настройка пакета SDK Preview" vi-lang="Kiểm thử trên Thiết bị" zh-cn-lang="设置预览版 SDK" zh-tw-lang="設定預覽版 SDK">Configuración de Preview</a></div>
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/download.html" es-lang="Pruebe en un dispositivo" in-lang="Menguji pada Perangkat" ja-lang="デバイス上でテストする" ko-lang="기기에서 테스트" pt-br-lang="Testar em um dispositivo" ru-lang="Тестирование на устройстве" vi-lang="Kiểm thử trên Thiết bị" zh-cn-lang="在设备上测试" zh-tw-lang="在裝置上測試">Prueba en un dispositivo</a></div>
-  </li>
-
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="&lt;?cs var:toroot ?&gt;preview/behavior-changes.html" es-lang="Cambios en los comportamientos" in-lang="Perubahan Perilaku" ja-lang="動作の変更点" ko-lang="동작 변경" pt-br-lang="Mudanças de comportamento" ru-lang="Изменения в работе" vi-lang="Các thay đổi Hành vi" zh-cn-lang="行为变更" zh-tw-lang="行為變更">Cambios en los comportamientos</a></div>
-      <ul>
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/background-optimization.html" es-lang="Optimizaciones en segundo plano" in-lang="Optimisasi Latar Belakang" ja-lang="バックグラウンド処理の最適化" ko-lang="백그라운드 최적화" pt-br-lang="Otimizações em segundo plano" ru-lang="Оптимизация фоновых процессов" vi-lang="Tối ưu hóa Chạy ngầm" zh-cn-lang="后台优化" zh-tw-lang="背景最佳化">Optimizaciones en segundo plano</a></li>
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/multilingual-support.html" es-lang="Idioma y configuración regional" in-lang="Bahasa dan Lokal" ja-lang="言語とロケール" ko-lang="언어 및 로케일" pt-br-lang="Idioma e localidade" ru-lang="Язык и языковой стандарт" vi-lang="Ngôn ngữ và Bản địa" zh-cn-lang="语言和区域设置" zh-tw-lang="語言和地區設定">Idioma y configuración regional</a></li>
-      </ul>
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="&lt;?cs var:toroot ?&gt;preview/api-overview.html" es-lang="Información general de la API" in-lang="Android N untuk Pengembang" ja-lang="API の概要" ko-lang="API 개요" pt-br-lang="Visão geral da API" ru-lang="Обзор API-интерфейсов" vi-lang="Android N cho Nhà phát triển" zh-cn-lang="API 概览" zh-tw-lang="API 總覽">Android N for Developers </a></div>
-      <ul>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/multi-window.html" es-lang="Compatibilidad con ventanas múltiples" in-lang="Dukungan Multi-Jendela" ja-lang="マルチ ウィンドウのサポート" ko-lang="다중 창 지원" pt-br-lang="Suporte a várias janelas" ru-lang="Поддержка многооконного режима" vi-lang="Hỗ trợ đa cửa sổ" zh-cn-lang="多窗口支持" zh-tw-lang="多視窗支援">Compatibilidad con ventanas múltiples</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/notification-updates.html" es-lang="Notificaciones" in-lang="Pemberitahuan" ja-lang="通知" ko-lang="알림" pt-br-lang="Notificações" ru-lang="Уведомления" vi-lang="Thông báo" zh-cn-lang="通知" zh-tw-lang="通知">Notificaciones</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html">Ahorro de datos</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/tv-recording-api.html" es-lang="Grabación de TV" in-lang="Perekaman TV" ja-lang="TV の録画" ko-lang="TV 녹화" pt-br-lang="Gravação para TV" ru-lang="Запись ТВ" vi-lang="Ghi lại TV" zh-cn-lang="TV 录制" zh-tw-lang="電視錄製">Grabación de TV</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/security-config.html" es-lang="Configuración de seguridad de la red" in-lang="Network Security Configuration" ja-lang="ネットワーク セキュリティ構成" ko-lang="네트워크 보안 구성" pt-br-lang="Configurações de segurança de rede" ru-lang="Конфигурация сетевой безопасности" vi-lang="Cấu hình Bảo mật mạng" zh-cn-lang="网络安全配置" zh-tw-lang="網路安全性設定">Configuración de seguridad de la red</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/icu4j-framework.html" es-lang="API de ICU4J del framework de Android" in-lang="ICU4J Android Framework API" ja-lang="ICU4J Android フレームワーク API" ko-lang="ICU4J Android 프레임워크 API" pt-br-lang="APIs de estrutura do Android para ICU4J" ru-lang="API-интерфейсы ICU4J в платформе Android" vi-lang="API Khuôn khổ Android ICU4J" zh-cn-lang="ICU4J Android 框架 API" zh-tw-lang="ICU4J Android 架構 API">Compatibilidad con ICU4J</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/j8-jack.html" es-lang="Funciones del lenguaje Java 8" in-lang="Fitur Bahasa Java 8" ja-lang="Java 8 の機能" ko-lang="Java 8 언어 기능" pt-br-lang="Recursos de linguagem do Java 8" ru-lang="Возможности языка Java 8" vi-lang="Tính năng của Ngôn ngữ Java 8" zh-cn-lang="Java 8 语言功能" zh-tw-lang="Java 8 語言功能">Funciones del lenguaje Java 8</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html">Actualizaciones para Android for Work</a></li>
-
-        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/scoped-folder-access.html" es-lang="Acceso a directorios determinados" in-lang="Scoped Directory Access" ja-lang="特定のディレクトリへのアクセス" ko-lang="범위가 지정된 디렉터리 액세스" pt-br-lang="Acesso a diretórios com escopo" ru-lang="Доступ к выделенным каталогам" vi-lang="Truy cập Thư mục theo Phạm vi" zh-cn-lang="作用域目录访问" zh-tw-lang="限定範圍目錄存取">Acceso a directorios determinados</a></li>
-      </ul>
-  </li>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/samples.html" es-lang="Ejemplos" in-lang="Contoh" ja-lang="サンプル" ko-lang="샘플" pt-br-lang="Exemplos" ru-lang="Примеры" zh-cn-lang="示例" zh-tw-lang="範例">Ejemplos</a></div>
-  </li>
-
-  <li class="nav-section">
-    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/license.html" es-lang="Contrato de licencia" ja-lang="使用許諾契約" ko-lang="라이선스 계약" pt-br-lang="Contrato de licença" ru-lang="Лицензионное соглашение" zh-cn-lang="许可协议" zh-tw-lang="授權協議">Contrato de licencia</a></div>
-  </li>
-
-</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/es/preview/setup-sdk.jd b/docs/html-intl/intl/es/preview/setup-sdk.jd
deleted file mode 100644
index 51260bb..0000000
--- a/docs/html-intl/intl/es/preview/setup-sdk.jd
+++ /dev/null
@@ -1,187 +0,0 @@
-page.title=Configuración de Preview
-meta.keywords="preview", "android"
-page.tags="preview", "developer preview"
-page.image=images/cards/card-n-sdk_2x.png
-
-@jd:body
-
-
-<div id="qv-wrapper">
-  <div id="qv">
-<ol>
-  <li><a href="#get-as13">Obtener Android Studio 2.1</a></li>
-  <li><a href="#get-sdk">Obtener el SDK de Android N</a>
-    <ol>
-      <li><a href="#docs-dl">Documentación de referencia</a>
-    </ol>
-  </li>
-  <li><a href="#java8">Obtener el JDK de Java 8</a></li>
-  <li><a href="#create-update">Actualizar o crear un proyecto</a></li>
-  <li><a href="#next">Próximos pasos</a></li>
-</ol>
-  </div>
-</div>
-
-<p>A fin de desarrollar aplicaciones para la Android N Preview, debes aplicar algunas actualizaciones
-a tu entorno de desarrollo, como se describe en esta página.</p>
-
-<p>Para solo probar la compatibilidad de tu aplicación en la
-imagen de sistema de Android N, sigue la guía de <a href="{@docRoot}preview/download.html">Prueba en un dispositivo Android N</a>.</p>
-
-<img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
-
-
-<h2 id="get-as13">Obtener Android Studio 2.1</h2>
-
-<p>La plataforma de Android N agrega compatibilidad para <a href="{@docRoot}preview/j8-jack.html">funciones de lenguaje de Java 8</a>,
- que requieren un nuevo compilador llamado Jack. La última versión de Jack
-actualmente solo es compatible con Android Studio 2.1. Por lo tanto, si deseas
-usar funciones de lenguaje de Java 8, debes usar Android Studio 2.1 para
-crear tu aplicación. De lo contrario, no necesitarás el compilador Jack, pero
-deberás aplicar una actualización a JDK 8 para compilar tu proyecto en función a la plataforma de Android N,
-según lo descrito a continuación.</p>
-
-<p>Si ya cuentas con Android Studio, cerciórate de que tienes Android
-Studio 2.1 o una versión anterior haciendo clic en <strong>Help &gt; Check for Update</strong>
-(en Mac, <strong>Android Studio &gt; Check for Updates</strong>).</p>
-
-<p>Si no cuentas con él, <a href="{@docRoot}studio/">descarga Android Studio
-2.1 aquí</a>.</p>
-
-
-<h2 id="get-sdk">Obtener el N Preview SDK</h2>
-
-<p>Para comenzar a desarrollar proyectos con las API de Android N, debes instalar el
-Android N Preview SDK en Android Studio de la siguiente manera:</p>
-
-<ol>
-  <li>Abre el Administrador de SDK haciendo clic en <strong>Tools &gt; Android &gt;
-  SDK Manager</strong>.</li>
-
-  <li>En la pestaña <strong>SDK Platforms</strong>, selecciona la
-  casilla de verificación <strong>Android N Preview</strong>.</li>
-
-  <li>Haz clic en la pestaña <strong>SDK Tools</strong> y luego selecciona las casillas de verificación
-    <strong>Android SDK Build Tools</strong>, <strong>Android SDK
-    Platform-Tools</strong> y
-    <strong>Android SDK Tools</strong>.
-  </li>
-
-  <li>Haz clic en <strong>OK</strong> y acepta los acuerdos
-    de licencia para instalar cualquier paquete que se necesite.
-  </li>
-</ol>
-
-<h3 id="docs-dl">Obtener documentación de referencia de la Android N Preview</h3>
-
-<p>
-  En la documentación de referencia de la N Preview, se encuentra disponible información
-  detallada acerca de las API de Android N. Puedes descargar la documentación de la tabla siguiente.
-  Este paquete contiene una versión abreviada y de uso sin conexión del sitio web para desarrolladores
-  de Android, y en ella se incluyen una referencia de API actualizada para las API de Android N y un
-  informe de diferencia de API.
-</p>
-
-<table>
-  <tr>
-    <th scope="col">Documentación</th>
-    <th scope="col">Sumas de comprobación</th>
-  </tr>
-  <tr>
-    <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
-    <td width="100%">
-      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7
-    </td>
-  </tr>
-<table>
-
-
-
-<h2 id="java8">Obtener el JDK de Java 8</h2>
-
-<p>Para compilar tu aplicación en función de la plataforma de Android N y para usar algunas herramientas con
-Android Studio 2.1 el Java 8 Developer Kit (JDK 8). Por lo tanto, si
-aún no tienes la última versión, descarga el JDK 8 ahora.</p>
-
-<p>Luego configura la versión de JDK en Android Studio de la siguiente manera:</p>
-
-<ol>
-  <li>Abre un proyecto de Android en Android Studio y luego el
-    cuadro de diálogo de estructura del proyecto seleccionando <strong>File &gt;
-        Project Structure</strong>. (Como alternativa, puedes fijar el valor predeterminado
-        para todos los proyectos seleccionando<strong> File &gt; Other Settings &gt;
-        Default Project Structure</strong>).
-   </li>
-   <li>En el panel izquierdo del cuadro de diálogo, haz clic en <strong>SDK Location</strong>.
-   </li>
-   <li>En el campo <strong>JDK Location</strong>, escribe la ubicación del
-    JDK de Java 8 (haz clic en el botón de la derecha
-    para explorar tus archivos) y luego haz clic en <strong>OK</strong>.
-   </li>
-</ol>
-
-<img src="{@docRoot}preview/images/studio-jdk-location.jpg" width="700" alt="" />
-
-
-<h2 id="create-update">Actualizar o crear un proyecto</h2>
-
-<p>
-  Para usar las API de Android N, debes configurar tu proyecto en forma correspondiente.
-</p>
-
-<p>Si planeas usar funciones del lenguaje Java 8, también debes leer
-<a href="{@docRoot}preview/j8-jack.html">Funciones del lenguaje Java 8</a>
-para obtener información sobre las funciones de Java 8 admitidas y
-la manera de configurar tu proyecto con el compilador Jack.</p>
-
-
-<h3 id="update">Actualizar un proyecto existente</h3>
-
-<p>Abre el archivo
-  <code>build.gradle</code> de tu módulo y actualiza los valores de la siguiente
-  manera:
-</p>
-
-<pre>
-android {
-  compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc3'</strong>
-  ...
-
-  defaultConfig {
-     minSdkVersion <strong>'N'</strong>
-     targetSdkVersion <strong>'N'</strong>
-     ...
-  }
-  ...
-}</pre>
-
-
-<h3 id="create">Crear un proyecto nuevo</h3>
-
-
-<p>Si deseas crear un proyecto nuevo para realizar desarrollos con el Android N Preview SDK:</p>
-
-<ol>
-  <li>Haz clic en <strong>File &gt; New Project</strong> y sigue los pasos correspondientes hasta
-  llegar a la página Target Android Devices.
-  </li>
-  <li>En la página, selecciona la opción <strong>Phone and Tablet</strong>.</li>
-  <li>En la opción <strong>Phone and Tablet</strong>, dentro de la lista de opciones <strong>Minimum
-    SDK</strong>, selecciona
-    <strong>N: Android API 23, N Preview (Preview).</strong></li>
-</ol>
-
-
-<h2 id="next">Próximos pasos</h2>
-
-<ul>
-  <li>Sigue la guía de <a href="{@docRoot}preview/download.html">Prueba en un dispositivo Android N</a>.</li>
-  <li>Para obtener más información sobre la plataforma de Android N, visita las secciones
-<a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a>
-y <a href="{@docRoot}preview/api-overview.html">API y funciones de Android N
-</a>.</li>
-</ul>
-
diff --git a/docs/html-intl/intl/es/preview/support.jd b/docs/html-intl/intl/es/preview/support.jd
deleted file mode 100644
index 517429d..0000000
--- a/docs/html-intl/intl/es/preview/support.jd
+++ /dev/null
@@ -1,1188 +0,0 @@
-page.title=Soporte y notas de la versión
-meta.keywords="preview", "android"
-page.tags="preview", "developer preview"
-page.image=images/cards/card-n-support_2x.png
-
-@jd:body
-
-
-<div id="qv-wrapper">
-<div id="qv">
-
-<h2>En este documento</h2>
-
-<ul>
-  <li><a href="#dp3">Developer Preview 3</a>
-    <ul>
-      <li><a href="#general">Recomendaciones generales</a></li>
-      <li><a href="#new">Novedades en DP3</a></li>
-      <li><a href="#ki">Problemas conocidos</a></li>
-    </ul>
-  </li>
-  <li><a href="#dp2">Developer Preview 2</a></li>
-  <li><a href="#dp1">Developer Preview 1</a></li>
-</ul>
-
-<!--
-<h2>See Also</h2>
-<ol>
-  <li></li>
-</ol>
--->
-
-</div>
-</div>
-
-<p>
-  Durante el desarrollo y las pruebas que lleves a cabo con
-  la Android N Developer Preview tendrás dos canales de soporte principales: Para informar los errores específicos de
-  dispositivos, de sistema o de Google Apps, visita <a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a>. Para informar sobre problemas en otras aplicaciones,
-  ponte en contacto directamente con el desarrollador.
-</p>
-
-<p>Para debatir sobre problemas o ideas con otros desarrolladores que estén trabajando en Android N, únete a la comunidad
-<a href="{@docRoot}preview/dev-community">M Developer Preview en Google+</a>.</p>
-
-<h2 id="dp3">Developer Preview 3</h2>
-
-<div class="wrap">
-  <div class="cols">
-    <div class="col-6of12">
-      <p>
-        <em>Fecha: Mayo de 2016<br>
-        Versión: NPD35K<br>
-        Compatibilidad con emulador: x86 y ARM (32/64-bit)<br>
-        Servicios de Google Play: 8.4</em>
-      </p>
-    </div>
-  </div>
-</div>
-
-<h3 id="general">Recomendaciones generales</h3>
-
-<p>
-  Esta versión de Developer Preview está pensada para <strong>desarrolladores de aplicaciones y usuarios
-  pioneros</strong> y está disponible para uso diario, desarrollo o
-  pruebas de compatibilidad. Ten en cuenta estas notas generales sobre la
-  versión:
-</p>
-
-<ul>
-  <li>Esta versión puede tener varios <strong>problemas de estabilidad</strong> en
-    dispositivos compatibles. Los usuarios se pueden topar con un sistema inestable, con errores
-    internos del núcleo y fallas.
-  </li>
-
-  <li>Algunas aplicaciones <strong>quizá no funcionen como se espera</strong> en la versión de la plataforma
-  nueva. Entre ellas se incluyen tanto aplicaciones de Google como de otros desarrolladores.
-  </li>
-
-  <li>Developer Preview 3 para desarrolladores ha superado el <strong>conjunto de pruebas de compatibilidad (CTS)
-  </strong> en estos dispositivos: Nexus 5X, Nexus 6, Nexus 6P y Pixel
-  C. Las aplicaciones que dependen de compilaciones que hayan aprobado el CTS deberían
-  funcionar con normalidad en estos dispositivos (por ejemplo, Android Pay).
-  </li>
-
-  <li>Developer Preview 3 está <strong>disponible en todos los dispositivos
-  compatibles:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
-  C, General Mobile 4G (Android One) y Sony Xperia Z3 (modelos D6603 y
-  D6653).
-
-  </li>
-</ul>
-
-
-<h3 id="new">Novedades en DP3</h3>
-
-<h4 id="">Modo RV para Android</h4>
-
-<p>
-  Android N agrega compatibilidad y optimizaciones de plataforma para un Modo RV nuevo, con el objetivo de que los
-  desarrolladores puedan forjar experiencias RV móviles de alta calidad para los usuarios. Hay varias
-  mejoras en el rendimiento, entre las que se incluye el acceso a un núcleo de CPU exclusivo
-  para aplicaciones de RV. Dentro de tus aplicaciones, puedes aprovechar el seguimiento de cabeza
-  inteligente y las notificaciones en sonido estéreo que funcionan para el modo RV. Un dato muy importante es que
-  Android N presenta muy pocos gráficos de baja latencia.
-</p>
-
-<p>
-  Para obtener más información, consulta <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
-</p>
-
-<h4 id="">Modo de rendimiento sostenido</h4>
-
-<p>
-  Android N incluye compatibilidad opcional para un <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">modo de rendimiento
-   sostenido</a>, que permite que los OEM arrojen datos sobre las capacidades de rendimiento del dispositivo
-  para las aplicaciones que llevan tiempo ejecutándose. Los desarrolladores de aplicaciones pueden usar estos
-  datos para pulir sus aplicaciones y alcanzar un nivel consistente y predecible de rendimiento durante períodos prolongados
-  en el dispositivo. Los desarrolladores de aplicaciones solo pueden probar este API nuevo
-  en la Preview instalada en Nexus 6P.
-</p>
-
-<h4>Multiprocess WebView</h4>
-
-<p>
-  Desde la versión 51 de Android N, WebView ejecutará contenido web en
-  procesos individuales de espacio aislado cuando se haya habilitado
-  la opción "Multiprocess WebView". El equipo de WebView espera recibir comentarios sobre compatibilidad y
-  rendimiento de tiempo de ejecución en N antes de habilitar Multiprocess WebView en
-  versiones futuras de Android. En esta versión, pueden darse regresiones en el tiempo de inicio, uso total
-  de la memoria y problemas de rendimiento en la representación de software.
-</p>
-
-<p>
-  Si te topas con problemas inesperados en el modo de multiprocesos, nos gustaría que compartas la información
-  con nosotros. Ponte en contacto con el equipo de WebView <a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">
-  informándolos sobre un error</a>.
-</p>
-
-<h4 id="">Ayuda en los métodos abreviados del teclado</h4>
-
-<p>
-  Android N permite que los usuarios pulsen <code>Meta+/</code> para activar una pantalla de <strong>Keyboard
-  Shortcuts</strong> que muestra todos los métodos abreviados disponibles tanto para el
-  sistema como para la aplicación que esté en primer plano. Los desarrolladores pueden agregar sus propios métodos abreviados o
-  activar la pantalla de métodos abreviados desde sus aplicaciones. Consulta <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Ayuda en los métodos
-  abreviados del teclado</a> para ver más detalles.
-</p>
-
-<h4 id="">API FrameMetrics</h4>
-
-<p>
-  DP3 presenta una <a href="{@docRoot}preview/api-overview.html#framemetrics_api">API FrameMetrics</a>nueva
-  que permite que una aplicación monitoree su rendimiento de representación de IU mediante la exposición de una
-   transmisión de API Pub/Sub para transferir información sobre el intervalo de los fotogramas para la ventana actual
-  de la aplicación. Puedes usar <code>FrameMetricsListener</code> para medir
-  el rendimiento de la IU del nivel de interacción en producción con una granularidad mayor y
-  sin la necesidad de contar con conexión USB.
-</p>
-
-<h4 id="api-changes">Característica y cambios en la API</h4>
-
-<dl>
-  <dt>
-    Accesos directos al launcher y sus API
-  </dt>
-
-  <dd>
-    Hemos decidido postergar esta característica hasta una versión futura de Android. El plan
-    es eliminar las API de accesos directos al launcher (ShortcutManager y otras) de la
-    API pública de Android N a partir de la siguiente Preview.
-  </dd>
-
-  <dt>
-    Ejecución de WebView Javascript antes de la carga de página
-  </dt>
-
-  <dd>
-    Comenzando por las aplicaciones que hagan objetivo a Android N, el contexto de JavaScript se restablece
-    cuando se carga una página nueva. De momento, el contexto de la
-    primera página cargada se mantiene en una instancia {@link android.webkit.WebView} nueva.
-    Los desarrolladores que quieran introducir JavaScript en {@link
-    android.webkit.WebView} deberían ejecutar la secuencia de comandos luego de que la página haya
-   comenzado a cargar.
-  </dd>
-
-  <dt>
-    Ubicación geográfica de WebView en orígenes inseguros
-  </dt>
-
-  <dd>
-    Comenzando por las aplicaciones que hagan objetivo a Android N, solo se permitirá
-    el uso de la API de ubicación geográfica en orígenes seguros (en HTTPS). Esta política se ha diseñado para proteger
-    la información privada del usuario cuando use una conexión insegura.
-  </dd>
-
-  <dt>
-    Ahorro de datos
-  </dt>
-
-  <dd>
-    A partir de Developer Preview 3 para desarrolladores, las aplicaciones pueden usar una intent para mostrar un
-    recuadro de diálogo de sistema que permite que el usuario agregue la aplicación directamente a la lista blanca de excepciones
-    de ahorro de datos. Consulta la <a href="{@docRoot}preview/api-overview.html#data_saver">documentación
-    sobre ahorro de datos</a> para ver más detalles.
-  </dd>
-
-  <dt>
-    <a href="{@docRoot}preview/api-overview.html#number-blocking">Bloqueo de números</a>
-  </dt>
-
-  <dd>
-    Ahora, si un usuario sin autorización intenta bloquear o desbloquear un número, la
-    operación fallará y arrojará el mensaje {@link java.lang.SecurityException}. (Antes,
-    la operación arrojaba el mensaje {@link java.lang.UnsupportedOperationException}).
-  </dd>
-
-  <dt>
-    <a href="{@docRoot}preview/api-overview.html#tile_api">API para mosaico
-    de configuración rápida</a>
-  </dt>
-
-  <dd>
-    Ahora, el sistema utiliza metadatos de la actividad para definir el modo de mosaico.
-    (Antes, el valor de devolución de
-    <code>TileService.onTileAdded()</code> determinaba el modo de mosaico). Para obtener más información, consulta
-    <code>TileService.META_DATA_ACTIVE_TILE</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API</a> descargable.
-  </dd>
-</dl>
-
-<h4 id="dp3-fixes">Soluciones para los errores que informaron los desarrolladores</h4>
-
-<p>
-  Se han solucionado varios errores que los desarrolladores habían informado, entre los que se incluyen:
-</p>
-
-<ul>
-  <li>Interrupción de la reproducción de audio por Bluetooth luego de una canción (error <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
-  </li>
-
-  <li>Fallas continuas en Pixel C (error <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
-  </li>
-
-  <li>Problemas de notificaciones en Clock and Toast (error <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
-  </li>
-
-  <li>Reinicio de Pixel C cuando se lo conecta a una MacBook Pro mediante un cable USB C (error
-  <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
-  </li>
-
-  <li>Diferencia de un día en el calendario (error <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
-  </li>
-
-  <li>Devolución de datos no válidos de parte de TelephonyManager.getAllCellInfo (error <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
-  </li>
-
-  <li>Nexus 6P - Desconexión continua de Bluetooth (error <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
-  </li>
-</ul>
-
-<p>Para conocer la lista completa de errores solucionados, consulta <a href="https://goo.gl/6uCKtf">el
-seguimiento de problemas</a>.</p>
-
-<h3 id="ki">Problemas conocidos</h3>
-
-<h4>Accesibilidad</h4>
-
-<ul>
-  <li>Imposibilidad de escuchar el formato de salida TTS cuando la inclinación está cerca del nivel máximo.
-  </li>
-
-  <li>Las funciones y la configuración de accesibilidad pueden verse interrumpidas cuando el usuario agrega un
-  perfil de trabajo, como el gesto y la configuración de ampliación. El estado
-  de la accesibilidad se restablece cuando el usuario cambia la configuración asociada.
-  </li>
-</ul>
-
-<h4>Cámara</h4>
-
-<ul>
-  <li>La aplicación Cámara ha mostrado inestabilidad; puede presentar fallos en varias
-    circunstancias, como cuando se la ejecuta en el modo de ventanas múltiples.
-  </li>
-
-  <li>Si se presiona el obturador repetidas veces en el modo panorámico, la aplicación Cámara
-  puede fallar.
-  </li>
-</ul>
-
-<h4>Audio</h4>
-<ul>
-  <li>Un error en el reproductor de audio de plataforma impide que algunas aplicaciones
-  funcionen con normalidad. Este error afecta, por ejemplo, a aplicaciones como Skype y otras.
-  </li>
-</ul>
-
-<h4>Conectividad</h4>
-
-
-<ul>
-  <li>Cuando un dispositivo de rol periférico Bluetooth Low Energy (BLE) indica un
-  servicio y se conecta un dispositivo de rol central BLE, el dispositivo de rol periférico
-  se desconecta rápidamente.
-  </li>
-
-  <li>La conexión Wi-Fi puede perderse cuando la pantalla está apagada.
-  </li>
-
-  <li>Las conexiones RFCOMM son inestables y pueden provocar daños en los datos y
-  conexiones con poca estabilidad.
-  </li>
-
-  <li>El estado de red activo ({@link android.net.NetworkInfo#getState
-  NetworkInfo.getState()} y {@link android.net.NetworkInfo#getDetailedState
-  NetworkInfo.getDetailedState()}) pueden devolver valores incorrectos durante algunos
-  escenarios de fondos restringidos.
-  </li>
-</ul>
-
-
-<h4>
-  Launcher
-</h4>
-
-<ul>
-  <li>La bandeja All Apps predeterminada del lanzador puede dejar de responder luego de que
-  la pantalla se apague y se encienda. El problema se puede resolver volviendo a la pantalla de inicio y ejecutando otra vez
-  la bandeja All Apps.
-  </li>
-</ul>
-
-<h4>
-  Teclado
-</h4>
-
-<ul>
-  <li>Cuando se actualiza un dispositivo que utiliza Android 6.0 o una versión anterior a la N Developer
-  Preview, el teclado de Google no conserva los datos de preferencias como los emoji recientes
-  y la configuración de sonido.
-  </li>
-
-  <li>Google Indic Managed Keyboard puede comportarse de manera inestable.
-  </li>
-
-  <li>Cuando se ingresa texto en un campo de contraseña, el usuario puede seleccionar ruso como
-  el idioma de escritura, pero el teclado permanece en inglés. Esto impide que los
-  usuarios puedan ingresar contraseñas en ruso.
-  </li>
-</ul>
-
-<h4>
-  Configuración regional e idiomas
-</h4>
-
-<ul>
-  <li>Cuando se usa una configuración regional de derecha a izquierda (RTL), el sistema puede cambiar, de manera inesperada,
-  a una presentación de izquierda a derecha (LTR) luego de reiniciar el dispositivo.
-  </li>
-</ul>
-
-<h4>Medios</h4>
-
-<ul>
-  <li>En Nexus 9 y Nexus Player, la reproducción de medios puede no ser la correcta y presentar, entre otros,
- errores al reproducir HD.
-  </li>
-</ul>
-
-<h4>
-  Modo de ventanas múltiples
-</h4>
-
-<ul>
-  <li>El dispositivo se puede congelar cuando se cambia la orientación en el modo de ventanas múltiples.
-  </li>
-
-  <li>De momento, varias aplicaciones tienen problemas con el modo de ventanas múltiples:
-    <ul>
-      <li>La IU del sistema puede fallar cuando se cambia Settings &gt; Display &gt;
-      Screen brightness al modo de ventanas múltiples.
-      </li>
-
-      <li>La aplicación Cámara puede fallar cuando se la ejecuta en el modo de ventanas múltiples.
-      </li>
-
-      <li>YouTube puede fallar cuando se lo ejecuta en el modo de ventanas múltiples. Para solucionar el
-      problema, puedes borrar los datos de la aplicación YouTube en Storage &gt; Apps &gt;
-      YouTube.
-      </li>
-    </ul>
-  </li>
-</ul>
-
-<h4>
-  Servicios de Google Play
-</h4>
-
-<ul>
-  <li>Las aplicaciones que usen Google Cast por medio de los servicios de Google Play pueden presentar problemas cuando
-  el usuario elige una configuración regional del sistema que usa letras y números que estén fuera del
-  rango ASCII.
-  </li>
-</ul>
-
-<h4>
-  Android for Work y Google Apps Device Policy
-</h4>
-
-<ul>
-  <li>La aplicación Device Policy puede fallar cuando el usuario desbloquea el dispositivo con la pantalla
-  "device policy status" anclada.
-  </li>
-
-  <li>Después de configurar un perfil de trabajo con la encriptación a base de archivos habilitada y
-  luego desactivar Work, los usuarios deberán desactivar el bloqueo de pantalla del perfil principal para volver
-  a acceder a las aplicaciones de Work.
-  </li>
-
-  <li>El dispositivo se reinicia cuando se quita el patrón de seguridad y se abre una
-  aplicación personal o de trabajo en el modo de ventanas múltiples.
-  </li>
-
-  <li>Configurar DISALLOW_VPN_CONFIG provoca que el diálogo de consentimiento aparezca en
-  always-on-vpn, configurado por Device Policy Client.
-  </li>
-
-  <li>El tráfico no se bloquea hasta que la VPN esté conectada en el modo always-on-vpn.
-  </li>
-</ul>
-
-<h4>
-  Almacenamiento externo
-</h4>
-
-<ul>
-  <li>Las aplicaciones pueden comenzar a funcionar mal cuando el usuario las mueve desde el almacenamiento interno a un dispositivo de
-  almacenamiento externo (entre los que se incluyen las tarjetas SD o los dispositivos conectados por
-  medio de USB).
-  </li>
-</ul>
-
-<h4>
-  Zoom de la pantalla y APK múltiples en Google Play
-</h4>
-
-<ul>
-  <li>En dispositivos que usen Android N, los servicios de Google Play 9.0.83 informan erróneamente
-  la densidad de la pantalla actual en vez de la densidad de la pantalla estable. Cuando se habilita el zoom
-  de la pantalla en estos dispositivos, esto puede provocar que Google Play seleccione una
-  versión de una aplicación con APK múltiples diseñada para pantallas más pequeñas. Este error se
-  soluciona en la siguiente versión de los servicios de Google Play, y se incluirá en un
-  lanzamiento futuro de la Developer Preview.
-  </li>
-
-  <li>De momento, en dispositivos que usen Android N, los servicios de Google Play 9.0.83 informan la compatibilidad con
-  Vulkan, pero no con qué versión. Esto puede provocar que Google Play seleccione una
-  versión de una aplicación con APK múltiples diseñada con compatibilidad inferior con Vulkan en
-  dispositivos que son compatibles con versiones más nuevas. De momento, la tienda Google Play no
-  acepta actualizaciones de aplicaciones que utilicen selección de versión de Vulkan. Esta compatibilidad
-  se agregará a la tienda Google Play en el futuro, y se solucionará en la siguiente
-  versión de los servicios Google Play (que se incluirá en una Developer Preview
-  nueva). Cualquier dispositivo N que use una versión de servicios Google Play 9.0.83 seguirá
-  recibiendo versiones de aplicaciones que tengan compatibilidad básica con Vulkan.
-  </li>
-</ul>
-
-<h4 id="">Notificaciones</h4>
-
-<ul>
-  <li>MessagingStyle no muestra notificaciones con emisor "null" (propio).
-  </li>
-</ul>
-
-<h4 id="">Herramientas de desarrollador</h4>
-
-<ul>
-  <li>
-    <code>adb</code> se puede desconectar mientras se usa la depuración JDWP.
-  </li>
-</ul>
-
-<!-- TBA, if any
-<h4>Device-specific issues</h4>
-
-<dl>
-  <dt>
-    <strong>Device Name</strong>
-  </dt>
-
-  <dd>
-    Issue 1
-  </dd>
-
-  <dd>
-    Issue 2
-  </dd>
-</dl>
-
--->
-
-
-
-
-
-
-
-<!-- DP2 Release Notes Archive -->
-
-<h2 id="dp2">Developer Preview 2</h2>
-
-<div class="wrap">
-  <div class="cols">
-    <div class="col-6of12">
-      <p>
-        <em>Fecha: Abril de 2016<br>
-        Compilaciones: NPC91K, NPC91O<br>
-        Compatibilidad con emulador: x86 y ARM (32/64-bit)<br>
-        Servicios de Google Play: 8.4</em>
-      </p>
-    </div>
-  </div>
-</div>
-
-<h3 id="dp2-new">Novedades en DP2</h3>
-
-<ul>
-  <li>Compatibilidad con plataformas para Vulkan, una nueva API de visualización 3D que permite
-  controlar explícitamente y con baja sobrecarga la GPU (unidad de procesamiento de gráficos) y ofrece
-  un rendimiento mejorado para aplicaciones sujetas a un nivel elevado de llamadas a draw. Para ver más detalles, consulta la
-  <a href="{@docRoot}ndk/guides/graphics/index.html">documentación</a>.
-  </li>
-
-  <li>Emoji de gente nuevos con compatibilidad para tonos de piel, y glifos Unicode 9.
-  El tono de piel y los emoji nuevos no se mostrarán hasta que la versión de los teclados sea compatible con
-  ellos en la paleta. Las aplicaciones no deberían tomar ninguna acción para sacar
-  ventaja de estos emoji nuevos, a menos que la aplicación utilice una fuente que no sea del sistema. Los desarrolladores de IME
-  tienen que incorporar compatibilidad con los emoji nuevos.
-  </li>
-
-  <li>
-    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">API de accesos directos
-    al launcher</a>: Las aplicaciones pueden usar <code>ShortcutManager</code> para enviar al launcher
-    accesos directos a puntos de control dentro de sí mismos.
-  </li>
-
-  <li>
-    <a href="{@docRoot}preview/features/multi-window.html">Ventanas múltiples</a>:
-    Ahora puedes especificar un alto mínimo y un ancho mínimo individual para una
-    actividad. Además, se han modificado los nombres de varias API.
-  </li>
-</ul>
-
-<h4 id="dp2-fixes">Soluciones para los errores que informaron los desarrolladores</h4>
-
-<p>
-  Se han solucionado varios errores que los desarrolladores habían informado, entre los que se incluyen:
-</p>
-
-<ul>
-  <li>No se puede establecer la conexión a SSID o Wi-Fi ocultos. (error <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
-  </li>
-
-  <li>El modo silenciado del micrófono persiste en distintas actividades. (error <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
-  </li>
-
-  <li>Al cambiar el foco de ventanas múltiples, YouTube se pausa. (error <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
-  </li>
-
-  <li>Respuesta directa puede cerrar la actividad abierta. (error <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
-  </li>
-
-  <li>Varias soluciones de estabilidad.
-  </li>
-</ul>
-
-<h3 id="dp2-general">Recomendaciones generales</h3>
-
-<p>
-  Esta versión de la Developer Preview solo se recomienda a los <strong>desarrolladores de aplicaciones</strong>
-, y está diseñada para usarla en pruebas de compatibilidad y durante etapas tempranas del desarrollo.
-  Ten en cuenta estas notas generales sobre la versión:
-</p>
-
-<ul>
-
-  <li>Para el lanzamiento de la DP2,
-  se han actualizado los componentes de herramienta de desarrollo y las bibliotecas de compatibilidad. No te olvides de actualizar tu entorno de desarrollo de Preview
-  antes de desarrollar para DP2. Para ver instrucciones sobre cómo configurar tu entorno
-  de desarrollo, consulta
-  <a href="{@docRoot}preview/setup-sdk.html">Configuración de Preview</a>.
-  </li>
-
-  <li>Esta versión presenta varios problemas de estabilidad y rendimiento en todos los dispositivos
-  que la convierten en una versión <strong>no recomendable para el uso diario en tablets o teléfonos</strong>,
- especialmente para quienes no sean desarrolladores.
-  </li>
-
-  <li>En esta
-  versión, aún no se ha optimizado el rendimiento y la vida de la batería:
-
-    <ul>
-      <li>Se sabe que el <strong>rendimiento de las aplicaciones y el sistema es lento o
-      problemático</strong>, y existe la posibilidad de que, periódicamente, los dispositivos dejen de funcionar. Estos
-      problemas se pueden agravar con el uso prolongado.
-      </li>
-
-      <li>En esta versión, la vida de la batería se puede ver afectada cuando la pantalla
-      se apaga y se enciende.
-      </li>
-    </ul>
-  </li>
-
-  <li>Algunas <strong>aplicaciones quizá no funcionen con normalidad</strong> en la Developer Preview
-  2. Entre ellas se incluyen tanto aplicaciones de Google como de otros desarrolladores.
-  </li>
-
-  <li>Esta versión temprana no ha superado <strong>el conjunto de pruebas de compatibilidad (CTS)
-  </strong>. Las aplicaciones que dependen de compilaciones que hayan aprobado el CTS no funcionarán
-  (Android Pay, por ejemplo).
-  </li>
-
-  <li>Esta versión de Preview es compatible con los siguientes dispositivos: Nexus 5X, Nexus 6,
-  Nexus 6P, Nexus 9, Pixel C y General Mobile 4G
-  (Android One). Próximamente también será compatible con Nexus Player.
-  </li>
-
-
-  <li><a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> se ha
-  actualizado para manejar cambios de API entre DP1 y DP2.
-  </li>
-</ul>
-
-<h3 id="dp2-ki">Problemas conocidos</h3>
-
-<h4>Rendimiento y batería</h4>
-
-<ul>
-  <li>Se sabe que el rendimiento de las aplicaciones y el sistema es <strong>lento o
-      problemático</strong>, y existe la posibilidad de que, periódicamente, los dispositivos dejen de funcionar. Estos
-      problemas se pueden agravar con el uso prolongado.
-  </li>
-</ul>
-
-<h4>Cuentas de Google</h4>
-
-<ul>
-  <li>En ciertas circunstancias, pueden ocurrir problemas con
-  <code>AccountManagerService</code>, que impide iniciar sesión en cuentas de Google.
-  </li>
-</ul>
-
-<h4>Actualización del sistema</h4>
-
-<ul>
-  <li>El dispositivo se puede reiniciar al momento de actualizar a DP2.
-  </li>
-</ul>
-
-<h4>Accesibilidad</h4>
-
-<ul>
-  <li>Problemas al escuchar formato de salida de texto a voz (TTS) cuando la inclinación está
-  cerca del nivel máximo.
-  </li>
-</ul>
-
-<h4>Bluetooth</h4>
-
-<ul>
-  <li>Las características GATT del Bluetooth de bajo consumo (LE) utilizan el tipo
-  de escritura equivocado, y no se enviarán a un dispositivo remoto. Por esa razón, algunos dispositivos útiles
-  para la realización de ejercicios no funcionarán.
-  </li>
-</ul>
-
-<h4>Asistente de configuración</h4>
-
-<ul>
-  <li>La opción para recuperar datos en un dispositivo nuevo (o en un dispositivo que se ha restablecido hace poco tiempo) de
-  "Your Google Account" no se puede utilizar en el asistente de configuración. Debes restablecer
-  los datos de un dispositivo existente eligiendo "another Android device" en el
-  asistente de configuración o configurarlo como un dispositivo nuevo.
-  </li>
-</ul>
-
-<h4>OEM unlock</h4>
-
-<ul>
-  <li>En algunos dispositivos, <strong>Enable OEM unlock</strong> aparecerá inhabilitado en
-  "Developer Options" al ejecutar DP2.<br>
-  <strong>Método alternativo:</strong> Apúntate para
-  el Programa Android Beta (si aún no lo has hecho) en
-  <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a>. Luego, date de baja y acepta el
-  paso a una versión anterior (OTA). Darse de baja hará que el dispositivo pase a la versión Android 6.0. Ahora deberías
-  poder elegir la opción <strong>Enable OEM unlock</strong> en
-  "Developer Options". Cuando
-  el dispositivo se desactualiza, todos los datos personales se pierden; sin embargo, si se hubiera desbloqueado el bootloader, también se habrían eliminado esos datos.
-  </li>
-</ul>
-
-<h4>Android for Work</h4>
-
-<ul>
-  <li>Comprobación de seguridad de trabajo
-    <ul>
-      <li>Luego de migrar a N, o después de que el usuario cree perfiles de trabajo, los perfiles
-      de trabajo no pueden crear claves en el depósito de claves hasta que el usuario cambie su
-      patrón, PIN o contraseña o configure una comprobación de trabajo.
-      </li>
-
-      <li>En modo de inicio directo, aplicar restricciones de contraseña al dispositivo
-      hará que el perfil de trabajo se desbloquee, incluso si el dispositivo está bloqueado.
-      Esto permite acceder al perfil de trabajo aunque debería estar protegido
-      por la pantalla de bloqueo del dispositivo.
-      </li>
-    </ul>
-  </li>
-
-  <li>Always On VPN
-    <ul>
-      <li>Si el modo Always On VPN está activado, pero la VPN no está disponible, las aplicaciones
-      se conectarán a la red normal. Las aplicaciones deberían quedar sin conexión si no hay
-      una conexión de VPN disponible.
-      </li>
-
-      <li>Cuando el modo Always On VPN está activado, las conexiones VPN no se establecen después
-      del reinicio de un dispositivo a modo de inicio directo, incluso luego de que el usuario desbloquee la
-      pantalla de bloqueo.
-      </li>
-    </ul>
-  </li>
-
-  <li>Paquetes suspendidos
-    <ul>
-      <li>Los administradores de dispositivos pueden suspender paquetes de sistema críticos, lo que puede provocar
-      un comportamiento inesperado, como la realización de llamadas a pesar de que se muestre el recuadro de diálogo "Telephone
-      disabled".
-      </li>
-    </ul>
-  </li>
-
-  <li>Otros
-    <ul>
-      <li>Cuando se inicia, la aplicación Configuración falla si {@link
-      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} está configurado como verdadero cuando el usuario
-      conecta un medio físico como una tarjeta SD.
-      </li>
-
-      <li>El primer registro en un perfil de trabajo tarda varios minutos en
-      completarse.
-      </li>
-    </ul>
-  </li>
-</ul>
-
-<h4 id="vulkan">Vulkan</h4>
-
-<ul>
-   <li>Nexus 5X/6P</li>
-   <ul>
-      <li>Los espacios entre números vinculantes y números distintos a cero
-      como primer número vinculante hacen que {@code vkCreateGraphicsPipeline()} falle.</li>
-      <li>Vulkan exhibe un comportamiento de muestras incorrecto en coordinadas de textura proyectada.</li>
-      <li>En la muestra multithreadCmdBuffer, {@code vkCmdClearColorImage()} falla cuando
-      se ejecuta con el controlador N-DP2.</li>
-      <li>Los valores de devolución de {@code vkGetPhysicalDeviceFormatProperties()} no configuran un valor
-      para {@code VkFormatProperties::linearTilingFeatures} que, como resultado,
-      toma el valor de 0.</li>
-      <li>Los anexos del búfer de fotogramas de punto flotante de Vulkan no se manejan de forma correcta.</li>
-    </ul>
-   <li>Nexus Player</li>
-   <ul>
-      <li>Los sombreadores SPIR-V no disparan activos del controlador.</li>
-      <li>Algunas configuraciones del proceso pueden hacer que {@code vkCreateGraphicsPipeline()}
-      falle.</li>
-  </ul>
-</ul>
-
-<h4>Problemas específicos de dispositivo</h4>
-
-<dl>
-  <dt>
-    <strong>Android One</strong>
-  </dt>
-
-  <dd>
-    La conexión de datos falla cuando un dispositivo se cambia de la ranura SIM 1 a la 2.
-  </dd>
-
-  <dt>
-    <strong>Pixel C</strong>
-  </dt>
-
-  <dd>
-    No se puede activar o desactivar la opción "Always On" de búsqueda por voz.
-  </dd>
-
-  <dt>
-    <strong>Nexus 6</strong>
-  </dt>
-
-  <dd>
-    Las fotografías de la cámara en orientación vertical están dañadas, a excepción de las fotos
-    HDR+.
-  </dd>
-
-  <dt>
-    <strong>Nexus Player</strong>
-  </dt>
-
-  <dd>
-    En Nexus Player, la reproducción de contenido Netflix HD puede fallar.
-  </dd>
-
-  <dd>
-    En Nexus Player, cualquier aplicación que dependa de cambios de resolución de video dinámico
-    puede fallar.
-  </dd>
-
-  <dd>
-    En Nexus Player, cualquier aplicación que use el códec de video VP9 puede fallar.
-  </dd>
-</dl>
-
-<!-- DP 1 release notes archive -->
-
-<h2 id="dp1">Developer Preview 1</h2>
-
-<div class="wrap">
-  <div class="cols">
-    <div class="col-6of12">
-      <p>
-        <em>Fecha: Marzo de 2016<br>
-        Compilaciones: NPC56P, NPC56R, actualizado: NPC56W, NPC56X<br>
-        Compatibilidad con emulador: x86 y ARM (32/64-bit)<br>
-        Servicios de Google Play: 8.4</em>
-      </p>
-    </div>
-  </div>
-</div>
-
-<h3 id="dp1-general">Recomendaciones generales</h3>
-
-<p>
-  Esta versión de la Developer Preview solo se recomienda a los desarrolladores de aplicaciones, y está diseñada para
-  usarla en pruebas de compatibilidad y durante etapas tempranas del desarrollo. Ten en cuenta
-  estas notas generales sobre la versión:
-</p>
-<ul>
-  <li>Esta versión presenta varios problemas de estabilidad y rendimiento en todos los dispositivos
-  que la convierten en una versión <em>no recomendable para el uso diario en tablets o teléfonos</em>,
- especialmente para quienes no sean desarrolladores.
-  </li>
-
-  <li>Se sabe que el rendimiento de las aplicaciones y el sistema es <strong>lento o
-      problemático</strong>, y existe la posibilidad de que, periódicamente, los dispositivos dejen de funcionar. Estos
-      problemas se pueden agravar con el uso prolongado.
-  </li>
-
-  <li>En esta versión, la vida de la batería se puede ver afectada cuando la pantalla se apaga y
-  se enciende.
-  </li>
-
-  <li>Algunas aplicaciones quizá no funcionen con normalidad en la Developer Preview 1. Entre estas se incluyen
-  tanto aplicaciones de Google como de otros desarrolladores.
-  </li>
-
-  <li>Esta versión temprana no ha superado el conjunto de pruebas de compatibilidad(CTS). Las aplicaciones
-  que dependen de compilaciones que hayan aprobado el CTS no funcionarán  (por  ejemplo, Android Pay).
-  </li>
-
-  <li>Esta versión de Preview es compatible con los siguientes dispositivos: Nexus 5X, Nexus 6,
-  Nexus 6P, Nexus 9, Nexus Player, Pixel C y General Mobile 4G
-  (Android One).
-  </li>
-</ul>
-
-<h3 id="dp1-platform">Problemas de plataforma</h3>
-
-<h4>Rendimiento y batería</h4>
-
-<ul>
-  <li>Se sabe que el rendimiento de las aplicaciones y el sistema es <strong>lento o
-      problemático</strong>, y existe la posibilidad de que, periódicamente, los dispositivos dejen de funcionar. Estos
-      problemas se pueden agravar con el uso prolongado.
-  </li>
-
-  <li>En esta versión, la vida de la batería se puede ver afectada cuando la pantalla se apaga y
-  se enciende.
-  </li>
-</ul>
-<h4 id="dialer">Teléfono</h4>
-
-<ul>
-  <li>La aplicación Teléfono no es compatible con el inicio directo. Este tema se abordará más adelante en
-  N Developer Preview.
-  </li>
-
-  <li>La reproducción del buzón de voz no funciona.
-  </li>
-</ul>
-
-<h4>Micrófono</h4>
-
-<ul>
-   <li>El estado silencioso del micrófono en el sistema puede persistir de manera incorrecta entre aplicaciones y luego de haberlo reiniciado. Si silencias el micrófono en una aplicación y el estado persiste, abre cualquiera aplicación que tenga controles de silencio para el micrófono y reactiva el micrófono.</li>
-</ul>
-
-<h4 id="ui">IU del sistema</h4>
-
-<ul>
-  <li>Algunas cadenas nuevas o modificadas de la IU del sistema no están traducidas a todos
-  los idiomas.
-  </li>
-
-  <li>La IU de información general aún está en desarrollo y sujeta a modificaciones. Por ejemplo,
-  tenemos pensado quitar el temporizado que aparece cuando el usuario alterna entre
-  aplicaciones.
-  </li>
-
-  <li>Los controles y los cambios de configuración pueden ser lentos o no funcionar correctamente.
-  </li>
-
-  <li>El diseño visual de las notificaciones está sujeto a cambios.
-  </li>
-
-  <li>En la aplicación Gmail, el archivo directo de correos electrónicos incluidos en un
-  paquete de notificación no funciona correctamente.
-  </li>
-</ul>
-
-<h4>Android for Work</h4>
-
-<ul>
-  <li>Comprobación de seguridad de trabajo
-    <ul>
-      <li>Luego de migrar a N, o después de que el usuario cree perfiles de trabajo, los perfiles
-      de trabajo no pueden crear claves en el depósito de claves hasta que el usuario cambie su
-      patrón, PIN o contraseña o configure una comprobación de trabajo.
-      </li>
-
-      <li>En modo de inicio directo, aplicar restricciones de contraseña al dispositivo
-      hará que el perfil de trabajo se desbloquee, incluso si el dispositivo está bloqueado.
-      Esto permite acceder al perfil de trabajo aunque debería estar protegido
-      por la pantalla de bloqueo del dispositivo.
-      </li>
-
-      <li>Cuando el usuario ingresa una contraseña o un PIN incorrecto, el sistema no
-      muestra ningún mensaje informativo; en vez de eso, solo borra el campo
-     de entrada. Este problema no afecta al ingreso de huellas digitales o patrones.
-      </li>
-
-      <li>En una tablet, el fondo que se muestra durante la comprobación de trabajo es
-      desproporcionalmente pequeño.
-      </li>
-
-      <li>La versión de <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">
-        Google Apps Device Policy</a> que está integrada en la N Developer Preview
-        aún no es compatible con la función comprobación de seguridad para perfiles de trabajo.
-        Los desarrolladores debería usar <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>
-        para probar esta función.
-      </li>
-    </ul>
-  </li>
-
-  <li>Always On VPN
-    <ul>
-      <li>Si el modo Always On VPN está activado, pero la VPN no está disponible, las aplicaciones
-      no especificadas como excepción en la política "Always On" se conectarán
-      a la red normal. A menos que se especifiquen como excepciones en la política Always On VPN,
-      las aplicaciones deberían quedar sin conexión si no hay una conexión de VPN disponible.
-        <ul>
-          <li>Cuando el modo Always On VPN está activado, las conexiones VPN no se establecen
-          después del reinicio de un dispositivo a modo de inicio directo, incluso luego de que el usuario
-          desbloquee la pantalla de bloqueo.
-          </li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-
-  <li>Contactos mejorados
-    <ul>
-      <li>Los dispositivos Bluetooth PBAP/MAP no muestran el identificador de llamada para los contactos
-      de trabajo. La versión siguiente de Preview resuelve este problema.
-      </li>
-    </ul>
-  </li>
-
-  <li>Modo de trabajo
-    <ul>
-      <li>El Google Now Launcher no muestra si el modo de trabajo está activado o
-      desactivado. El launcher tampoco muestra el estado de suspensión de las aplicaciones.
-      </li>
-
-      <li>Después de que los usuarios activan o desactivan el modo de trabajo, el sistema ya no muestra
-      los widgets de aplicación del perfil de trabajo como el Calendario.
-      </li>
-    </ul>
-  </li>
-
-  <li>Paquetes suspendidos
-  </li>
-
-  <li>Los administradores de dispositivos pueden suspender paquetes de sistema críticos, lo que puede provocar
-  un comportamiento inesperado, como la realización de llamadas a pesar de que se muestre el recuadro de diálogo
-  "Telephone disabled".
-  </li>
-
-  <li>Otros
-    <ul>
-      <li>Cuando se inicia, la aplicación Configuración falla si {@link
-      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} está configurado como verdadero cuando el usuario
-      conecta un medio físico como una tarjeta SD.
-      </li>
-
-      <li>El estado {@code DPM.setPackagesSuspended} no persiste cuando el
-      usuario desinstala y luego reinstala la aplicación. La aplicación debería permanecer
-      suspendida luego de desinstalarla/reinstalarla, o las aplicaciones suspendidas no deberían poder
-      desinstalarse.
-      </li>
-
-      <li>El primer registro en un perfil de trabajo tarda varios minutos en
-      completarse. Esto puede hacer que el dispositivo tarde más de lo normal en volverse
-      visible en la API Play EMM.
-      </li>
-
-      <li>Las notificaciones de las aplicaciones de perfiles de trabajo no son visibles para los oyentes de las notificaciones
-      instalados en el perfil personal. Como resultado, el sistema no
-      muestra las notificaciones como se esperaría.
-      </li>
-
-    </ul>
-  </li>
-</ul>
-
-<h4 >Teclado</h4>
-
-<ul>
-  <li>La sincronización por Bluetooth entre teclados y dispositivos Android puede comportarse de manera inestable.
-  </li>
-</ul>
-
-<h4 >Video</h4>
-
-<ul>
-<li>La reproducción de video puede interrumpirse y demorarse.</li>
-</ul>
-
-<h4>Wi-Fi</h4>
-
-<ul>
-  <li>La conexión Wi-Fi ha sufrido algunos cambios, que podrían modificar el comportamiento
-  del caso límite de la API. Específicamente, se deberían volver a probar las aplicaciones que intentan conectarse a redes
-  específicas o intentan reconectarse a redes.
-  </li>
-
-  <li>El cliente DHCP heredado se ha quitado de la plataforma. El único cliente DHCP
-  que es compatible con la plataforma es el cliente DHCP presentado en M.
-  </li>
-</ul>
-
-<h4>Inicio directo</h4>
-
-<ul>
-  <li>NFC no funciona hasta el primer desbloqueo.
-    <ul>
-      <li>Cuando se reinicia un teléfono con Bluetooth habilitado, el Bluetooth no
-   se activa de forma automática. Tendrás que rehabilitar el Bluetooth de forma manual.
-      </li>
-
-      <li>En ciertas circunstancias, el tono predeterminado no se oye cuando
-      se reciben llamadas o mensajes. Este comportamiento está corregido en la próxima versión de la N Preview
-      , con una excepción (y solución alternativa):
-      </li>
-
-      <li>En un dispositivo cuyos datos no se hayan eliminado hace poco uno que se haya iniciado
-      al menos una vez desde la activación del modo inicio directo, el tono de
-   notificación predeterminado no se oye. El usuario puede solucionar este problema eligiendo de forma manual
-      un tono del menú Configuración.
-      </li>
-
-      <li>El inicio directo no está habilitado de forma predeterminada en dispositivos que usen la versión N
-      Developer Preview. Para habilitar el inicio directo para pruebas y
-      desarrollo, ve a Developer Options y toca Convert to File Encryption.
-      En esta Developer Preview, esta opción requiere de un restablecimiento de la configuración predeterminada de fábrica para reparticionar y
-      reformatear tu dispositivo para encriptación a base de archivos.
-      </li>
-    </ul>
-  </li>
-</ul>
-
-<h4>Picture-in-picture para Android TV</h4>
-
-<ul>
-  <li>La integración PIP en la IU de Recientes no está finalizada y está sujeta a
-  cambios.
-    <ul>
-      <li>La animación de la ventana de PIP no está terminada. Este aspecto se mejorará en las
-      versiones futuras de la Preview.
-      </li>
-    </ul>
-  </li>
-
-  <li style="list-style: none">El diseño visual y la alineación del diseño de PIP se mejorarán
-  en las      versiones futuras de la Preview.
-  </li>
-</ul>
-
-<h4>Informes de errores</h4>
-
-<ul>
-  <li>Los informes de errores no siempre se completan con éxito (como solución alternativa,
-  a menudo se puede acceder a ellos a través del documento de informe de error provisto
-  en el almacenamiento interno).
-  </li>
-</ul>
-
-<h4>Ventanas múltiples con pantalla dividida</h4>
-
-<ul>
-  <li>Las aplicaciones pueden fallar, o el comportamiento de su IU puede no ser el adecuado, cuando se utiliza el modo de
-  pantalla dividida. Estos son problemas de la aplicación que el desarrollador
-  de la aplicación debe solucionar.
-  </li>
-
-  <li>Cuando una aplicación hace objetivo a una versión de la plataforma Android anterior a N, la
- aplicación quizá no funcione, y las alertas de pantalla dividida pueden aparecer en múltiples oportunidades.
-  </li>
-
-  <li>Presionar durante bastante tiempo el botón Recientes cuando se usa una aplicación con orientación fija
-  puede hacer que la aplicación se comporte de manera inesperada.
-  </li>
-
-  <li>Las aplicaciones pueden parpadear cuando se les cambia el tamaño.
-  </li>
-
-  <li>Las animaciones no están terminadas.
-  </li>
-</ul>
-
-<h4>Método de entrada.</h4>
-
-<ul>
-  <li>El teclado de Google vuelve a su versión genérica de manera inesperada
-  cuando se habilita<b> Use system language</b>, pero no es compatible con ninguno de los
-  idiomas seleccionados en las preferencias del idioma del sistema. Debería volver
-  al idioma inglés estadounidense.
-    <p>
-      Puedes sortear este problema agregado, al menos, un idioma que sea compatible con el
-      teclado de Google.
-    </p>
-  </li>
-</ul>
-
-<h4>Accesibilidad</h4>
-
-<ul>
-  <li>TalkBack tiene problemas con características como Notificaciones, mosaicos de Quick
-  Settings e imágenes en modo ventanas múltiples que pueden hacer que el sistema falle o
-  que haya pocos comentarios por voz de parte de TalkBack. Estos problemas se abordarán en las
-  versiones futuras de la Preview.
-  </li>
-</ul>
-
-<h3 id="dp1-device-sp">Problemas y notas específicas del dispositivo</h3>
-
-<h4>Nexus Player</h4>
-<ul>
-  <li>En esta versión de la Preview, está previsto que ocurran errores de estabilidad y compatibilidad con aplicaciones y de reproducción de video en
-  Nexus Player.
-  </li>
-</ul>
-
-<h4>Pixel C</h4>
-<ul>
-<li>El cambio de tamaño en el modo de ventanas múltiples puede provocar fallos.</li>
-</ul>
-
-<h4>Nexus 9</h4>
-<ul>
-<li>Los dispositivos Nexus 9 pueden no iniciar luego de recibir una actualización inalámbrica
-  mediante el Programa Android Beta. Para solventar este problema, puedes intentar
-  instalar la imagen inalámbrica de forma manual. Para obtener más información, consulta
-  <a href="{@docRoot}preview/download-ota.html">Aplicación de imágenes inalámbricas de dispositivo</a>.
-</li>
-</ul>
-
diff --git a/docs/html-intl/intl/es/preview/features/direct-boot.jd b/docs/html-intl/intl/es/training/articles/direct-boot.jd
similarity index 99%
rename from docs/html-intl/intl/es/preview/features/direct-boot.jd
rename to docs/html-intl/intl/es/training/articles/direct-boot.jd
index e1d99e9..0ce3f5b 100644
--- a/docs/html-intl/intl/es/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/es/training/articles/direct-boot.jd
@@ -5,8 +5,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>En este documento</h2>
   <ol>
     <li><a href="#run">Solicitar acceso para ejecutar durante el inicio directo</a></li>
diff --git a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/es/training/articles/scoped-directory-access.jd
similarity index 92%
rename from docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
rename to docs/html-intl/intl/es/training/articles/scoped-directory-access.jd
index e423e6a..194bfd7 100644
--- a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/es/training/articles/scoped-directory-access.jd
@@ -4,8 +4,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>En este documento</h2>
   <ol>
     <li><a href="#accessing">Acceder a un directorio de almacenamiento externo</a></li>
@@ -71,8 +71,8 @@
 <p>El sistema intenta otorgar acceso al directorio externo y, si
 es necesario, confirma el acceso con el usuario usando una IU simplificada:</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>Imagen 1.</strong> Una aplicación solicitando
 acceso al directorio Pictures.</p>
 
@@ -138,8 +138,8 @@
 de usuario. Si el usuario deniega una solicitud y la aplicación solicita acceso
  nuevamente, aparece la casilla de verificación <b>Don't ask again</b> en la IU:</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>Figura 1.</strong> Una aplicación que presenta una
 segunda solicitud para obtener acceso a medios extraíbles.</p>
 
diff --git a/docs/html-intl/intl/es/preview/features/security-config.jd b/docs/html-intl/intl/es/training/articles/security-config.jd
similarity index 99%
rename from docs/html-intl/intl/es/preview/features/security-config.jd
rename to docs/html-intl/intl/es/training/articles/security-config.jd
index 8c3db64..7deadbe 100644
--- a/docs/html-intl/intl/es/preview/features/security-config.jd
+++ b/docs/html-intl/intl/es/training/articles/security-config.jd
@@ -4,8 +4,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>En este documento</h2>
 <ol>
diff --git a/docs/html-intl/intl/es/preview/features/data-saver.jd b/docs/html-intl/intl/es/training/basics/network-ops/data-saver.jd
similarity index 99%
rename from docs/html-intl/intl/es/preview/features/data-saver.jd
rename to docs/html-intl/intl/es/training/basics/network-ops/data-saver.jd
index 458e662..d1d6c34 100644
--- a/docs/html-intl/intl/es/preview/features/data-saver.jd
+++ b/docs/html-intl/intl/es/training/basics/network-ops/data-saver.jd
@@ -4,8 +4,8 @@
 page.image=images/cards/card-nyc_2x.jpg
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
+<div id="tb-wrapper">
+  <div id="tb">
     <h2>
       En este documento
     </h2>
@@ -231,4 +231,4 @@
     Se quita el UID del paquete específico de la lista blanca para bloquear el uso de datos
  medidos en segundo plano mientras el ahorro de datos está habilitado.
   </dd>
-</dl>
\ No newline at end of file
+</dl>
diff --git a/docs/html-intl/intl/es/preview/features/picture-in-picture.jd b/docs/html-intl/intl/es/training/tv/playback/picture-in-picture.jd
similarity index 98%
rename from docs/html-intl/intl/es/preview/features/picture-in-picture.jd
rename to docs/html-intl/intl/es/training/tv/playback/picture-in-picture.jd
index 36c0c57..30c9e8b 100644
--- a/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/es/training/tv/playback/picture-in-picture.jd
@@ -4,8 +4,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>En este documento</h2>
 <ol>
@@ -59,7 +59,7 @@
 otro video en la pantalla principal, la ventana de PIP se cierra
 automáticamente. Los usuarios también pueden cerrar la ventana de PIP desde Recents.</p>
 
-<img src="{@docRoot}preview/images/pip-active.png" />
+<img src="{@docRoot}images/android-7.0/pip-active.png" />
 <p class="img-caption"><strong>Imagen 1.</strong> Un video picture-in-picture
 visible en una esquina de la pantalla mientras el usuario explora contenido
 en la pantalla principal.</p>
@@ -116,7 +116,7 @@
 <p>Agregar un botón PIP a la barra de control de medios le permite al usuario cambiar
 fácilmente al modo PIP y seguir controlando la reproducción de video.</p>
 
-<img src="{@docRoot}preview/images/pip-button.png" />
+<img src="{@docRoot}images/android-7.0/pip-button.png" />
 <p class="img-caption"><strong>Imagen 1.</strong> Un botón
 PIP en una barra de control de medios.</p>
 
diff --git a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd b/docs/html-intl/intl/es/training/tv/tif/content-recording.jd
similarity index 98%
rename from docs/html-intl/intl/es/preview/features/tv-recording-api.jd
rename to docs/html-intl/intl/es/training/tv/tif/content-recording.jd
index 855db8d..9e8a346 100644
--- a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/es/training/tv/tif/content-recording.jd
@@ -5,8 +5,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>En este documento</h2>
   <ol>
     <li><a href="#supporting">Indicar la compatibilidad para la grabación</a></li>
diff --git a/docs/html-intl/intl/in/preview/guide.jd b/docs/html-intl/intl/in/about/versions/marshmallow/android-6.0-testing.jd
similarity index 98%
rename from docs/html-intl/intl/in/preview/guide.jd
rename to docs/html-intl/intl/in/about/versions/marshmallow/android-6.0-testing.jd
index a229beb..94bc74c 100644
--- a/docs/html-intl/intl/in/preview/guide.jd
+++ b/docs/html-intl/intl/in/about/versions/marshmallow/android-6.0-testing.jd
@@ -5,8 +5,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
+<div id="tb-wrapper">
+  <div id="tb">
     <h2>Dalam dokumen ini</h2>
       <ol>
         <li><a href="#runtime-permissions">Izin Pengujian</a></li>
diff --git a/docs/html-intl/intl/in/preview/behavior-changes.jd b/docs/html-intl/intl/in/about/versions/nougat/android-7.0-changes.jd
similarity index 97%
rename from docs/html-intl/intl/in/preview/behavior-changes.jd
rename to docs/html-intl/intl/in/about/versions/nougat/android-7.0-changes.jd
index 521312e..af01cd2 100644
--- a/docs/html-intl/intl/in/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/in/about/versions/nougat/android-7.0-changes.jd
@@ -6,8 +6,8 @@
 @jd:body
 
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
 
 <h2>Dalam dokumen ini</h2>
 
@@ -77,7 +77,7 @@
 </p>
 
 
-<img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
+<img src="{@docRoot}images/android-7.0/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
   <strong>Gambar 1.</strong> Ilustrasi tentang cara Istirahatkan menerapkan pembatasan
   aktivitas sistem level pertama untuk meningkatkan daya tahan baterai.
@@ -96,7 +96,7 @@
 </p>
 
 
-<img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
+<img src="{@docRoot}images/android-7.0/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
   <strong>Gambar 2.</strong> Ilustrasi tentang cara Istirahatkan menerapkan pembatasan
   aktivitas sistem level kedua setelah perangkat diam selama jangka waktu tertentu.
@@ -282,10 +282,10 @@
 <div class="cols">
 
 <div class="col-6">
-  <img src="{@docRoot}preview/images/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
+  <img src="{@docRoot}images/android-7.0/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
 </div>
 <div class="col-6">
-  <img src="{@docRoot}preview/images/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
+  <img src="{@docRoot}images/android-7.0/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
 </div>
 
 </div> <!-- end cols -->
diff --git a/docs/html-intl/intl/in/preview/samples.jd b/docs/html-intl/intl/in/about/versions/nougat/android-7.0-samples.jd
similarity index 76%
rename from docs/html-intl/intl/in/preview/samples.jd
rename to docs/html-intl/intl/in/about/versions/nougat/android-7.0-samples.jd
index 481260c..d31c0c0 100644
--- a/docs/html-intl/intl/in/preview/samples.jd
+++ b/docs/html-intl/intl/in/about/versions/nougat/android-7.0-samples.jd
@@ -16,7 +16,7 @@
 
 
 <h3 id="mw">Playground Multi-Jendela</h3>
-<img src="{@docRoot}preview/images/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156" />
+<img src="{@docRoot}images/android-7.0/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156" />
 <p>
   Contoh ini memperagakan cara memanfaatkan antarmuka pengguna
   multi-jendela bersama aplikasi Anda.
@@ -28,7 +28,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="an">Pemberitahuan Aktif</h3>
-<img src="{@docRoot}preview/images/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   Ini adalah contoh yang sudah ada sebelumnya, menampilkan layanan sederhana yang mengirimkan
    pemberitahuan menggunakan NotificationCompat. Setiap percakapan yang belum dibaca dari pengguna
@@ -45,7 +45,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="ms">Layanan Perpesanan</h3>
-<img src="{@docRoot}preview/images/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
+<img src="{@docRoot}images/android-7.0/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
 <p>
   Ini adalah contoh yang telah ada sebelumnya yang memperagakan cara menggunakan
   NotificationManager untuk memberi tahu jumlah pemberitahuan yang saat ini ditampilkan
@@ -62,7 +62,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="fbe">Direct Boot</h3>
-<img src="{@docRoot}preview/images/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   Contoh ini memperagakan cara menyimpan dan mengakses data dalam penyimpanan yang dienkripsi
   dengan perangkat yang selalu tersedia saat perangkat booting.
@@ -74,7 +74,7 @@
 
 <div style="clear: both;"></div>
 <h3 id="sda">Scoped Directory Access</h3>
-<img src="{@docRoot}preview/images/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
+<img src="{@docRoot}images/android-7.0/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   Contoh ini memperagakan cara membaca dan menulis data dari direktori
   spesifik, sekaligus meminta izin lebih sedikit.
@@ -82,4 +82,4 @@
 <p>
   <a href="https://github.com/googlesamples/android-ScopedDirectoryAccess">
   Dapatkan di GitHub</a>
-</p>
\ No newline at end of file
+</p>
diff --git a/docs/html-intl/intl/in/preview/api-overview.jd b/docs/html-intl/intl/in/about/versions/nougat/android-7.0.jd
similarity index 97%
rename from docs/html-intl/intl/in/preview/api-overview.jd
rename to docs/html-intl/intl/in/about/versions/nougat/android-7.0.jd
index b652dd9..ff8af12 100644
--- a/docs/html-intl/intl/in/preview/api-overview.jd
+++ b/docs/html-intl/intl/in/about/versions/nougat/android-7.0.jd
@@ -7,8 +7,8 @@
 
 
 
-<div id="qv-wrapper">
-<div id="qv">
+<div id="tb-wrapper">
+<div id="tb">
   <h2>Fitur-fitur Utama bagi Pengembang</h2>
   <ol>
       <ul style="list-style-type:none;">
@@ -78,7 +78,7 @@
   </ul>
 
 <div class="col-4of10">
-<img src="{@docRoot}preview/images/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
+<img src="{@docRoot}images/android-7.0/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
 <p class="img-caption">
   <strong>Gambar 1.</strong> Aplikasi yang berjalan dalam mode layar terbagi.
 </p>
@@ -142,15 +142,15 @@
 </ul>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-1.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-1.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-3.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-3.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 <div class="col-4of12">
-  <img src="{@docRoot}preview/images/notifications-2.png" alt="" style="padding:.5em;max-width:226px">
+  <img src="{@docRoot}images/android-7.0/notifications-2.png" alt="" style="padding:.5em;max-width:226px">
 </div>
 
 
@@ -277,7 +277,7 @@
 <h2 id="data_saver">Data Saver</h2>
 
 <div class="col-5of12" style="margin-right:1.5em;">
-<img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">
+<img src="{@docRoot}images/android-7.0/datasaver.png" style="border:2px solid #ddd">
 
 <p class="img-caption" style="padding-right:2em;">
   <strong>Gambar 4.</strong> Data Saver di Settings.
@@ -357,7 +357,7 @@
 
 
 <div style="float:right;max-width:320px">
-<img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">
+<img src="{@docRoot}images/android-7.0/quicksettings.png" style="padding-left:1.5em;">
 
 <p class="img-caption" style="padding-left:2em;">
   <strong>Gambar 5.</strong> Quick Settings Tile dalam bayangan pemberitahuan.
diff --git a/docs/html-intl/intl/in/about/versions/nougat/index.jd b/docs/html-intl/intl/in/about/versions/nougat/index.jd
new file mode 100644
index 0000000..212870a
--- /dev/null
+++ b/docs/html-intl/intl/in/about/versions/nougat/index.jd
@@ -0,0 +1,110 @@
+page.title=Android 7.0 Nougat
+page.tags="androidn","versions"
+meta.tags="android n", "nougat", "android 7.0"
+fullpage=true
+forcelocalnav=true
+header.hide=1
+footer.hide=1
+@jd:body
+
+<section class="dac-expand dac-hero dac-light">
+  <div class="wrap" style="max-width:1100px;margin-top:0">
+  <a href="{@docRoot}about/versions/nougat/android-7.0.html">
+    <div class="cols dac-hero-content" style="padding-bottom:1em;">
+
+      <div class="col-7of16 col-push-8of16" style="padding-left:2em">
+        <h1 class="dac-hero-title">Android 7.0 Nougat</h1>
+        <p class="dac-hero-description">
+          Bersiaplah menyambut Android Nougat!
+          <strong>Uji aplikasi Anda</strong> pada perangkat Nexus dan perangkat lainnya. Dukung perilaku sistem
+          baru untuk <strong>menghemat daya dan memori</strong>.
+          Tambah aplikasi Anda dengan <strong>UI multi-jendela</strong>,
+          <strong>pemberitahuan balasan langsung</strong> dan lainnya.
+        </p>
+
+        <a class="dac-hero-cta" href="{@docRoot}about/versions/nougat/android-7.0.html">
+          <span class="dac-sprite dac-auto-chevron"></span>
+          Mulai
+        </a>
+      </div>
+      <div class="col-7of16 col-pull-6of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
+        <a  href="{@docRoot}about/versions/nougat/android-7.0.html">
+        <img class="dac-hero-image" src="{@docRoot}images/home/n-preview-hero.png"
+             srcset="{@docRoot}images/home/n-preview-hero.png 1x,
+             {@docRoot}images/home/n-preview-hero_2x.png 2x" />
+           </a>
+      </div>
+    </div></a>
+    <div class="dac-section dac-small">
+      <div class="resource-widget resource-flow-layout col-16"
+           data-query="collection:nougat/landing/resources"
+           data-cardSizes="6x2"
+           data-maxResults="3"></div>
+         </div>
+  </div>
+</section>
+
+
+<div class="dac-section dac-slim dac-gray dac-expand">
+  <div class="wrap dac-offset-parent">
+    <a class="dac-fab dac-scroll-button" data-scroll-button href="#latest">
+      <i class="dac-sprite dac-arrow-down-gray"></i>
+    </a>
+    <ul class="dac-actions">
+      <li class="dac-action">
+        <a class="dac-action-link" href="https://source.android.com/source/report-bugs.html">
+          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+          Laporkan masalah
+        </a>
+      </li>
+      <li class="dac-action">
+        <a class="dac-action-link" href="{@docRoot}preview/dev-community">
+          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
+          Bergabunglah dengan komunitas pengembang
+        </a>
+      </li>
+    </ul>
+  </div><!-- end .wrap -->
+</div><!-- end .dac-actions -->
+
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">Terbaru</h2>
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="type:blog+tag:androidn+tag:featured, type:youtube+tag:androidn+tag:featured"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x6"
+    data-items-per-page="6"
+    data-maxResults="15"
+    data-initial-results="3"></div>
+</div></section>
+
+<section class="dac-section dac-gray" id="videos"><div class="wrap">
+  <h1 class="dac-section-title">Videos</h1>
+  <div class="dac-section-subtitle">
+    New Android capabilities and the right way to use them in your apps.
+  </div>
+
+  <div class="resource-widget resource-flow-layout col-16"
+    data-query="collection:nougat/landing/videos/first,type:youtube+tag:androidn"
+    data-sortOrder="-timestamp"
+    data-cardSizes="6x6"
+    data-items-per-page="6"
+    data-maxResults="15"
+    data-initial-results="3">
+  </div>
+</div></section>
+
+<section class="dac-section dac-light" id="resources"><div class="wrap">
+  <h1 class="dac-section-title">Sumber Daya</h1>
+  <div class="dac-section-subtitle">
+    Informasi penting guna membantu mempersiapkan aplikasi untuk Android Nougat.
+  </div>
+
+  <div class="resource-widget resource-flow-layout col-16"
+       data-query="collection:nougat/landing/more"
+       data-cardSizes="6x6"
+       data-items-per-page="6"
+       data-maxResults="15"
+       data-initial-results="6"></div>
+  </div>
+</section>
\ No newline at end of file
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/features/multi-window.jd b/docs/html-intl/intl/in/guide/topics/ui/multi-window.jd
similarity index 98%
rename from docs/html-intl/intl/in/preview/features/multi-window.jd
rename to docs/html-intl/intl/in/guide/topics/ui/multi-window.jd
index 3f75def..5e7b3d9 100644
--- a/docs/html-intl/intl/in/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/in/guide/topics/ui/multi-window.jd
@@ -4,8 +4,8 @@
 
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
+<div id="tb-wrapper">
+  <div id="tb">
     <h2>Dalam dokumen ini</h2>
       <ol>
         <li><a href="#overview">Ringkasan</a></li>
@@ -69,8 +69,8 @@
   </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," id="img-split-screen" />
+<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>Gambar 1.</strong> Dua aplikasi berjalan berdampingan dalam mode layar terbagi.
 </p>
diff --git a/docs/html-intl/intl/in/preview/_book.yaml b/docs/html-intl/intl/in/preview/_book.yaml
deleted file mode 100644
index 88d6c71..0000000
--- a/docs/html-intl/intl/in/preview/_book.yaml
+++ /dev/null
@@ -1,342 +0,0 @@
-toc:
-- title: Ringkasan Program
-  path: /preview/overview.html
-  path_attributes:
-  - name: es-lang
-    value: Información general del programa
-  - name: in-lang
-    value: Ringkasan Program
-  - name: ja-lang
-    value: プログラム概要
-  - name: ko-lang
-    value: 프로그램 개요
-  - name: pt-br-lang
-    value: Visão geral do programa
-  - name: ru-lang
-    value: Обзор программы
-  - name: vi-lang
-    value: Tổng quan về Chương trình
-  - name: zh-cn-lang
-    value: 计划概览
-  - name: zh-tw-lang
-    value: 程式總覽
-
-- title: Dukungan dan Catatan Rilis
-  path: /preview/support.html
-
-- title: Menyiapkan Pratinjau
-  path: /preview/setup-sdk.html
-  path_attributes:
-  - name: es-lang
-    value: Configurar el SDK de la versión preliminar
-  - name: in-lang
-    value: Menyiapkan Pratinjau
-  - name: ja-lang
-    value: Preview SDK のセットアップ
-  - name: ko-lang
-    value: 미리 보기 SDK 설정하기
-  - name: pt-br-lang
-    value: Configuração do Preview SDK
-  - name: ru-lang
-    value: Настройка пакета SDK Preview
-  - name: vi-lang
-    value: Kiểm thử trên Thiết bị
-  - name: zh-cn-lang
-    value: 设置预览版 SDK
-  - name: zh-tw-lang
-    value: 設定預覽版 SDK
-
-- title: Menguji pada Perangkat
-  path: /preview/download.html
-  path_attributes:
-  - name: es-lang
-    value: Pruebe en un dispositivo
-  - name: in-lang
-    value: Menguji pada Perangkat
-  - name: ja-lang
-    value: デバイス上でテストする
-  - name: ko-lang
-    value: 기기에서 테스트
-  - name: pt-br-lang
-    value: Testar em um dispositivo
-  - name: ru-lang
-    value: Тестирование на устройстве
-  - name: vi-lang
-    value: Kiểm thử trên Thiết bị
-  - name: zh-cn-lang
-    value: 在设备上测试
-  - name: zh-tw-lang
-    value: 在裝置上測試
-
-- title: Perubahan Perilaku
-  path: /preview/behavior-changes.html
-  path_attributes:
-  - name: es-lang
-    value: Cambios en los comportamientos
-  - name: in-lang
-    value: Perubahan Perilaku
-  - name: ja-lang
-    value: 動作の変更点
-  - name: ko-lang
-    value: 동작 변경
-  - name: pt-br-lang
-    value: Mudanças de comportamento
-  - name: ru-lang
-    value: Изменения в работе
-  - name: vi-lang
-    value: Các thay đổi Hành vi
-  - name: zh-cn-lang
-    value: 行为变更
-  - name: zh-tw-lang
-    value: 行為變更
-  section:
-  - title: Optimalisasi Latar Belakang
-    path: /preview/features/background-optimization.html
-    path_attributes:
-    - name: es-lang
-      value: Optimizaciones en segundo plano
-    - name: in-lang
-      value: Optimisasi Latar Belakang
-    - name: ja-lang
-      value: バックグラウンド処理の最適化
-    - name: ko-lang
-      value: 백그라운드 최적화
-    - name: pt-br-lang
-      value: Otimizações em segundo plano
-    - name: ru-lang
-      value: Оптимизация фоновых процессов
-    - name: vi-lang
-      value: Tối ưu hóa Chạy ngầm
-    - name: zh-cn-lang
-      value: 后台优化
-    - name: zh-tw-lang
-      value: 背景最佳化
-  - title: Bahasa dan Lokal
-    path: /preview/features/multilingual-support.html
-    path_attributes:
-    - name: es-lang
-      value: Idioma y configuración regional
-    - name: in-lang
-      value: Bahasa dan Lokal
-    - name: ja-lang
-      value: 言語とロケール
-    - name: ko-lang
-      value: 언어 및 로케일
-    - name: pt-br-lang
-      value: Idioma e localidade
-    - name: ru-lang
-      value: Язык и языковой стандарт
-    - name: vi-lang
-      value: Ngôn ngữ và Bản địa
-    - name: zh-cn-lang
-      value: 语言和区域设置
-    - name: zh-tw-lang
-      value: 語言和地區設定
-
-- title: Android N for Developers
-  path: /preview/api-overview.html
-  path_attributes:
-  - name: es-lang
-    value: Información general de la API
-  - name: in-lang
-    value: Android N untuk Pengembang
-  - name: ja-lang
-    value: API の概要
-  - name: ko-lang
-    value: API 개요
-  - name: pt-br-lang
-    value: Visão geral da API
-  - name: ru-lang
-    value: Обзор API-интерфейсов
-  - name: vi-lang
-    value: Android N cho Nhà phát triển
-  - name: zh-cn-lang
-    value: API 概览
-  - name: zh-tw-lang
-    value: API 總覽
-  section:
-  - title: Dukungan Multi-Jendela
-    path: /preview/features/multi-window.html
-    path_attributes:
-    - name: es-lang
-      value: Compatibilidad con ventanas múltiples
-    - name: in-lang
-      value: Dukungan Multi-Jendela
-    - name: ja-lang
-      value: マルチ ウィンドウのサポート
-    - name: ko-lang
-      value: 다중 창 지원
-    - name: pt-br-lang
-      value: Suporte a várias janelas
-    - name: ru-lang
-      value: Поддержка многооконного режима
-    - name: vi-lang
-      value: Hỗ trợ đa cửa sổ
-    - name: zh-cn-lang
-      value: 多窗口支持
-    - name: zh-tw-lang
-      value: 多視窗支援
-  - title: Pemberitahuan
-    path: /preview/features/notification-updates.html
-    path_attributes:
-    - name: es-lang
-      value: Notificaciones
-    - name: in-lang
-      value: Pemberitahuan
-    - name: ja-lang
-      value: 通知
-    - name: ko-lang
-      value: 알림
-    - name: pt-br-lang
-      value: Notificações
-    - name: ru-lang
-      value: Уведомления
-    - name: vi-lang
-      value: Thông báo
-    - name: zh-cn-lang
-      value: 通知
-    - name: zh-tw-lang
-      value: 通知
-  - title: Data Saver
-    path: /preview/features/data-saver.html
-  - title: Perekaman TV
-    path: /preview/features/tv-recording-api.html
-    path_attributes:
-    - name: es-lang
-      value: Grabación de TV
-    - name: in-lang
-      value: Perekaman TV
-    - name: ja-lang
-      value: TV の録画
-    - name: ko-lang
-      value: TV 녹화
-    - name: pt-br-lang
-      value: Gravação para TV
-    - name: ru-lang
-      value: Запись ТВ
-    - name: vi-lang
-      value: Ghi lại TV
-    - name: zh-cn-lang
-      value: TV 录制
-    - name: zh-tw-lang
-      value: 電視錄製
-  - title: Konfigurasi Keamanan Jaringan
-    path: /preview/features/security-config.html
-    path_attributes:
-    - name: es-lang
-      value: Configuración de seguridad de la red
-    - name: ja-lang
-      value: ネットワーク セキュリティ構成
-    - name: ko-lang
-      value: 네트워크 보안 구성
-    - name: pt-br-lang
-      value: Configurações de segurança de rede
-    - name: ru-lang
-      value: Конфигурация сетевой безопасности
-    - name: vi-lang
-      value: Cấu hình Bảo mật mạng
-    - name: zh-cn-lang
-      value: 网络安全配置
-    - name: zh-tw-lang
-      value: 網路安全性設定
-  - title: Dukungan ICU4J
-    path: /preview/features/icu4j-framework.html
-    path_attributes:
-    - name: es-lang
-      value: API de ICU4J del framework de Android
-    - name: in-lang
-      value: ICU4J Android Framework API
-    - name: ja-lang
-      value: ICU4J Android フレームワーク API
-    - name: ko-lang
-      value: ICU4J Android 프레임워크 API
-    - name: pt-br-lang
-      value: APIs de estrutura do Android para ICU4J
-    - name: ru-lang
-      value: API-интерфейсы ICU4J в платформе Android
-    - name: vi-lang
-      value: API Khuôn khổ Android ICU4J
-    - name: zh-cn-lang
-      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
-    path: /preview/features/scoped-folder-access.html
-    path_attributes:
-    - name: es-lang
-      value: Acceso a directorios determinados
-    - name: ja-lang
-      value: 特定のディレクトリへのアクセス
-    - name: ko-lang
-      value: 범위가 지정된 디렉터리 액세스
-    - name: pt-br-lang
-      value: Acesso a diretórios com escopo
-    - name: ru-lang
-      value: Доступ к выделенным каталогам
-    - name: vi-lang
-      value: Truy cập Thư mục theo Phạm vi
-    - name: zh-cn-lang
-      value: 作用域目录访问
-    - name: zh-tw-lang
-      value: 限定範圍目錄存取
-
-- title: Contoh
-  path: /preview/samples.html
-  path_attributes:
-  - name: es-lang
-    value: Ejemplos
-  - name: in-lang
-    value: Contoh
-  - name: ja-lang
-    value: サンプル
-  - name: ko-lang
-    value: 샘플
-  - name: pt-br-lang
-    value: Exemplos
-  - name: ru-lang
-    value: Примеры
-  - name: zh-cn-lang
-    value: 示例
-  - name: zh-tw-lang
-    value: 範例
-
-- title: Perjanjian Lisensi
-  path: /preview/license.html
-  path_attributes:
-  - name: es-lang
-    value: Contrato de licencia
-  - name: ja-lang
-    value: 使用許諾契約
-  - name: ko-lang
-    value: 라이선스 계약
-  - name: pt-br-lang
-    value: Contrato de licença
-  - name: ru-lang
-    value: Лицензионное соглашение
-  - name: zh-cn-lang
-    value: 许可协议
-  - name: zh-tw-lang
-    value: 授權協議
diff --git a/docs/html-intl/intl/in/preview/download-ota.jd b/docs/html-intl/intl/in/preview/download-ota.jd
deleted file mode 100644
index 4adf9bb..0000000
--- a/docs/html-intl/intl/in/preview/download-ota.jd
+++ /dev/null
@@ -1,332 +0,0 @@
-page.title=Menerapkan Citra OTA Perangkat
-
-@jd:body
-
-<div style="position:relative; min-height:600px">
-
-  <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
-
-    <p class="sdk-terms-intro">Sebelum mengunduh dan memasang
-      komponen Android Preview SDK, Anda harus menyetujui ketentuan dan persyaratan
-    berikut.</p>
-
-    <h2 class="norule">Ketentuan dan Persyaratan</h2>
-
-    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
-Ini adalah Perjanjian Lisensi Android SDK Preview ("Perjanjian Lisensi").
-
-1. Pengantar
-
-1.1 Android SDK Preview (dalam Perjanjian Lisensi ini disebut "Pratinjau" dan secara spesifik termasuk file sistem Android, paket API, dan file pustaka Pratinjau, jika disediakan) diberikan lisensinya kepada Anda sesuai dengan ketentuan Perjanjian Lisensi. Perjanjian Lisensi ini merupakan kontrak yang mengikat secara hukum antara Anda dan Google dalam kaitannya dengan penggunaan Pratinjau oleh Anda.
-
-1.2 "Android" berarti tumpukan perangkat lunak Android untuk perangkat, seperti yang tersedia di Android Open Source Project, yang ada di URL berikut: http://source.android.com/, yang selalu diperbarui.
-
-1.3 “Kompatibel dengan Android” berarti segala implementasi Android yang (i) sesuai dengan Android Compatibility Definition Document, yang bisa ditemukan di situs web kompatibilitas Android (http://source.android.com/compatibility) dan yang selalu diperbarui; serta (ii) berhasil lulus Android Compatibility Test Suite (CTS).
-
-1.4 "Google" berarti Google Inc., perusahaan asal Delaware dengan kantor bisnis utama di 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-2. Menerima Perjanjian Lisensi
-
-2.1 Agar bisa menggunakan Pratinjau, Anda terlebih dahulu harus menyetujui Perjanjian Lisensi ini. Anda tidak boleh menggunakan Pratinjau jika tidak menerima Perjanjian Lisensi.
-
-2.2 Dengan mengklik untuk menerima dan/atau menggunakan Pratinjau, berarti Anda menyetujui ketentuan Perjanjian Lisensi.
-
-2.3 Anda tidak boleh menggunakan Pratinjau dan tidak boleh menerima Perjanjian Lisensi jika Anda adalah orang yang dilarang menerima Pratinjau berdasarkan hukum Amerika Serikat atau negara lainnya termasuk negara di mana Anda tinggal atau dari mana Anda menggunakan Pratinjau.
-
-2.4 Jika Anda akan menggunakan Pratinjau di lingkungan perusahaan atau organisasi Anda, berarti Anda setuju untuk terikat oleh Perjanjian Lisensi atas nama perusahaan Anda atau entitas lainnya, serta Anda mewakili dan menjamin bahwa Anda memiliki kewenangan hukum penuh untuk mengikat perusahaan Anda atau entitas tersebut pada Perjanjian Lisensi ini. Jika Anda tidak memiliki kewenangan yang disyaratkan, Anda tidak boleh menerima Perjanjian Lisensi atau menggunakan Pratinjau atas nama perusahaan Anda atau entitas lainnya.
-
-3. Lisensi Pratinjau dari Google
-
-3.1 Sesuai dengan ketentuan Perjanjian Lisensi ini, Google memberi Anda lisensi yang tidak bisa disublisensikan, non-eksklusif, tidak bisa dialihkan, bebas royalti, bersifat global dan terbatas dalam menggunakan Pratinjau hanya untuk keperluan pengembangan aplikasi yang kompatibel untuk diimplementasikan pada Android.
-
-3.2 Anda tidak boleh menggunakan Pratinjau ini untuk mengembangkan aplikasi platform lain (termasuk implementasi yang tidak kompatibel pada Android) atau untuk mengembangkan SDK lain. Anda tentu saja bebas mengembangkan aplikasi untuk platform lain, termasuk implementasi yang tidak kompatibel pada Android, karena Pratinjau ini tidak digunakan untuk tujuan tersebut.
-
-3.3 Anda setuju bahwa Google atau pihak ketiga memiliki semua hak, kuasa dan kepentingan hukum dalam dan pada Pratinjau, termasuk Hak Kekayaan Intelektual yang terdapat dalam Pratinjau. "Hak Kekayaan Intelektual" berarti setiap dan semua hak yang berdasarkan pada hukum paten, hukum hak cipta, hukum rahasia dagang, hukum merek dagang, dan setiap dan semua hak kepemilikan lainnya. Google memiliki semua hak yang tidak secara tersurat diberikan kepada Anda.
-
-3.4 Anda tidak boleh menggunakan Pratinjau untuk tujuan apa pun yang tidak secara tersurat diizinkan dalam Perjanjian Lisensi ini. Kecuali sejauh yang diperlukan oleh lisensi pihak ketiga yang berlaku, Anda tidak boleh: (a) menyalin (kecuali untuk keperluan pencadangan), memodifikasi, mengadaptasi, mendistribusikan kembali, mendekompilasi, merekayasa balik, membongkar atau membuat karya turunan dari Pratinjau atau bagian apa pun dari Pratinjau; atau (b) memuat bagian apa pun dari Pratinjau ke sebuah handset ponsel atau perangkat keras selain komputer pribadi, menggabungkan suatu bagian dari Pratinjau dengan perangkat lunak lain, atau mendistribusikan perangkat lunak atau perangkat yang menggabungkan suatu bagian dari Pratinjau.
-
-3.5 Penggunaan, reproduksi dan distribusi komponen Pratinjau yang berlisensi perangkat lunak sumber terbuka diatur semata-mata oleh ketentuan lisensi perangkat lunak sumber terbuka tersebut dan bukan oleh Perjanjian Lisensi ini. Anda menyetujui bagian selebihnya dari lisensi dengan maksud baik sehubungan dengan lisensi perangkat lunak sumber terbuka tersebut sesuai dengan semua hak yang diberikan dan untuk menahan diri dari segala tindakan yang mungkin akan mengakhiri, menangguhkan, atau melanggar hak tersebut.
-
-3.6 Anda setuju bahwa bentuk dan sifat Pratinjau yang disediakan oleh Google dapat berubah tanpa pemberitahuan sebelumnya kepada Anda dan bahwa versi Pratinjau mendatang mungkin tidak kompatibel dengan aplikasi yang dikembangkan di versi Pratinjau sebelumnya. Anda setuju bahwa Google boleh menghentikan (secara permanen atau sementara) penyediaan Pratinjau (atau fitur apa pun dalam Pratinjau) kepada Anda atau pengguna pada umumnya atas kebijakan Google semata, tanpa pemberitahuan sebelumnya kepada Anda.
-
-3.7 Perjanjian Lisensi ini tidak memberi Anda hak untuk menggunakan nama dagang, merek dagang, merek layanan, logo, nama domain, atau fitur merek khas Google lainnya.
-
-3.8 Anda setuju bahwa Anda tidak akan membuang, mengaburkan, atau mengubah pernyataan hak kepemilikan apa pun (termasuk pemberitahuan hak cipta dan merek dagang) yang terlampir atau termuat dalam Pratinjau.
-
-4. Penggunaan Pratinjau oleh Anda
-
-4.1 Google setuju bahwa Perjanjian Lisensi ini tidak memberi Google hak, kuasa, dan kepentingan hukum dari Anda (atau pemberi lisensi Anda) dalam atau pada aplikasi perangkat lunak apa pun yang Anda kembangkan menggunakan Pratinjau ini, termasuk kekayaan intelektual yang ada dalam aplikasi tersebut.
-
-4.2 Anda setuju untuk menggunakan Pratinjau dan menulis aplikasi hanya untuk tujuan yang diizinkan oleh (a) Perjanjian Lisensi, dan (b) hukum yang berlaku, peraturan atau praktik yang diterima secara umum atau panduan dalam yurisdiksi terkait (termasuk hukum mengenai ekspor data atau perangkat lunak ke dan dari Amerika Serikat atau negara lain yang terkait).
-
-4.3 Anda setuju jika Anda menggunakan Pratinjau untuk mengembangkan aplikasi, Anda akan melindungi hak privasi dan hak hukum pengguna. Jika pengguna memberikan nama pengguna, sandi, atau informasi login atau informasi pribadinya, Anda harus membuat pengguna tersebut menyadari bahwa informasi yang diberikannya akan bisa digunakan oleh aplikasi Anda, dan Anda harus memberikan perlindungan dan pemberitahuan privasi yang memadai secara hukum bagi pengguna tersebut. Jika aplikasi Anda menyimpan informasi pribadi atau sensitif yang diberikan oleh pengguna, aplikasi Anda harus melakukannya dengan aman. Jika pengguna memberikan informasi Akun Google, aplikasi Anda hanya boleh menggunakan informasi tersebut untuk mengakses Akun Google pengguna saat, dan untuk tujuan terbatas di mana, pengguna tersebut telah memberikan izin kepada Anda untuk melakukannya.
-
-4.4 Anda setuju bahwa Anda tidak akan terlibat dalam aktivitas apa pun dengan Pratinjau, termasuk pengembangan atau distribusi aplikasi yang mengganggu, mengacaukan, merusak, atau mengakses secara tidak sah server, jaringan atau properti layanan Google atau pihak ketiga lainnya.
-
-4.5 Anda setuju bertanggung jawab penuh untuk (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) data, materi, atau sumber daya apa pun yang Anda buat, kirimkan atau tampilkan melalui Android dan/atau aplikasi untuk Android, dan terhadap konsekuensi tindakan Anda (termasuk kerugian atau kerusakan apa pun yang mungkin dialami Google).
-
-4.6 Anda setuju bertanggung jawab penuh terhadap (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) pelanggaran kewajiban Anda berdasarkan Perjanjian Lisensi ini, kontrak pihak ketiga yang berlaku atau Ketentuan Layanan, atau hukum atau peraturan yang berlaku, dan terhadap konsekuensi (termasuk kerugian atau kerusakan yang mungkin dialami Google atau pihak ketiga lainnya) akibat pelanggaran tersebut.
-
-4.7 Pratinjau ini dalam tahap pengembangan, dan pengujian serta masukan Anda merupakan bagian penting dalam proses pengembangan. Dengan menggunakan Pratinjau, Anda mengakui bahwa implementasi beberapa fitur masih dalam tahap pengembangan dan bahwa Anda tidak seharusnya mengandalkan Pratinjau berfungsi sepenuhnya sebagaimana pada rilis stabil. Anda setuju untuk tidak mendistribusikan atau mengirimkan untuk umum penggunaan aplikasi menggunakan Pratinjau karena Pratinjau ini tidak akan lagi didukung setelah Android SDK dirilis secara resmi.
-
-5. Kredensial Pengembang Anda
-
-5.1 Anda setuju bertanggung jawab untuk menjaga kerahasiaan semua kredensial pengembang yang mungkin diberikan Google kepada Anda atau yang mungkin Anda pilih sendiri dan bahwa Anda akan bertanggung jawab penuh terhadap semua aplikasi yang dikembangkan dengan kredensial pengembang Anda.
-
-6. Privasi dan Informasi
-
-6.1 Untuk terus berinovasi dan meningkatkan Pratinjau, Google boleh mengumpulkan statistik penggunaan tertentu dari perangkat lunak termasuk namun tidak terbatas pada identifier unik, alamat IP terkait, nomor versi perangkat lunak, dan informasi yang menjadi tempat penggunaan alat dan/atau layanan dalam Pratinjau dan cara penggunaannya. Sebelum informasi ini dikumpulkan, Pratinjau akan memberi tahu dan meminta persetujuan Anda. Jika Anda tidak memberikan persetujuan, informasi tersebut tidak akan dikumpulkan.
-
-6.2 Data yang dikumpulkan akan diperiksa secara agregat untuk meningkatkan Pratinjau dan dikelola sesuai dengan Kebijakan Privasi Google yang terdapat di http://www.google.com/policies/privacy.
-
-7. Aplikasi Pihak Ketiga
-
-7.1 Jika Anda menggunakan Pratinjau untuk menjalankan aplikasi yang dikembangkan oleh pihak ketiga atau yang mengakses data, materi atau sumber daya yang disediakan oleh pihak ketiga, Anda setuju bahwa Google tidak bertanggung jawab terhadap aplikasi, data, materi atau sumber daya tersebut. Anda memahami bahwa semua data, materi atau sumber daya yang mungkin Anda akses melalui aplikasi pihak ketiga merupakan tanggung jawab penuh dari pihak yang menjadi asal data tersebut dan Google tidak bertanggung jawab terhadap kerugian atau kerusakan apa pun yang mungkin Anda alami sebagai akibat menggunakan atau mengakses aplikasi, data, materi, atau sumber daya pihak ketiga tersebut.
-
-7.2 Anda harus menyadari bahwa data, materi dan sumber daya yang diberikan kepada Anda melalui aplikasi pihak ketiga mungkin dilindungi oleh hak kekayaan intelektual yang dimiliki oleh penyedia (atau oleh orang lain atau perusahaan atas nama mereka). Anda tidak boleh memodifikasi, menyewakan, menyewabelikan, meminjamkan, menjual, mendistribusikan atau membuat karya turunan berdasarkan data, materi, atau sumber daya ini (baik secara keseluruhan atau sebagian) kecuali Anda secara khusus diberikan izin untuk melakukannya oleh pemilik yang bersangkutan.
-
-7.3 Anda mengakui bahwa penggunaan Anda atas aplikasi, data, materi, atau sumber daya pihak ketiga semacam itu tunduk pada ketentuan terpisah antara Anda dan pihak ketiga yang bersangkutan.
-
-8. Menggunakan Google API
-
-8.1 Google API
-
-8.1.1 Jika Anda menggunakan API (Antarmuka Pemrograman Aplikasi) untuk mengambil data dari Google, Anda mengakui bahwa data tersebut dilindungi hak kekayaan intelektual yang dimiliki Google atau pihak-pihak yang menyediakan data (atau oleh orang lain atau perusahaan atas nama mereka). Penggunaan API oleh Anda tunduk pada Ketentuan Layanan tambahan. Anda tidak boleh memodifikasi, menyewakan, menyewabelikan, meminjamkan, menjual, mendistribusikan atau membuat karya turunan berdasarkan data ini (baik secara keseluruhan atau sebagian) kecuali diizinkan oleh Ketentuan Layanan yang bersangkutan.
-
-8.1.2 Jika Anda menggunakan API dalam bentuk apa pun untuk mengambil data pengguna dari Google, Anda mengakui dan menyetujui bahwa Anda akan mengambil data hanya dengan persetujuan yang jelas dari pengguna dan hanya bila, dan sebatas keperluan yang diizinkan oleh pengguna tersebut untuk Anda lakukan.
-
-9. Mengakhiri Perjanjian Lisensi
-
-9.1 Perjanjian Lisensi ini akan terus berlaku hingga diakhiri oleh Anda atau Google sebagaimana diatur di bawah ini.
-
-9.2 Jika Anda ingin mengakhiri Perjanjian Lisensi ini, Anda boleh melakukannya dengan menghentikan penggunaan Pratinjau dan kredensial pengembang yang relevan.
-
-9.3 Google boleh mengakhiri Perjanjian Lisensi ini dengan Anda kapan saja, dengan atau tanpa sebab, setelah memberi tahu Anda.
-
-9.4 Perjanjian Lisensi akan berakhir secara otomatis tanpa pemberitahuan atau tindakan lainnya bila, mana saja yang lebih dahulu:
-(A) Google berhenti menyediakan Pratinjau atau bagian Pratinjau tertentu kepada pengguna di negara tempat Anda tinggal atau negara tempat asal Anda menggunakan layanan; dan
-(B) Google mengeluarkan versi rilis final dari Android SDK.
-
-9.5 Bila Perjanjian Lisensi berakhir, lisensi yang telah diberikan kepada Anda dalam Perjanjian Lisensi akan berakhir pula, Anda akan segera menghentikan semua penggunaan Pratinjau, dan ketetapan paragraf 10, 11, 12, dan 14 akan terus berlaku secara tak terbatas.
-
-10. SANGGAHAN
-
-10.1 ANDA SEPENUHNYA MEMAHAMI DAN MENYETUJUI BAHWA PENGGUNAAN PRATINJAU OLEH ANDA MERUPAKAN RISIKO ANDA SENDIRI DAN BAHWA PRATINJAU INI DISEDIAKAN "APA ADANYA" DAN "SEBAGAIMANA TERSEDIA" TANPA JAMINAN DALAM BENTUK APA PUN DARI GOOGLE.
-
-10.2 PENGGUNAAN PRATINJAU DAN MATERI APA PUN YANG DIUNDUH ATAU DIPEROLEH MELALUI PENGGUNAAN PRATINJAU OLEH ANDA ADALAH ATAS KEHENDAK DAN RISIKO ANDA SENDIRI DAN ANDA BERTANGGUNG JAWAB PENUH TERHADAP KERUSAKAN PADA SISTEM KOMPUTER ATAU PERANGKAT LAIN ATAU HILANGNYA DATA AKIBAT PENGGUNAAN TERSEBUT. TANPA MEMBATASI HAL TERSEBUT, ANDA MEMAHAMI BAHWA PRATINJAU BUKANLAH RILIS STABIL DAN MUNGKIN BERISI KESALAHAN, CACAT, DAN RISIKO KEAMANAN YANG BISA MENGAKIBATKAN KERUSAKAN SIGNIFIKAN, TERMASUK KEHILANGAN PENGGUNAAN ATAS SISTEM KOMPUTER ANDA ATAU PERANGKAT LAIN DENGAN SEPENUHNYA DAN TIDAK BISA DIPULIHKAN LAGI.
-
-10.3 GOOGLE LEBIH LANJUT MENYANGGAH SEMUA JAMINAN DAN PERSYARATAN APA PUN, BAIK TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN TERSIRAT DAN PERSYARATAN MENGENAI DAYA JUAL, KESESUAIAN DENGAN TUJUAN TERTENTU, DAN NON-PELANGGARAN.
-
-11. PEMBATASAN KEWAJIBAN
-
-11.1 ANDA SEPENUHNYA MEMAHAMI DAN MENYETUJUI BAHWA GOOGLE, ANAK PERUSAHAAN DAN AFILIASINYA, DAN PEMBERI LISENSINYA TIDAK AKAN BERTANGGUNG JAWAB KEPADA ANDA BERDASARKAN TEORI KEWAJIBAN TERHADAP SEGALA KERUGIAN LANGSUNG, TIDAK LANGSUNG, INSIDENTAL, KHUSUS, JANGKA PANJANG ATAU GANTI RUGI YANG DIAKIBATKAN OLEH ANDA, TERMASUK HILANGNYA DATA, WALAUPUN GOOGLE ATAU PERWAKILANNYA TELAH DIBERI TAHU ATAU SEHARUSNYA MENGETAHUI KEMUNGKINAN TIMBULNYA KEHILANGAN TERSEBUT.
-
-12. Penggantian Kerugian
-
-12.1 Sejauh maksimum yang diizinkan oleh hukum, Anda setuju untuk membela, mengganti kerugian dan melepaskan tanggung jawab Google, afiliasinya beserta direksi, petugas, karyawan dan agennya dari dan terhadap setiap dan semua klaim, tindakan, gugatan, proses hukum, serta setiap dan semua kehilangan, kewajiban, kerusakan, biaya dan pengeluaran (termasuk biaya pengacara yang sewajarnya) yang timbul atau diakibatkan dari (a) penggunaan Pratinjau oleh Anda, (b) aplikasi apa pun yang Anda kembangkan dari Pratinjau yang melanggar Hak Kekayaan Intelektual seseorang atau mencemarkan nama baik seseorang atau melanggar hak mereka berkaitan dengan publisitas atau privasi, dan (c) ketidakpatuhan Anda terhadap Perjanjian Lisensi ini.
-
-13. Perubahan pada Perjanjian Lisensi
-
-13.1 Google boleh membuat perubahan pada Perjanjian Lisensi saat mendistribusikan versi baru Pratinjau. Saat perubahan tersebut dibuat, Google akan menyediakan versi baru Perjanjian Lisensi di situs web penyediaan Pratinjau.
-
-14. Ketentuan Hukum Umum
-
-14.1 Perjanjian Lisensi ini merupakan perjanjian hukum antara Anda dan Google dan mengatur penggunaan Pratinjau oleh Anda (tidak termasuk layanan apa pun yang mungkin disediakan Google untuk Anda dalam perjanjian tertulis terpisah), dan sepenuhnya menggantikan perjanjian sebelumnya antara Anda dan Google dalam kaitannya dengan Pratinjau.
-
-14.2 Anda setuju bahwa jika Google tidak menjalankan atau menerapkan hak atau upaya hukum yang terkandung dalam Perjanjian Lisensi ini (atau bila Google memiliki kewenangan berdasarkan hukum yang berlaku), tindakan ini tidak akan dianggap sebagai pelepasan hak secara resmi oleh Google dan bahwa hak atau upaya hukum tersebut akan tetap bisa digunakan oleh Google.
-
-14.3 Jika persidangan hukum yang berwenang untuk memutuskan perkara ini menetapkan bahwa ada ketetapan Perjanjian Lisensi ini yang tidak valid, maka ketetapan tersebut akan dihapus dari Perjanjian Lisensi tanpa memengaruhi bagian selebihnya dari Perjanjian Lisensi ini. Ketetapan selebihnya dari Perjanjian Lisensi ini akan tetap sah dan berlaku.
-
-14.4 Anda mengakui dan menyetujui bahwa setiap anggota dari kelompok perusahaan yang diinduki oleh Google akan menjadi pihak ketiga penerima manfaat dari Perjanjian Lisensi ini dan bahwa perusahaan tersebut berhak untuk secara langsung memberlakukan, dan bergantung pada, ketetapan yang dimuat dalam Perjanjian Lisensi ini yang memberikan manfaat (atau hak yang mendukung) kepada mereka. Selain yang telah disebutkan di atas, tidak ada orang atau perusahaan lain yang akan menjadi pihak ketiga penerima manfaat dari Perjanjian Lisensi ini
-
-14.5 PEMBATASAN EKSPOR. PRATINJAU TUNDUK PADA HUKUM DAN PERATURAN EKSPOR AMERIKA SERIKAT. ANDA HARUS MEMATUHI SEMUA HUKUM DAN PERATURAN NASIONAL DAN INTERNASIONAL YANG BERLAKU PADA PRATINJAU. HUKUM INI MENYERTAKAN PEMBATASAN ATAS TUJUAN, PENGGUNA AKHIR DAN PENGGUNAAN AKHIR
-
-14.6 Perjanjian Lisensi ini tidak boleh diberikan atau dialihkan baik oleh Anda tanpa persetujuan tertulis sebelumnya dari Google, dan upaya apa pun untuk mengalihkannya tanpa persetujuan akan menjadi tidak sah. Anda tidak boleh mendelegasikan tanggung jawab atau kewajiban berdasarkan Perjanjian Lisensi ini tanpa persetujuan tertulis sebelumnya dari pihak lain.
-
-14.7 Perjanjian Lisensi ini, dan hubungan Anda dengan Google berdasarkan Perjanjian Lisensi ini, akan diatur oleh hukum Negara Bagian California tanpa mengindahkan pertentangan ketetapan hukumnya. Anda dan Google setuju untuk tunduk pada yurisdiksi eksklusif pengadilan yang berlokasi di county Santa Clara, California untuk menyelesaikan segala masalah hukum yang timbul dari Perjanjian Lisensi ini. Meski demikian, Anda setuju bahwa Google akan tetap diizinkan untuk mengajukan upaya hukum (atau tipe keringanan hukum setara yang mendesak) dalam yurisdiksi apa pun.
-  </div><!-- sdk terms -->
-
-
-
-    <div id="sdk-terms-form">
-      <p>
-        <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">Saya telah membaca dan menyetujui ketentuan dan persyaratan di atas</label>
-      </p>
-      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-    </div>
-
-
-  </div><!-- end TOS -->
-
-
-  <div id="landing">
-
-<p>
-  Halaman ini menyediakan tautan ke citra perangkat lewat jaringan seluler (OTA) dan menjelaskan
-  cara menerapkan pembaruan OTA secara manual ke suatu perangkat. Prosedur ini berguna
-  untuk memulihkan perangkat yang menerima pembaruan OTA melalui Android Beta
-  Program dan tidak jalan setelah pembaruan dipasang.
-</p>
-
-<h2 id="install-ota">Memasang Citra OTA</h2>
-
-<p></p>
-
-<p>Untuk pasang OTA pada perangkat:</p>
-
-<ol>
-  <li>Unduh citra perangkat OTA dari tabel di bawah.</li>
-  <li>Boot ulang perangkat ke dalam mode Recovery. Untuk informasi selengkapnya mengenai cara masuk ke mode ini
-    di perangkat Nexus, lihat
-    <a href="https://support.google.com/nexus/answer/4596836">Setel ulang perangkat Nexus
-      Anda ke setelan pabrik</a>.
-  </li>
-  <li>Pada perangkat, pilih <strong>ADB sideload</strong>.</li>
-  <li>Hubungkan perangkat ke komputer dengan lingkungan pengembangan Android
-     yang telah dimuat dan alat Android Debug Bridge (adb) yang telah dipasang.</li>
-  <li>Jalankan perintah berikut:
-    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
-  </li>
-</ol>
-
-
-
-<h2 id="ota-images">Citra OTA Perangkat</h2>
-
-<table>
-  <tr>
-    <th scope="col">Perangkat</th>
-    <th scope="col">Unduhan / Checksum</th>
-  </tr>
-
-  <tr id="bullhead">
-    <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-ota-npd90g-0a874807.zip</a><br>
-      MD5: 4b83b803fac1a6eec13f66d0afc6f46e<br>
-      SHA-1: a9920bcc8d475ce322cada097d085448512635e2
-    </td>
-  </tr>
-
-  <tr id="shamu">
-    <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >shamu-ota-npd90g-06f5d23d.zip</a><br>
-      MD5: 513570bb3a91878c2d1a5807d2340420<br>
-      SHA-1: 2d2f40636c95c132907e6ba0d10b395301e969ed
-    </td>
-  </tr>
-
-  <tr id="angler">
-    <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >angler-ota-npd90g-5baa69c2.zip</a><br>
-      MD5: 096fe26c5d50606a424d2f3326c0477b<br>
-      SHA-1: 468d2e7aea444505513ddc183c85690c00fab0c1
-    </td>
-  </tr>
-
-  <tr id="volantis">
-    <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantis-ota-npd90g-c04785e1.zip</a><br>
-      MD5: 6aecd3b0b3a839c5ce1ce4d12187b03e<br>
-      SHA-1: 31633180635b831e59271a7d904439f278586f49
-    </td>
-  </tr>
-
-  <tr id="volantisg">
-    <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-ota-npd90g-c56aa1b0.zip</a><br>
-      MD5: 0493fa79763d67bcdde8007299e1888d<br>
-      SHA-1: f709daf81968a1b27ed41fe40d42e0d106f3c494
-    </td>
-  </tr>
-
-  <tr id="fugu">
-    <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >fugu-ota-npd90g-3a0643ae.zip</a><br>
-      MD5: 9c38b6647fe5a4f2965196b7c409f0f7<br>
-      SHA-1: 77c6fb05191f0c2ae0956bae18f1c80b2f922f05
-    </td>
-  </tr>
-
-  <tr id="ryu">
-    <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >ryu-ota-npd90g-ec931914.zip</a><br>
-      MD5: 4c6135498ca156a9cdaf443ddfdcb2ba<br>
-      SHA-1: 297cc9a204685ef5507ec087fc7edf5b34551ce6
-    </td>
-  </tr>
-
-  <tr id="seed">
-    <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-ota-npd90g-dcb0662d.zip</a><br>
-      MD5: f40ea6314a13ea6dd30d0e68098532a2<br>
-      SHA-1: 11af10b621f4480ac63f4e99189d61e1686c0865
-    </td>
-  </tr>
-
-</table>
-
-
-  </div><!-- landing -->
-
-</div><!-- relative wrapper -->
-
-
-
-<script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/ota/";
-  function onDownload(link) {
-
-    $("#downloadForRealz").html("Download " + $(link).text());
-    $("#downloadForRealz").attr('href', urlRoot + $(link).text());
-
-    $("#tos").fadeIn('fast');
-    $("#landing").fadeOut('fast');
-
-    return true;
-  }
-
-
-  function onAgreeChecked() {
-    /* verifikasi apakah TOS disetujui */
-    if ($("input#agree").is(":checked")) {
-      /* tampilkan tombol unduh */
-      $("a#downloadForRealz").removeClass('disabled');
-    } else {
-      $("a#downloadForRealz").addClass('disabled');
-    }
-  }
-
-  function onDownloadForRealz(link) {
-    if ($("input#agree").is(':checked')) {
-    /*
-      $("#tos").fadeOut('fast');
-      $("#landing").fadeIn('fast');
-    */
-
-      ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
-
-    /*
-      location.hash = "";
-    */
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  $(window).hashchange( function(){
-    if (location.hash == "") {
-      location.reload();
-    }
-  });
-
-</script>
diff --git a/docs/html-intl/intl/in/preview/download.jd b/docs/html-intl/intl/in/preview/download.jd
deleted file mode 100644
index e6714bb..0000000
--- a/docs/html-intl/intl/in/preview/download.jd
+++ /dev/null
@@ -1,544 +0,0 @@
-page.title=Menguji pada Perangkat
-meta.tags="preview", "nexus","system image"
-page.tags="preview", "androidn"
-page.image=images/cards/card-n-downloads_2x.png
-
-@jd:body
-
-<div style="position:relative; min-height:600px">
-
-  <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
-
-    <p class="sdk-terms-intro">Sebelum mengunduh dan memasang
-      komponen Android Preview SDK, Anda harus menyetujui ketentuan dan persyaratan
-    berikut.</p>
-
-    <h2 class="norule">Ketentuan dan Persyaratan</h2>
-
-    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
-Ini adalah Perjanjian Lisensi Android SDK Preview ("Perjanjian Lisensi").
-
-1. Pengantar
-
-1.1 Android SDK Preview (dalam Perjanjian Lisensi ini disebut "Pratinjau" dan secara spesifik termasuk file sistem Android, paket API, dan file pustaka Pratinjau, jika disediakan) diberikan lisensinya kepada Anda sesuai dengan ketentuan Perjanjian Lisensi. Perjanjian Lisensi ini merupakan kontrak yang mengikat secara hukum antara Anda dan Google dalam kaitannya dengan penggunaan Pratinjau oleh Anda.
-
-1.2 "Android" berarti tumpukan perangkat lunak Android untuk perangkat, seperti yang tersedia di Android Open Source Project, yang ada di URL berikut: http://source.android.com/, yang selalu diperbarui.
-
-1.3 “Kompatibel dengan Android” berarti segala implementasi Android yang (i) sesuai dengan Android Compatibility Definition Document, yang bisa ditemukan di situs web kompatibilitas Android (http://source.android.com/compatibility) dan yang selalu diperbarui; serta (ii) berhasil lulus Android Compatibility Test Suite (CTS).
-
-1.4 "Google" berarti Google Inc., perusahaan asal Delaware dengan kantor bisnis utama di 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-2. Menerima Perjanjian Lisensi
-
-2.1 Agar bisa menggunakan Pratinjau, Anda terlebih dahulu harus menyetujui Perjanjian Lisensi ini. Anda tidak boleh menggunakan Pratinjau jika tidak menerima Perjanjian Lisensi.
-
-2.2 Dengan mengklik untuk menerima dan/atau menggunakan Pratinjau, berarti Anda menyetujui ketentuan Perjanjian Lisensi.
-
-2.3 Anda tidak boleh menggunakan Pratinjau dan tidak boleh menerima Perjanjian Lisensi jika Anda adalah orang yang dilarang menerima Pratinjau berdasarkan hukum Amerika Serikat atau negara lainnya termasuk negara di mana Anda tinggal atau dari mana Anda menggunakan Pratinjau.
-
-2.4 Jika Anda akan menggunakan Pratinjau di lingkungan perusahaan atau organisasi Anda, berarti Anda setuju untuk terikat oleh Perjanjian Lisensi atas nama perusahaan Anda atau entitas lainnya, serta Anda mewakili dan menjamin bahwa Anda memiliki kewenangan hukum penuh untuk mengikat perusahaan Anda atau entitas tersebut pada Perjanjian Lisensi ini. Jika Anda tidak memiliki kewenangan yang disyaratkan, Anda tidak boleh menerima Perjanjian Lisensi atau menggunakan Pratinjau atas nama perusahaan Anda atau entitas lainnya.
-
-3. Lisensi Pratinjau dari Google
-
-3.1 Sesuai dengan ketentuan Perjanjian Lisensi ini, Google memberi Anda lisensi yang tidak bisa disublisensikan, non-eksklusif, tidak bisa dialihkan, bebas royalti, bersifat global dan terbatas dalam menggunakan Pratinjau hanya untuk keperluan pengembangan aplikasi yang kompatibel untuk diimplementasikan pada Android.
-
-3.2 Anda tidak boleh menggunakan Pratinjau ini untuk mengembangkan aplikasi platform lain (termasuk implementasi yang tidak kompatibel pada Android) atau untuk mengembangkan SDK lain. Anda tentu saja bebas mengembangkan aplikasi untuk platform lain, termasuk implementasi yang tidak kompatibel pada Android, karena Pratinjau ini tidak digunakan untuk tujuan tersebut.
-
-3.3 Anda setuju bahwa Google atau pihak ketiga memiliki semua hak, kuasa dan kepentingan hukum dalam dan pada Pratinjau, termasuk Hak Kekayaan Intelektual yang terdapat dalam Pratinjau. "Hak Kekayaan Intelektual" berarti setiap dan semua hak yang berdasarkan pada hukum paten, hukum hak cipta, hukum rahasia dagang, hukum merek dagang, dan setiap dan semua hak kepemilikan lainnya. Google memiliki semua hak yang tidak secara tersurat diberikan kepada Anda.
-
-3.4 Anda tidak boleh menggunakan Pratinjau untuk tujuan apa pun yang tidak secara tersurat diizinkan dalam Perjanjian Lisensi ini. Kecuali sejauh yang diperlukan oleh lisensi pihak ketiga yang berlaku, Anda tidak boleh: (a) menyalin (kecuali untuk keperluan pencadangan), memodifikasi, mengadaptasi, mendistribusikan kembali, mendekompilasi, merekayasa balik, membongkar atau membuat karya turunan dari Pratinjau atau bagian apa pun dari Pratinjau; atau (b) memuat bagian apa pun dari Pratinjau ke sebuah handset ponsel atau perangkat keras selain komputer pribadi, menggabungkan suatu bagian dari Pratinjau dengan perangkat lunak lain, atau mendistribusikan perangkat lunak atau perangkat yang menggabungkan suatu bagian dari Pratinjau.
-
-3.5 Penggunaan, reproduksi dan distribusi komponen Pratinjau yang berlisensi perangkat lunak sumber terbuka diatur semata-mata oleh ketentuan lisensi perangkat lunak sumber terbuka tersebut dan bukan oleh Perjanjian Lisensi ini. Anda menyetujui bagian selebihnya dari lisensi dengan maksud baik sehubungan dengan lisensi perangkat lunak sumber terbuka tersebut sesuai dengan semua hak yang diberikan dan untuk menahan diri dari segala tindakan yang mungkin akan mengakhiri, menangguhkan, atau melanggar hak tersebut.
-
-3.6 Anda setuju bahwa bentuk dan sifat Pratinjau yang disediakan oleh Google dapat berubah tanpa pemberitahuan sebelumnya kepada Anda dan bahwa versi Pratinjau mendatang mungkin tidak kompatibel dengan aplikasi yang dikembangkan di versi Pratinjau sebelumnya. Anda setuju bahwa Google boleh menghentikan (secara permanen atau sementara) penyediaan Pratinjau (atau fitur apa pun dalam Pratinjau) kepada Anda atau pengguna pada umumnya atas kebijakan Google semata, tanpa pemberitahuan sebelumnya kepada Anda.
-
-3.7 Perjanjian Lisensi ini tidak memberi Anda hak untuk menggunakan nama dagang, merek dagang, merek layanan, logo, nama domain, atau fitur merek khas Google lainnya.
-
-3.8 Anda setuju bahwa Anda tidak akan membuang, mengaburkan, atau mengubah pernyataan hak kepemilikan apa pun (termasuk pemberitahuan hak cipta dan merek dagang) yang terlampir atau termuat dalam Pratinjau.
-
-4. Penggunaan Pratinjau oleh Anda
-
-4.1 Google setuju bahwa Perjanjian Lisensi ini tidak memberi Google hak, kuasa, dan kepentingan hukum dari Anda (atau pemberi lisensi Anda) dalam atau pada aplikasi perangkat lunak apa pun yang Anda kembangkan menggunakan Pratinjau ini, termasuk kekayaan intelektual yang ada dalam aplikasi tersebut.
-
-4.2 Anda setuju untuk menggunakan Pratinjau dan menulis aplikasi hanya untuk tujuan yang diizinkan oleh (a) Perjanjian Lisensi, dan (b) hukum yang berlaku, peraturan atau praktik yang diterima secara umum atau panduan dalam yurisdiksi terkait (termasuk hukum mengenai ekspor data atau perangkat lunak ke dan dari Amerika Serikat atau negara lain yang terkait).
-
-4.3 Anda setuju jika Anda menggunakan Pratinjau untuk mengembangkan aplikasi, Anda akan melindungi hak privasi dan hak hukum pengguna. Jika pengguna memberikan nama pengguna, sandi, atau informasi login atau informasi pribadinya, Anda harus membuat pengguna tersebut menyadari bahwa informasi yang diberikannya akan bisa digunakan oleh aplikasi Anda, dan Anda harus memberikan perlindungan dan pemberitahuan privasi yang memadai secara hukum bagi pengguna tersebut. Jika aplikasi Anda menyimpan informasi pribadi atau sensitif yang diberikan oleh pengguna, aplikasi Anda harus melakukannya dengan aman. Jika pengguna memberikan informasi Akun Google, aplikasi Anda hanya boleh menggunakan informasi tersebut untuk mengakses Akun Google pengguna saat, dan untuk tujuan terbatas di mana, pengguna tersebut telah memberikan izin kepada Anda untuk melakukannya.
-
-4.4 Anda setuju bahwa Anda tidak akan terlibat dalam aktivitas apa pun dengan Pratinjau, termasuk pengembangan atau distribusi aplikasi yang mengganggu, mengacaukan, merusak, atau mengakses secara tidak sah server, jaringan atau properti layanan Google atau pihak ketiga lainnya.
-
-4.5 Anda setuju bertanggung jawab penuh untuk (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) data, materi, atau sumber daya apa pun yang Anda buat, kirimkan atau tampilkan melalui Android dan/atau aplikasi untuk Android, dan terhadap konsekuensi tindakan Anda (termasuk kerugian atau kerusakan apa pun yang mungkin dialami Google).
-
-4.6 Anda setuju bertanggung jawab penuh terhadap (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) pelanggaran kewajiban Anda berdasarkan Perjanjian Lisensi ini, kontrak pihak ketiga yang berlaku atau Ketentuan Layanan, atau hukum atau peraturan yang berlaku, dan terhadap konsekuensi (termasuk kerugian atau kerusakan yang mungkin dialami Google atau pihak ketiga lainnya) akibat pelanggaran tersebut.
-
-4.7 Pratinjau ini dalam tahap pengembangan, dan pengujian serta masukan Anda merupakan bagian penting dalam proses pengembangan. Dengan menggunakan Pratinjau, Anda mengakui bahwa implementasi beberapa fitur masih dalam tahap pengembangan dan bahwa Anda tidak seharusnya mengandalkan Pratinjau berfungsi sepenuhnya sebagaimana pada rilis stabil. Anda setuju untuk tidak mendistribusikan atau mengirimkan untuk umum penggunaan aplikasi menggunakan Pratinjau karena Pratinjau ini tidak akan lagi didukung setelah Android SDK dirilis secara resmi.
-
-5. Kredensial Pengembang Anda
-
-5.1 Anda setuju bertanggung jawab untuk menjaga kerahasiaan semua kredensial pengembang yang mungkin diberikan Google kepada Anda atau yang mungkin Anda pilih sendiri dan bahwa Anda akan bertanggung jawab penuh terhadap semua aplikasi yang dikembangkan dengan kredensial pengembang Anda.
-
-6. Privasi dan Informasi
-
-6.1 Untuk terus berinovasi dan meningkatkan Pratinjau, Google boleh mengumpulkan statistik penggunaan tertentu dari perangkat lunak termasuk namun tidak terbatas pada identifier unik, alamat IP terkait, nomor versi perangkat lunak, dan informasi yang menjadi tempat penggunaan alat dan/atau layanan dalam Pratinjau dan cara penggunaannya. Sebelum informasi ini dikumpulkan, Pratinjau akan memberi tahu dan meminta persetujuan Anda. Jika Anda tidak memberikan persetujuan, informasi tersebut tidak akan dikumpulkan.
-
-6.2 Data yang dikumpulkan akan diperiksa secara agregat untuk meningkatkan Pratinjau dan dikelola sesuai dengan Kebijakan Privasi Google yang terdapat di http://www.google.com/policies/privacy.
-
-7. Aplikasi Pihak Ketiga
-
-7.1 Jika Anda menggunakan Pratinjau untuk menjalankan aplikasi yang dikembangkan oleh pihak ketiga atau yang mengakses data, materi atau sumber daya yang disediakan oleh pihak ketiga, Anda setuju bahwa Google tidak bertanggung jawab terhadap aplikasi, data, materi atau sumber daya tersebut. Anda memahami bahwa semua data, materi atau sumber daya yang mungkin Anda akses melalui aplikasi pihak ketiga merupakan tanggung jawab penuh dari pihak yang menjadi asal data tersebut dan Google tidak bertanggung jawab terhadap kerugian atau kerusakan apa pun yang mungkin Anda alami sebagai akibat menggunakan atau mengakses aplikasi, data, materi, atau sumber daya pihak ketiga tersebut.
-
-7.2 Anda harus menyadari bahwa data, materi dan sumber daya yang diberikan kepada Anda melalui aplikasi pihak ketiga mungkin dilindungi oleh hak kekayaan intelektual yang dimiliki oleh penyedia (atau oleh orang lain atau perusahaan atas nama mereka). Anda tidak boleh memodifikasi, menyewakan, menyewabelikan, meminjamkan, menjual, mendistribusikan atau membuat karya turunan berdasarkan data, materi, atau sumber daya ini (baik secara keseluruhan atau sebagian) kecuali Anda secara khusus diberikan izin untuk melakukannya oleh pemilik yang bersangkutan.
-
-7.3 Anda mengakui bahwa penggunaan Anda atas aplikasi, data, materi, atau sumber daya pihak ketiga semacam itu tunduk pada ketentuan terpisah antara Anda dan pihak ketiga yang bersangkutan.
-
-8. Menggunakan Google API
-
-8.1 Google API
-
-8.1.1 Jika Anda menggunakan API (Antarmuka Pemrograman Aplikasi) untuk mengambil data dari Google, Anda mengakui bahwa data tersebut dilindungi hak kekayaan intelektual yang dimiliki Google atau pihak-pihak yang menyediakan data (atau oleh orang lain atau perusahaan atas nama mereka). Penggunaan API oleh Anda tunduk pada Ketentuan Layanan tambahan. Anda tidak boleh memodifikasi, menyewakan, menyewabelikan, meminjamkan, menjual, mendistribusikan atau membuat karya turunan berdasarkan data ini (baik secara keseluruhan atau sebagian) kecuali diizinkan oleh Ketentuan Layanan yang bersangkutan.
-
-8.1.2 Jika Anda menggunakan API dalam bentuk apa pun untuk mengambil data pengguna dari Google, Anda mengakui dan menyetujui bahwa Anda akan mengambil data hanya dengan persetujuan yang jelas dari pengguna dan hanya bila, dan sebatas keperluan yang diizinkan oleh pengguna tersebut untuk Anda lakukan.
-
-9. Mengakhiri Perjanjian Lisensi
-
-9.1 Perjanjian Lisensi ini akan terus berlaku hingga diakhiri oleh Anda atau Google sebagaimana diatur di bawah ini.
-
-9.2 Jika Anda ingin mengakhiri Perjanjian Lisensi ini, Anda boleh melakukannya dengan menghentikan penggunaan Pratinjau dan kredensial pengembang yang relevan.
-
-9.3 Google boleh mengakhiri Perjanjian Lisensi ini dengan Anda kapan saja, dengan atau tanpa sebab, setelah memberi tahu Anda.
-
-9.4 Perjanjian Lisensi akan berakhir secara otomatis tanpa pemberitahuan atau tindakan lainnya bila, mana saja yang lebih dahulu:
-(A) Google berhenti menyediakan Pratinjau atau bagian Pratinjau tertentu kepada pengguna di negara tempat Anda tinggal atau negara tempat asal Anda menggunakan layanan; dan
-(B) Google mengeluarkan versi rilis final dari Android SDK.
-
-9.5 Bila Perjanjian Lisensi berakhir, lisensi yang telah diberikan kepada Anda dalam Perjanjian Lisensi akan berakhir pula, Anda akan segera menghentikan semua penggunaan Pratinjau, dan ketetapan paragraf 10, 11, 12, dan 14 akan terus berlaku secara tak terbatas.
-
-10. SANGGAHAN
-
-10.1 ANDA SEPENUHNYA MEMAHAMI DAN MENYETUJUI BAHWA PENGGUNAAN PRATINJAU OLEH ANDA MERUPAKAN RISIKO ANDA SENDIRI DAN BAHWA PRATINJAU INI DISEDIAKAN "APA ADANYA" DAN "SEBAGAIMANA TERSEDIA" TANPA JAMINAN DALAM BENTUK APA PUN DARI GOOGLE.
-
-10.2 PENGGUNAAN PRATINJAU DAN MATERI APA PUN YANG DIUNDUH ATAU DIPEROLEH MELALUI PENGGUNAAN PRATINJAU OLEH ANDA ADALAH ATAS KEHENDAK DAN RISIKO ANDA SENDIRI DAN ANDA BERTANGGUNG JAWAB PENUH TERHADAP KERUSAKAN PADA SISTEM KOMPUTER ATAU PERANGKAT LAIN ATAU HILANGNYA DATA AKIBAT PENGGUNAAN TERSEBUT. TANPA MEMBATASI HAL TERSEBUT, ANDA MEMAHAMI BAHWA PRATINJAU BUKANLAH RILIS STABIL DAN MUNGKIN BERISI KESALAHAN, CACAT, DAN RISIKO KEAMANAN YANG BISA MENGAKIBATKAN KERUSAKAN SIGNIFIKAN, TERMASUK KEHILANGAN PENGGUNAAN ATAS SISTEM KOMPUTER ANDA ATAU PERANGKAT LAIN DENGAN SEPENUHNYA DAN TIDAK BISA DIPULIHKAN LAGI.
-
-10.3 GOOGLE LEBIH LANJUT MENYANGGAH SEMUA JAMINAN DAN PERSYARATAN APA PUN, BAIK TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN TERSIRAT DAN PERSYARATAN MENGENAI DAYA JUAL, KESESUAIAN DENGAN TUJUAN TERTENTU, DAN NON-PELANGGARAN.
-
-11. PEMBATASAN KEWAJIBAN
-
-11.1 ANDA SEPENUHNYA MEMAHAMI DAN MENYETUJUI BAHWA GOOGLE, ANAK PERUSAHAAN DAN AFILIASINYA, DAN PEMBERI LISENSINYA TIDAK AKAN BERTANGGUNG JAWAB KEPADA ANDA BERDASARKAN TEORI KEWAJIBAN TERHADAP SEGALA KERUGIAN LANGSUNG, TIDAK LANGSUNG, INSIDENTAL, KHUSUS, JANGKA PANJANG ATAU GANTI RUGI YANG DIAKIBATKAN OLEH ANDA, TERMASUK HILANGNYA DATA, WALAUPUN GOOGLE ATAU PERWAKILANNYA TELAH DIBERI TAHU ATAU SEHARUSNYA MENGETAHUI KEMUNGKINAN TIMBULNYA KEHILANGAN TERSEBUT.
-
-12. Penggantian Kerugian
-
-12.1 Sejauh maksimum yang diizinkan oleh hukum, Anda setuju untuk membela, mengganti kerugian dan melepaskan tanggung jawab Google, afiliasinya beserta direksi, petugas, karyawan dan agennya dari dan terhadap setiap dan semua klaim, tindakan, gugatan, proses hukum, serta setiap dan semua kehilangan, kewajiban, kerusakan, biaya dan pengeluaran (termasuk biaya pengacara yang sewajarnya) yang timbul atau diakibatkan dari (a) penggunaan Pratinjau oleh Anda, (b) aplikasi apa pun yang Anda kembangkan dari Pratinjau yang melanggar Hak Kekayaan Intelektual seseorang atau mencemarkan nama baik seseorang atau melanggar hak mereka berkaitan dengan publisitas atau privasi, dan (c) ketidakpatuhan Anda terhadap Perjanjian Lisensi ini.
-
-13. Perubahan pada Perjanjian Lisensi
-
-13.1 Google boleh membuat perubahan pada Perjanjian Lisensi saat mendistribusikan versi baru Pratinjau. Saat perubahan tersebut dibuat, Google akan menyediakan versi baru Perjanjian Lisensi di situs web penyediaan Pratinjau.
-
-14. Ketentuan Hukum Umum
-
-14.1 Perjanjian Lisensi ini merupakan perjanjian hukum antara Anda dan Google dan mengatur penggunaan Pratinjau oleh Anda (tidak termasuk layanan apa pun yang mungkin disediakan Google untuk Anda dalam perjanjian tertulis terpisah), dan sepenuhnya menggantikan perjanjian sebelumnya antara Anda dan Google dalam kaitannya dengan Pratinjau.
-
-14.2 Anda setuju bahwa jika Google tidak menjalankan atau menerapkan hak atau upaya hukum yang terkandung dalam Perjanjian Lisensi ini (atau bila Google memiliki kewenangan berdasarkan hukum yang berlaku), tindakan ini tidak akan dianggap sebagai pelepasan hak secara resmi oleh Google dan bahwa hak atau upaya hukum tersebut akan tetap bisa digunakan oleh Google.
-
-14.3 Jika persidangan hukum yang berwenang untuk memutuskan perkara ini menetapkan bahwa ada ketetapan Perjanjian Lisensi ini yang tidak valid, maka ketetapan tersebut akan dihapus dari Perjanjian Lisensi tanpa memengaruhi bagian selebihnya dari Perjanjian Lisensi ini. Ketetapan selebihnya dari Perjanjian Lisensi ini akan tetap sah dan berlaku.
-
-14.4 Anda mengakui dan menyetujui bahwa setiap anggota dari kelompok perusahaan yang diinduki oleh Google akan menjadi pihak ketiga penerima manfaat dari Perjanjian Lisensi ini dan bahwa perusahaan tersebut berhak untuk secara langsung memberlakukan, dan bergantung pada, ketetapan yang dimuat dalam Perjanjian Lisensi ini yang memberikan manfaat (atau hak yang mendukung) kepada mereka. Selain yang telah disebutkan di atas, tidak ada orang atau perusahaan lain yang akan menjadi pihak ketiga penerima manfaat dari Perjanjian Lisensi ini
-
-14.5 PEMBATASAN EKSPOR. PRATINJAU TUNDUK PADA HUKUM DAN PERATURAN EKSPOR AMERIKA SERIKAT. ANDA HARUS MEMATUHI SEMUA HUKUM DAN PERATURAN NASIONAL DAN INTERNASIONAL YANG BERLAKU PADA PRATINJAU. HUKUM INI MENYERTAKAN PEMBATASAN ATAS TUJUAN, PENGGUNA AKHIR DAN PENGGUNAAN AKHIR
-
-14.6 Perjanjian Lisensi ini tidak boleh diberikan atau dialihkan baik oleh Anda tanpa persetujuan tertulis sebelumnya dari Google, dan upaya apa pun untuk mengalihkannya tanpa persetujuan akan menjadi tidak sah. Anda tidak boleh mendelegasikan tanggung jawab atau kewajiban berdasarkan Perjanjian Lisensi ini tanpa persetujuan tertulis sebelumnya dari pihak lain.
-
-14.7 Perjanjian Lisensi ini, dan hubungan Anda dengan Google berdasarkan Perjanjian Lisensi ini, akan diatur oleh hukum Negara Bagian California tanpa mengindahkan pertentangan ketetapan hukumnya. Anda dan Google setuju untuk tunduk pada yurisdiksi eksklusif pengadilan yang berlokasi di county Santa Clara, California untuk menyelesaikan segala masalah hukum yang timbul dari Perjanjian Lisensi ini. Meski demikian, Anda setuju bahwa Google akan tetap diizinkan untuk mengajukan upaya hukum (atau tipe keringanan hukum setara yang mendesak) dalam yurisdiksi apa pun.
-  </div><!-- sdk terms -->
-
-
-
-    <div id="sdk-terms-form">
-      <p>
-        <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">Saya telah membaca dan menyetujui ketentuan dan persyaratan di atas</label>
-      </p>
-      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-    </div>
-
-
-  </div><!-- end TOS -->
-
-
-  <div id="landing">
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>Dalam dokumen ini</h2>
-      <ol>
-        <li><a href="#device-preview">Menyiapkan perangkat keras</a>
-          <ol>
-            <li><a href="#ota">Mendapatkan pembaruan lewat jaringan seluler</a></li>
-            <li><a href="#flash">Mem-flash perangkat secara manual</a></li>
-            <li><a href="#revertDevice">Mencopot pemasangan</a></li>
-          </ol>
-        </li>
-        <li><a href="#setupAVD">Menyiapkan emulator</a></li>
-      </ol>
-  </div>
-</div>
-
-<p>
-  Untuk menjalankan dan menguji aplikasi Anda pada platform baru, Anda perlu menyiapkan lingkungan waktu proses
-  Android N. Anda bisa melakukannya dengan salah satu cara ini:
-</p>
-
-<ul>
-  <li>Pasang Android N pada perangkat keras yang didukung, atau</li>
-  <li>Siapkan emulator Android yang menjalankan Android N</li>
-</ul>
-
-<p>
-  Jika Anda ingin lingkungan untuk pengujian kompatibilitas dasar aplikasi Anda pada
-  platform baru, maka Anda hanya perlu APK saat ini dan perangkat keras atau
-  emulator. Anda tidak perlu memperbarui lingkungan
-  pengembangan penuh untuk melakukan pengujian dasar.
-</p>
-
-<p>
-  Jika Anda ingin memodifikasi aplikasi untuk menargetkan Android N atau menggunakan Android N API baru,
-  Anda perlu menyiapkan lingkungan pengembangan yang telah diperbarui untuk mendukung
-  Android N. <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan
-  Android N</a> berisi detail mengenai hal ini.
-</p>
-
-
-<h2 id="device-preview">Menyiapkan perangkat keras</h2>
-
-<p>
-  N Developer Preview menawarkan pembaruan sistem untuk berbagai jenis perangkat keras
-  yang bisa Anda gunakan untuk menguji aplikasi Anda, dari ponsel hingga tablet dan TV.
-</p>
-
-<p>
-  Jika Anda memiliki akses ke perangkat yang didukung, Anda bisa memperbaruinya ke build tahapan pencapaian Developer
-  Preview dengan salah satu cara berikut:
-</p>
-
-<ul>
-  <li><strong>Daftarkan perangkat dalam pembaruan sistem OTA otomatis</strong> melalui
-  <a href="https://g.co/androidbeta">Android Beta Program</a>. Setelah didaftarkan, perangkat Anda akan secara teratur menerima
-  pembaruan lewat jaringan seluler (OTA) untuk semua build tahapan pencapaian dalam N Developer Preview. Pendekatan
-  ini disarankan karena akan membantu Anda melakukan transisi secara mulus dari lingkungan saat ini
-  ke berbagai rilis N Developer Preview.</li>
-  <li><strong>Unduh citra sistem Developer Preview dan flash perangkat</strong>.
-  Pembaruan OTA tidak disediakan secara otomatis untuk perangkat yang Anda flash secara manual, namun
-  Anda bisa mendaftarkan perangkat tersebut dalam Android Beta Program untuk memperoleh pembaruan OTA. </li>
-</ul>
-
-<h3 id="ota">Daftarkan perangkat dalam pembaruan OTA otomatis</h3>
-
-<p>
-  Jika Anda memiliki akses ke perangkat yang didukung (lihat daftar dalam tabel
-  Unduhan), Anda bisa menerima pembaruan lewat jaringan seluler ke versi pratinjau Android
-  dengan mendaftarkan perangkat itu ke <a href="https://g.co/androidbeta">Android Beta Program</a>. Pembaruan ini
-  secara otomatis akan diunduh dan memperbarui perangkat Anda seperti
-  pembaruan sistem resmi.
-</p>
-
-<p>
-  Anda bisa membatalkan pendaftaran perangkat kapan saja. Perangkat akan menerima pembaruan OTA
-  ke versi produksi terbaru Android yang tersedia untuk perangkat itu
-  (misalnya, Android 6.0 Marshmallow). Pembaruan mengharuskan penyetelan ulang
-  perangkat secara penuh, jadi data pengguna pada perangkat itu akan dibuang. Pastikan <strong>mencadangkan
-  data penting</strong> sebelum membatalkan pendaftaran perangkat.
-</p>
-
-<p>
-  Untuk informasi selengkapnya dan untuk mendaftarkan perangkat Anda, lihat
-  situs web <a href="https://g.co/androidbeta">Android Beta Program</a>.
-</p>
-
-<p class="note"><strong>Catatan:</strong>
-  Membatalkan pendaftaran mengharuskan penyetelan ulang perangkat secara penuh. Cadangkan
-  data penting terlebih dahulu.
-</p>
-
-<h3 id="flash">Mem-flash perangkat secara manual</h3>
-
-<p>
-  Anda bisa mengunduh citra sistem Developer Preview terbaru dan
-  mem-flash-nya secara manual ke perangkat Anda kapan saja. Lihat tabel di bawah untuk mengunduh citra
- sistem perangkat pengujian Anda. Mem-flash perangkat secara manual berguna jika Anda harus
-  mengontrol secara persis lingkungan pengujian tersebut atau harus memasang ulang secara rutin,
-  misalnya untuk pengujian otomatis.
-</p>
-
-<!-- You can flash by ota or system image --><p>
-  Memasang citra sistem pada perangkat <strong>akan membuang semua data dari
-  perangkat</strong>, karena itu Anda harus mencadangkan data terlebih dahulu.
-</p>
-
-<p>
-  Setelah Anda mencadangkan data perangkat dan mengunduh citra sistem di bawah ini yang
-  sesuai dengan perangkat Anda, ikuti petunjuk di <a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
-  untuk mem-flash citra ini ke perangkat Anda.
-</p>
-
-<p>
-  Citra sistem yang di-flash secara manual <strong>tidak secara otomatis akan
-  menerima pembaruan OTA</strong> ke build tahapan pencapaian Developer Preview
- terbaru. Pastikan lingkungan Anda selalu diperbarui dan lakukan flash
- citra sistem yang baru di setiap tahapan pencapaian Developer Preview.
-</p>
-
-<p>
-  Jika Anda memutuskan ingin mendapatkan pembaruan OTA setelah mem-flash perangkat secara manual,
-  Anda tinggal mendaftarkan perangkat dalam <a href="https://g.co/androidbeta">
-  Android Beta Program</a>. Anda bisa mendaftarkan perangkat kapan saja untuk menerima pembaruan Pratinjau
-  berikutnya lewat jaringan seluler.
-</p>
-
-<table>
-  <tr>
-    <th scope="col">Perangkat</th>
-    <th scope="col">Unduhan / Checksum</th>
-  </tr>
-
-  <tr id="bullhead">
-    <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-npd90g-factory-7a0ca1bc.tgz</a><br>
-      MD5: e7a9a3061335c1e0c8be2588f13290af<br>
-      SHA-1: 7a0ca1bcfa51bbefde34243603bc79c7dec214a1
-    </td>
-  </tr>
-
-  <tr id="shamu">
-    <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >shamu-npd90g-factory-f7a4e3a9.tgz</a><br>
-      MD5: 2fb572ddcfca67bb1d741be97492a9ed<br>
-      SHA-1: f7a4e3a96c797827492998e855c8f9efbfc8559a
-    </td>
-  </tr>
-
-  <tr id="angler">
-    <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >angler-npd90g-factory-cd9ac81e.tgz</a><br>
-      MD5: 2370c30f3ef1d0684c1de5216a5d90fe<br>
-      SHA-1: cd9ac81ec7f4a646ac6054eecbf2ea4c4b89b054
-    </td>
-  </tr>
-
-  <tr id="volantis">
-    <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantis-npd90g-factory-41b55406.tgz</a><br>
-      MD5: cefa78950141da2a7c75e887717e3c8f<br>
-      SHA-1: 41b554060263a7ef16e4be8422cbd6caca26e00f
-    </td>
-  </tr>
-
-  <tr id="volantisg">
-    <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-npd90g-factory-610492be.tgz</a><br>
-      MD5: 2f36dc0d0fab02ab78be500677ec239f<br>
-      SHA-1: 610492bedfc4127023040ecb2c89239a78a900ad
-    </td>
-  </tr>
-
-  <tr id="fugu">
-    <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >fugu-npd90g-factory-0fe95694.tgz</a><br>
-      MD5: f4cb48f919e4c29c631de21416c612e2<br>
-      SHA-1: 0fe95694e7bc41e4c3ac0e4438cd77102a0aa8b4
-    </td>
-  </tr>
-
-  <tr id="ryu">
-    <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >ryu-npd90g-factory-f4da981c.tgz</a><br>
-      MD5: d9f0e40b6c20d274831e8a7d285fd887<br>
-      SHA-1: f4da981c70576133321e2858e52fe2c990e68a75
-    </td>
-  </tr>
-
-  <tr id="seed">
-    <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-npd90g-factory-48f59c99.tgz</a><br>
-      MD5: 0ed565c509594072822d71c65b48ec8e<br>
-      SHA-1: 48f59c99ac43d1cd2f5656a283bb9868581663a8
-    </td>
-  </tr>
-
-</table>
-
-<h3 id="revertDevice">Mencopot pemasangan Pratinjau dari perangkat</h3>
-
-<p>
-  Jika Anda ingin mencopot pemasangan Pratinjau dari perangkat, Anda bisa melakukannya dengan salah satu cara
-  ini: </p>
-  <ul>
-    <li><strong>Dapatkan citra sistem sesuai spesifikasi pabrik</strong> kemudian flash
-    secara manual ke perangkat.
-      <ul>
-          <li>Untuk <strong>perangkat Nexus dan Pixel C</strong>, lihat halaman
-         <a href="http://developers.google.com/android/nexus/images">Citra Pabrik
-        untuk Perangkat Nexus</a> untuk mengunduhnya. </li>
-        <li>Untuk <strong>perangkat lainnya</strong>, hubungi produsen perangkat
-        secara langsung. Atau, jika perangkat didukung
-        dalam Android Beta Program, Anda bisa mendaftarkan perangkat dalam
-        program kemudian membatalkan pendaftarannya (lihat di bawah).</li>
-      </ul>
-    </li>
-    <li><strong>Batalkan pendaftaran perangkat dari Android Beta Program</strong>. Jika
-    perangkat telah terdaftar dalam <a href="https://g.co/androidbeta">Android Beta
-    Program</a>, apa pun perangkatnya, Anda cukup membatalkan pendaftarannya dari program tersebut.
-  <p>
-    Perangkat akan menerima pembaruan OTA ke versi produksi terbaru
-    Android yang tersedia untuk perangkat itu (misalnya, Android 6.0 Marshmallow).
-    Pembaruan mengharuskan penyetelan ulang perangkat secara penuh, jadi data pengguna pada perangkat itu akan
-    dibuang. Pastikan Anda <strong>mencadangkan data penting</strong> sebelum
-    membatalkan pendaftaran perangkat.
-  </p>
-  </li>
-</ul>
-
-<p class="note"><strong>Catatan:</strong>
-  Mencopot pemasangan citra sistem Developer Preview sebelum
-  program berakhir mengharuskan penyetelan ulang perangkat secara penuh dan membuang semua data pengguna
-  pada perangkat.
-</p>
-
-
-<h2 id="setupAVD">Menyiapkan emulator</h2>
-
-<p>Untuk menggunakan Android Emulator guna menjalankan Android N Preview, Anda perlu
-mengunduh Android N Preview SDK dan membuat perangkat maya untuk
-emulator.</p>
-
-<p>Pertama, unduh Android N Preview SDK sebagai berikut (jika Anda
-sudah memperolehnya saat <a href="{@docRoot}preview/setup-sdk.html">menyiapkan
-pengembangan Android N</a>, Anda bisa lewati bagian ini):
-
-<ol>
-  <li>Di Android Studio, buka dialog Settings
-   (<strong>File &gt; Settings</strong> pada Windows/Linux, atau
-   <strong>Android Studio &gt; Preferences</strong> pada Mac). Di panel
-   kiri, pilih <strong>Appearance &amp; Behavior &gt;
-   System Settings &gt; Android SDK</strong>.
-
-  <li>Klik tab <strong>SDK Platforms</strong>, kemudian pilih kotak centang
-  <strong>Android N Preview</strong>.</li>
-
-  <li>Klik tab <strong>SDK Tools</strong>, kemudian pilih
-    kotak centang <strong>Android SDK Build Tools</strong>, <strong>Android SDK
-    Platform-Tools</strong>, dan <strong>Android SDK Tools</strong>.
-
-  </li>
-
-  <li>Klik <strong>OK</strong>, dan terima
-    perjanjian lisensi untuk setiap paket yang akan dipasang.
-  </li>
-</ol>
-
-<p>Sekarang Anda seharusnya telah memiliki <strong>Android SDK Built-Tools 24.0 0 rc1</strong>,
-<strong>Platform-Tools 24.0.0 rc1</strong>, dan <strong>SDK Tools
-25.0.9</strong>. Jika Anda tidak memperbarui SDK Tools ke 25.0.9, maka Anda tidak akan
-dapat menjalankan citra sistem x86_64 untuk Android N.</p>
-
-
-<p>Sekarang buatlah perangkat maya dengan citra sistem Android N:</p>
-
-<ol>
-  <li>Buka AVD Manager dengan memilih <strong>Tools &gt; Android &gt;
-    AVD Manager</strong>.</li>
-  <li>Klik <strong>Create Virtual Device</strong>.</li>
-  <li>Pilih perangkat misalnya Nexus 5X, Nexus 6P, Nexus 9, atau Android TV,
-    kemudian klik <strong>Next</strong>.</li>
-  <li>Pilih citra sistem <strong>N</strong> (dengan
-    <strong>x86</strong> ABI), kemudian klik <strong>Next</strong>.
-    (Hanya citra sistem x86 yang saat ini didukung dengan Android Emulator
-untuk Android N Preview.)
-  <li>Selesaikan konfigurasi AVD selanjutnya dan klik
-    <strong>Finish</strong>.</li>
-</ol>
-
-<p>Anda sekarang bisa meluncurkan Android Emulator dengan Android N Preview AVD.</p>
-
-<p>
-Untuk mendapatkan pengalaman terbaik di Android Emulator, pastikan Anda menggunakan
-Android Studio 2.1 atau yang lebih tinggi, yang mendukung <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0</a>
-dengan kinerja jauh lebih cepat dibandingkan Emulator di
-Android Studio 1.5.</p>
-
-<p>Untuk informasi selengkapnya tentang membuat perangkat maya, lihat <a href="{@docRoot}tools/devices/index.html">Mengelola Perangkat Maya</a>.
-</p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  </div><!-- landing -->
-
-</div><!-- relative wrapper -->
-
-
-
-<script>
-  var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/";
-  function onDownload(link) {
-
-    $("#downloadForRealz").html("Download " + $(link).text());
-    $("#downloadForRealz").attr('href', urlRoot + $(link).text());
-
-    $("#tos").fadeIn('fast');
-    $("#landing").fadeOut('fast');
-
-    return true;
-  }
-
-
-  function onAgreeChecked() {
-    /* verifikasi apakah TOS disetujui */
-    if ($("input#agree").is(":checked")) {
-      /* tampilkan tombol unduh */
-      $("a#downloadForRealz").removeClass('disabled');
-    } else {
-      $("a#downloadForRealz").addClass('disabled');
-    }
-  }
-
-  function onDownloadForRealz(link) {
-    if ($("input#agree").is(':checked')) {
-    /*
-      $("#tos").fadeOut('fast');
-      $("#landing").fadeIn('fast');
-    */
-
-      ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
-
-    /*
-      location.hash = "";
-    */
-      return true;
-    } else {
-      return false;
-    }
-  }
-
-  $(window).hashchange( function(){
-    if (location.hash == "") {
-      location.reload();
-    }
-  });
-
-</script>
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/in/preview/features/background-optimization.jd b/docs/html-intl/intl/in/preview/features/background-optimization.jd
deleted file mode 100644
index c6bf175..0000000
--- a/docs/html-intl/intl/in/preview/features/background-optimization.jd
+++ /dev/null
@@ -1,391 +0,0 @@
-page.title=Optimalisasi Latar Belakang
-page.metaDescription=Pembatasan baru pada siaran implisit.
-page.keywords="android N", "implicit broadcasts", "job scheduler"
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>
-      Dalam dokumen ini
-    </h2>
-
-    <ol>
-      <li>
-        <a href="#connectivity-action">Pembatasan pada CONNECTIVITY_ACTION</a>
-      </li>
-
-      <li>
-        <a href="#sched-jobs">Menjadwalkan Pekerjaan Jaringan pada Koneksi
-        Berbiaya Tetap</a>
-      </li>
-
-      <li>
-        <a href="#monitor-conn">Memantau Konektivitas Jaringan Saat Aplikasi
-        Dijalankan</a>
-      </li>
-
-      <li>
-        <a href="#media-broadcasts">Pembatasan pada NEW_PICTURE dan
-        NEW_VIDEO</a>
-      </li>
-
-      <li>
-        <a href="#new-jobinfo">Metode JobInfo Baru</a>
-      </li>
-
-      <li>
-        <a href="#new-jobparam">Metode JobParameter Baru</a>
-      </li>
-
-      <li>
-        <a href="#further-optimization">Mengoptimalkan Aplikasi Anda Lebih Jauh</a>
-      </li>
-    </ol>
-  </div>
-</div>
-
-<p>
-  Proses latar belakang bisa menguras memori dan baterai. Misalnya, sebuah
-  siaran implisit dapat memulai banyak proses latar belakang yang telah didaftarkan
-  untuk mendengarkannya, sekalipun proses-proses itu mungkin tidak melakukan banyak pekerjaan. Hal ini bisa
-  berdampak besar pada kinerja perangkat dan pengalaman pengguna.
-</p>
-
-<p>
-  Untuk meringankan masalah ini, Android N menerapkan pembatasan
-  berikut:
-</p>
-
-<ul>
-  <li>Aplikasi yang menargetkan Pratinjau tidak menerima siaran {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} jika mereka
-  mendaftar untuk menerimanya dalam manifes mereka. Aplikasi yang berjalan tetap
-  bisa mendengarkan {@code CONNECTIVITY_CHANGE} pada thread utama mereka dengan mendaftarkan
-  {@link android.content.BroadcastReceiver} pada {@link
-  android.content.Context#registerReceiver Context.registerReceiver()}.
-  </li>
-
-  <li>Aplikasi tidak bisa mengirim atau menerima siaran {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} atau {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Optimalisasi ini
-  memengaruhi semua aplikasi, tidak hanya aplikasi yang menargetkan Pratinjau.
-  </li>
-</ul>
-
-<p>
-  Jika aplikasi Anda menggunakan intent ini, Anda harus membuang dependensi padanya
-  secepat mungkin agar Anda bisa menargetkan perangkat Android N dengan benar.
-  Kerangka kerja Android menyediakan beberapa solusi untuk mengurangi kebutuhan akan
-  siaran implisit ini. Misalnya, {@link android.app.job.JobScheduler}
-  dan<a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-  {@code GcmNetworkManager}</a> menyediakan mekanisme yang tangguh untuk menjadwalkan operasi
-  jaringan bila kondisi yang ditetapkan, seperti koneksi ke jaringan
-  berbiaya tetap, terpenuhi. Anda sekarang juga bisa menggunakan {@link android.app.job.JobScheduler}
-  untuk bereaksi terhadap perubahan penyedia materi. Objek {@link android.app.job.JobInfo}
-  membungkus parameter yang digunakan {@link android.app.job.JobScheduler}
-  untuk menjadwalkan pekerjaan Anda. Bila syarat-syarat pekerjaan sudah terpenuhi, sistem
-  akan mengeksekusi pekerjaan ini pada {@link android.app.job.JobService} aplikasi Anda.
-</p>
-
-<p>
-  Dalam dokumen ini, kita akan mempelajari cara menggunakan metode alternatif, seperti
-  {@link android.app.job.JobScheduler}, untuk menyesuaikan aplikasi Anda dengan pembatasan
-  yang baru.
-</p>
-
-<h2 id="connectivity-action">
-  Pembatasan pada CONNECTIVITY_ACTION
-</h2>
-
-<p>
-  Aplikasi yang menargetkan Android N tidak menerima siaran {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} jika mereka
-  mendaftar untuk menerimanya dalam manifes mereka, dan proses yang bergantung pada siaran
-  ini tidak akan dimulai. Hal ini bisa menimbulkan masalah bagi aplikasi yang ingin
-  memantau perubahan jaringan atau melakukan aktivitas jaringan dalam jumlah besar bila perangkat
-  menghubungkan ke jaringan berbiaya tetap. Beberapa solusi untuk menyiasati pembatasan
-  ini sudah ada dalam kerangka kerja Android, namun pemilihan solusi
-  yang tepat bergantung pada apa yang ingin dicapai oleh aplikasi Anda.
-</p>
-
-<p class="note">
-  <strong>Catatan:</strong> Sebuah {@link android.content.BroadcastReceiver} yang mendaftar pada
-  {@link android.content.Context#registerReceiver Context.registerReceiver()}
-  akan terus menerima siaran ini saat aplikasi berjalan.
-</p>
-
-<h3 id="sched-jobs">
-  Menjadwalkan Pekerjaan Jaringan pada Koneksi Berbiaya Tetap
-</h3>
-
-<p>
-  Saat menggunakan kelas {@link android.app.job.JobInfo.Builder JobInfo.Builder}
-  untuk membangun objek {@link android.app.job.JobInfo} Anda, terapkan metode {@link
-  android.app.job.JobInfo.Builder#setRequiredNetworkType
-  setRequiredNetworkType()} dan teruskan {@link android.app.job.JobInfo
-  JobInfo.NETWORK_TYPE_UNMETERED} sebagai parameter pekerjaan. Contoh kode berikut
-  menjadwalkan layanan yang akan dijalankan ketika perangkat terhubung ke jaringan
-  berbiaya tetap dan dikenai biaya:
-</p>
-
-<pre>
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-      (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo job = new JobInfo.Builder(
-    MY_BACKGROUND_JOB,
-    new ComponentName(context, MyJobService.class))
-      .setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
-      .setRequiresCharging(true)
-      .build();
-  js.schedule(job);
-}
-</pre>
-
-<p>
-  Bila syarat untuk pekerjaan Anda terpenuhi, aplikasi Anda akan menerima callback untuk menjalankan
-  metode {@link android.app.job.JobService#onStartJob onStartJob()} dalam
-  {@code JobService.class} yang ditetapkan. Untuk melihat contoh selengkapnya mengenai implementasi {@link
-  android.app.job.JobScheduler}, lihat <a href="{@docRoot}samples/JobScheduler/index.html">aplikasi contoh JobScheduler</a>.
-</p>
-
-<p>
-  Aplikasi yang menggunakan layanan GMSCore, dan menargetkan Android 5.0 (API level 21)
-  atau yang lebih rendah, bisa menggunakan <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-  {@code GcmNetworkManager}</a> dan menetapkan {@code Task.NETWORK_STATE_UNMETERED}.
-</p>
-
-<h3 id="monitor-conn">
-  Memantau Konektivitas Jaringan Saat Aplikasi Dijalankan
-</h3>
-
-<p>
-  Aplikasi yang berjalan tetap bisa memantau {@code CONNECTIVITY_CHANGE} dengan
-  {@link android.content.BroadcastReceiver} yang telah didaftarkan. Akan tetapi, {@link
-  android.net.ConnectivityManager} API menyediakan metode yang lebih tangguh untuk meminta
-  callback hanya bila persyaratan jaringan yang ditetapkan terpenuhi.
-</p>
-
-<p>
-  Objek {@link android.net.NetworkRequest} mendefinisikan parameter
-  callback jaringan dari segi {@link android.net.NetworkCapabilities}. Anda
-  membuat objek {@link android.net.NetworkRequest} dengan kelas {@link
-  android.net.NetworkRequest.Builder NetworkRequest.Builder}. {@link
-  android.net.ConnectivityManager#registerNetworkCallback(android.net.NetworkRequest,
-  android.net.ConnectivityManager.NetworkCallback) registerNetworkCallback()}
-  kemudian meneruskan objek {@link android.net.NetworkRequest} ke sistem. Bila
-  syarat jaringan terpenuhi, aplikasi akan menerima callback untuk mengeksekusi
-  metode {@link android.net.ConnectivityManager.NetworkCallback#onAvailable
-  onAvailable()} yang didefinisikan dalam kelas {@link
-  android.net.ConnectivityManager.NetworkCallback}.
-</p>
-
-<p>
-  Aplikasi akan terus menerima callback hingga aplikasi keluar atau memanggil
-  {@link android.net.ConnectivityManager#unregisterNetworkCallback
-  unregisterNetworkCallback()}.
-</p>
-
-<h2 id="media-broadcasts">
-  Pembatasan pada NEW_PICTURE dan NEW_VIDEO
-</h2>
-
-<p>
-  Di Android N, aplikasi tidak bisa mengirim atau menerima siaran {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} atau {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Pembatasan ini membantu
-  meringankan dampak terhadap kinerja dan pengalaman pengguna bila beberapa aplikasi harus
-  aktif untuk memproses gambar atau video baru. Android N
-  memperluas {@link android.app.job.JobInfo} dan {@link
-  android.app.job.JobParameters} untuk menyediakan solusi alternatif.
-</p>
-
-<h3 id="new-jobinfo">
-  Metode JobInfo baru
-</h3>
-
-<p>
-  Untuk memicu pekerjaan saat perubahan URI materi, Android N memperluas
-  {@link android.app.job.JobInfo} API dengan metode berikut:
-</p>
-
-<dl>
-  <dt>
-    {@code JobInfo.TriggerContentUri()}
-  </dt>
-
-  <dd>
-    Membungkus parameter yang diperlukan untuk memicu pekerjaan saat perubahan URI materi.
-  </dd>
-
-  <dt>
-    {@code JobInfo.Builder.addTriggerContentUri()}
-  </dt>
-
-  <dd>
-    Meneruskan objek {@code TriggerContentUri} ke {@link
-    android.app.job.JobInfo}. Sebuah {@link android.database.ContentObserver}
-    akan memantau URI materi yang dibungkus. Jika terdapat beberapa objek {@code
-    TriggerContentUri} yang berhubungan dengan pekerjaan, sistem memberikan sebuah
-    callback bahkan jika itu hanya melaporkan perubahan pada salah satu URI materi.
-  </dd>
-
-  <dd>
-    Tambahkan flag {@code TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS} untuk
-    memicu pekerjaan jika ada turunan dari perubahan URI yang diberikan. Flag ini
-    berkaitan dengan parameter {@code notifyForDescendants} yang diteruskan ke {@link
-    android.content.ContentResolver#registerContentObserver
-    registerContentObserver()}.
-  </dd>
-</dl>
-
-<p class="note">
-  <strong>Catatan:</strong> {@code TriggerContentUri()} tidak bisa digunakan
-  bersama-sama dengan {@link android.app.job.JobInfo.Builder#setPeriodic
-  setPeriodic()} atau {@link android.app.job.JobInfo.Builder#setPersisted
-  setPersisted()}. Untuk terus memantau perubahan materi, jadwalkan
-  {@link android.app.job.JobInfo} baru sebelum {@link
-  android.app.job.JobService} aplikasi selesai menangani callback terbaru.
-</p>
-
-<p>
-  Kode contoh berikut menjadwalkan pekerjaan yang akan dipicu bila sistem melaporkan
-  perubahan ke URI materi, {@code MEDIA_URI}:
-</p>
-
-<pre>
-public static final int MY_BACKGROUND_JOB = 0;
-...
-public static void scheduleJob(Context context) {
-  JobScheduler js =
-          (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
-  JobInfo.Builder builder = new JobInfo.Builder(
-          MY_BACKGROUND_JOB,
-          new ComponentName(context, MediaContentJob.class));
-  builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
-          JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
-  js.schedule(builder.build());
-}
-</pre>
-<p>
-  Bila sistem melaporkan perubahan dalam URI materi yang ditetapkan, aplikasi Anda
-  akan menerima callback dan objek {@link android.app.job.JobParameters}
-  akan diteruskan ke metode {@link android.app.job.JobService#onStartJob onStartJob()}
-  dalam {@code MediaContentJob.class}.
-</p>
-
-<h3 id="new-jobparam">
-  Metode JobParameter Baru
-</h3>
-
-<p>
-  Android N juga memperluas {@link android.app.job.JobParameters} untuk
-  memungkinkan aplikasi Anda menerima informasi yang berguna tentang otoritas materi
-  dan URI yang memicu pekerjaan:
-</p>
-
-<dl>
-  <dt>
-    {@code Uri[] getTriggeredContentUris()}
-  </dt>
-
-  <dd>
-    Mengembalikan larik URL yang telah memicu pekerjaan. Ini akan berupa {@code
-    null} jika tidak ada URI yang memicu pekerjaan (misalnya, pekerjaan
-    dipicu karena batas waktu atau alasan lainnya), atau jumlah
-    URI yang berubah lebih dari 50.
-  </dd>
-
-  <dt>
-    {@code String[] getTriggeredContentAuthorities()}
-  </dt>
-
-  <dd>
-    Mengembalikan larik string otoritas materi yang telah memicu pekerjaan.
-    Jika larik yang dikembalikan bukan {@code null}, gunakan {@code getTriggeredContentUris()}
-    untuk mengambil detail URI yang telah berubah.
-  </dd>
-</dl>
-
-<p>
-  Kode contoh berikut mengganti metode {@link
-  android.app.job.JobService#onStartJob JobService.onStartJob()} dan
-  mencatat otoritas materi serta URI yang telah memicu pekerjaan:
-</p>
-
-<pre>
-&#64;Override
-public boolean onStartJob(JobParameters params) {
-  StringBuilder sb = new StringBuilder();
-  sb.append("Media content has changed:\n");
-  if (params.getTriggeredContentAuthorities() != null) {
-      sb.append("Authorities: ");
-      boolean first = true;
-      for (String auth :
-          params.getTriggeredContentAuthorities()) {
-          if (first) {
-              first = false;
-          } else {
-             sb.append(", ");
-          }
-           sb.append(auth);
-      }
-      if (params.getTriggeredContentUris() != null) {
-          for (Uri uri : params.getTriggeredContentUris()) {
-              sb.append("\n");
-              sb.append(uri);
-          }
-      }
-  } else {
-      sb.append("(No content)");
-  }
-  Log.i(TAG, sb.toString());
-  return true;
-}
-</pre>
-
-<h2 id="further-optimization">
-  Mengoptimalkan Aplikasi Anda Lebih Jauh
-</h2>
-
-<p>
-  Mengoptimalkan aplikasi Anda untuk berjalan pada perangkat yang mempunyai memori rendah, atau dalam kondisi
-  memori rendah, dapat meningkatkan kinerja dan pengalaman pengguna. Membuang
-  dependensi pada layanan latar belakang dan penerima siaran
-  implisit yang terdaftar secara statis bisa membantu aplikasi Anda berjalan lebih baik pada perangkat demikian. Meskipun
-  Android N telah mengambil langkah-langkah untuk mengurangi sebagian masalah ini, Anda disarankan
-  agar mengoptimalkan aplikasi untuk berjalan tanpa menggunakan
-  proses latar belakang ini sama sekali.
-</p>
-
-<p>
-  Android N memperkenalkan beberapa tambahan perintah <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a> yang
-  bisa Anda gunakan untuk menguji perilaku aplikasi dengan proses latar belakang dinonaktifkan:
-</p>
-
-<ul>
-  <li>Untuk mensimulasikan kondisi saat siaran implisit dan layanan latar belakang
-  tidak tersedia, masukkan perintah berikut:
-  </li>
-
-  <li style="list-style: none; display: inline">
-<pre class="no-pretty-print">
-{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
-</pre>
-  </li>
-
-  <li>Untuk mengaktifkan kembali siaran implisit dan layanan latar belakang, masukkan
-  perintah berikut:
-  </li>
-
-  <li style="list-style: none; display: inline">
-<pre class="no-pretty-print">
-{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
-</pre>
-  </li>
-</ul>
diff --git a/docs/html-intl/intl/in/preview/features/icu4j-framework.jd b/docs/html-intl/intl/in/preview/features/icu4j-framework.jd
deleted file mode 100644
index 1d97623..0000000
--- a/docs/html-intl/intl/in/preview/features/icu4j-framework.jd
+++ /dev/null
@@ -1,159 +0,0 @@
-page.title=ICU4J Android Framework API
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>Dalam dokumen ini:</h2>
-<ol>
-    <li><a href="#relation">Hubungan dengan ICU4J</a></li>
-    <li><a href="#migration">Migrasi ke android.icu API dari ICU4J </a></li>
-    <li><a href="#licence">Lisensi</a></li>
-</ol>
-
-<h2>Lihat Juga</h2>
-<ol>
-  <li>
-    <a class="external-link" href="http://userguide.icu-project.org">Dokumentasi untuk ICU4J</a>
-  </li>
-
-  <li>
-    <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Standar terbaru yang didukung
-    oleh ICU4J</a>
-  </li>
-</ol>
-</div>
-</div>
-
-<p>
-  ICU4J merupakan serangkaian pustaka Java sumber terbuka yang banyak digunakan dan menyediakan Unicode
-  serta dukungan globalisasi untuk aplikasi perangkat lunak. Android N
-  mengekspos subset ICU4J API dalam kerangka kerja Android bagi pengembang aplikasi
-  untuk digunakan pada paket {@code android.icu}. API ini menggunakan
-  data pelokalan yang ada pada perangkat. Hasilnya, Anda bisa mengurangi footprint
-  APK dengan tidak mengompilasi pustaka ICU4J ke APK Anda; sebagai gantinya,
-  cukup memanggilnya dalam kerangka kerja. (Dalam hal ini, Anda mungkin perlu menyediakan
-  <a href="{@docRoot}google/play/publishing/multiple-apks.html">beberapa versi
-  APK Anda</a>, sehingga pengguna yang menjalankan versi Android lebih rendah dari Android N
-  bisa mengunduh versi aplikasi yang berisi pustaka ICU4J.)
-</p>
-
-<p>
-  Dokumen ini diawali dengan menyediakan beberapa informasi dasar tentang level Android API
-  minimum yang diperlukan untuk mendukung pustaka-pustaka ini. Kemudian dijelaskan tentang apa
-  yang perlu Anda ketahui tentang implementasi ICU4J spesifik Android. Terakhir,
-  Anda akan diberi tahu cara menggunakan ICU4J API dalam kerangka kerja Android.
-</p>
-
-<h2 id="relation">Hubungan dengan ICU4J</h2>
-
-<p>
-  Android N mengekspos subset ICU4J API lewat
-  paket <code>android.icu</code>, bukannya <code>com.ibm.icu</code>. Kerangka kerja
-  Android dapat memilih untuk tidak
-  mengekspos ICU4J API karena berbagai alasan; misalnya, Android N tidak mengekspos
-  beberapa API yang tidak digunakan lagi atau yang dinyatakan belum
-  stabil oleh tim ICU. Karena tim ICU tidak lagi menggunakan API di masa mendatang, Android juga akan menandainya
-  sebagai tidak digunakan lagi namun akan terus menyertakannya.
-</p>
-
-<p class="table-caption"><strong>Tabel 1.</strong> Versi ICU dan CLDR yang digunakan
-  di Android N.</p>
-<table>
-<tr>
-<th>Level Android API</th>
-<th>Versi ICU</th>
-<th>Versi CLDR</th>
-</tr>
-<tr>
-<td>Android N</td>
-<td>56</td>
-<td>28</td>
-</tr>
-</table>
-
-<p>Inilah beberapa hal penting yang harus diperhatikan:</p>
-
-<ul>
-<li>ICU4J Android Framework API tidak menyertakan semua ICU4J API.</li>
-<li>Pengembang NDK harus mengetahui bahwa Android ICU4C tidak didukung.</li>
-<li>API dalam kerangka kerja Android tidak menggantikan dukungan Android untuk
-<a href="{@docRoot}guide/topics/resources/localization.html">melokalkan dengan
-sumber daya</a>.</li>
-</ul>
-
-<h2 id="migration">Migrasi ke paket android.icu dari com.ibm.icu</h2>
-
-<p>
-  Jika Anda sudah menggunakan ICU4J API dalam aplikasi, dan
-  <code>android.icu</code> API memenuhi persyaratan Anda, maka migrasi ke
-  API kerangka kerja mengharuskan Anda untuk mengubah impor Java
-  dari <code>com.ibm.icu</code> ke <code>android.icu</code>. Kemudian Anda bisa
-  membuang salinan file ICU4J dari APK.
-</p>
-
-<p class="note">
-  <b>Catatan</b>: API kerangka kerja ICU4J menggunakan ruang nama {@code android.icu}
-  sebagai ganti {@code com.ibm.icu}. Hal ini untuk menghindari konflik
-  ruang nama di APK yang berisi pustaka {@code com.ibm.icu} sendiri.
-</p>
-
-<h3 id="migrate-from-android">
-  Migrasi ke API android.icu dari Android SDK API lainnya
-</h3>
-
-<p>
-  Beberapa kelas dalam paket <code>java</code> dan <code>android</code> memiliki
-  padanannya dengan yang ditemukan di ICU4J. Akan tetapi, ICU4J seringkali menyediakan dukungan
-  yang lebih luas untuk standar dan bahasa.
-</p>
-<p>Inilah beberapa contoh untuk membantu Anda memulai:</p>
-<table>
-<tr>
-<th>Kelas</th>
-<th>Alternatif</th>
-</tr>
-<tr>
-<td><code>java.lang.Character</code> </td>
-<td><code>android.icu.lang.UCharacter</code> </td>
-</tr>
-<tr>
-<td><code>java.text.BreakIterator</code> </td>
-<td><code>android.icu.text.BreakIterator</code> </td>
-</tr>
-<tr>
-<td><code>java.text.DecimalFormat</code> </td>
-<td><code>android.icu.text.DecimalFormat</code> </td>
-</tr>
-<tr>
-<td><code>java.util.Calendar</code></td>
-<td>
-<code>android.icu.util.Calendar</code></td>
-</tr>
-<tr>
-<td><code>android.text.BidiFormatter</code>
- </td>
-<td><code>android.icu.text.Bidi</code>
- </td>
-</tr>
-<tr>
-<td><code>android.text.format.DateFormat</code>
- </td>
-<td><code>android.icu.text.DateFormat</code>
- </td>
-</tr>
-<tr>
-<td><code>android.text.format.DateUtils</code> </td>
-<td><code>android.icu.text.DateFormat</code>
-<code>android.icu.text.RelativeDateTimeFormatter</code>
-</td>
-</tr>
-</table>
-
-<h2 id="licence">Lisensi</h2>
-
-<p>
-  ICU4J dirilis dengan lisensi ICU. Untuk detailnya, lihat <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">Panduan Pengguna
-  ICU.</a>
-</p>
diff --git a/docs/html-intl/intl/in/preview/features/multilingual-support.jd b/docs/html-intl/intl/in/preview/features/multilingual-support.jd
deleted file mode 100644
index 29104cb..0000000
--- a/docs/html-intl/intl/in/preview/features/multilingual-support.jd
+++ /dev/null
@@ -1,221 +0,0 @@
-page.title=Bahasa dan Lokal
-page.tags=androidn
-page.image=images/cards/card-nyc_2x.jpg
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-<h2>Dalam dokumen ini:</h2>
-<ol>
-	  <li><a href="#preN">Tantangan dalam Mengatasi Masalah Sumber Daya Bahasa</a></li>
-    <li><a href="#postN">Peningkatan pada Strategi Resolusi Sumber Daya</a></li>
-    <li><a href="#design">Mendesain Aplikasi Anda untuk Mendukung Lokal
-      Tambahan</a></li>
-
-</ol>
-
-</div>
-</div>
-
-<p>Android N memberikan dukungan yang disempurnakan untuk pengguna multibahasa,
-yang memungkinkan mereka memilih beberapa lokal dalam setelan. Android N
-menyediakan kemampuan ini dengan memperbanyak jumlah lokal yang didukung
-dan mengubah cara sistem mengatasi masalah sumber daya. Metode baru mengatasi
-masalah sumber daya ini lebih tangguh dan didesain agar kompatibel dengan APK yang ada, namun
-Anda harus ekstra hati-hati terhadap perilaku tak terduga. Misalnya, Anda
-harus menguji untuk memastikan aplikasi Anda secara default diatur ke bahasa yang diinginkan. Juga,
-jika aplikasi Anda mendukung beberapa bahasa, Anda harus memastikan dukungan ini berfungsi
-sebagaimana diinginkan. Terakhir, Anda harus mencoba memastikan aplikasi Anda dengan lancar menangani
-bahasa yang tidak secara eksplisit Anda dukung dalam desain.</p>
-
-<p>Dokumen ini diawali dengan menjelaskan strategi resolusi sumber daya sebelum
-Android N. Berikutnya, akan dijelaskan strategi
-resolusi sumber daya Android N yang telah ditingkatkan. Terakhir, akan djelaskan cara memanfaatkan
-jumlah lokal yang telah diperbanyak untuk mendukung lebih banyak pengguna multibahasa.</p>
-
-<h2 id="preN">Tantangan dalam Mengatasi Masalah Sumber Daya Bahasa</h2>
-
-<p>Sebelum Android N, Android tidak selalu
- berhasil mencocokkan lokal aplikasi dan lokal sistem.</p>
-
- <p>Misalnya, anggaplah Anda menghadapi situasi berikut:</p>
- <ul>
- <li>Bahasa default aplikasi Anda adalah {@code en_US} (US English), dan aplikasi juga
-  berisi string bahasa Spanyol yang telah dilokalkan di file sumber daya {@code es_ES}.
-</li>
- <li> Perangkat telah disetel ke {@code es_MX} </li>
-
-<p>Bila kode Java Anda merujuk ke string, sistem akan memuat
-string dari file sumber daya default ({@code en_US}), sekalipun aplikasi memiliki
-sumber daya bahasa Spanyol yang dilokalkan pada {@code es_ES}. Hal ini karena bila sistem
-  tidak bisa menemukan hasil yang persis, sistem akan terus mencari sumber daya dengan menghilangkan
-  kode negara dari lokal tersebut. Akhirnya, jika tidak ada hasil yang ditemukan, sistem akan mengembalikan
- ke default, yakni {@code en_US}. </p>
-
-
-<p>Sistem juga akan default ke {@code en_US} jika pengguna memilih
-bahasa yang sama sekali tidak didukung oleh aplikasi, seperti bahasa Prancis. Misalnya:</p>
-
-<p class="table-caption" id="t-resource-res">
-<strong>Tabel 1.</strong> Resolusi sumber daya tanpa lokal yang persis sama.
-</p>
-<table>
-<tbody>
-<tr>
-<th>Setelan Pengguna</th>
-<th>Sumber Daya Aplikasi</th>
-<th>Resolusi Sumber Daya</th>
-</tr>
-<tr>
-<td>fr_CH</td>
-<td>
-default (en)<br>
-de_DE<br>
-es_ES<br>
-fr_FR<br>
-it_IT<br>
-</td>
- <td>
-Coba fr_CH =&gt; Gagal<br>
-Coba fr =&gt; Gagal<br>
-Gunakan default (en)
-</td>
- </tr>
- </tbody>
-</table>
-
-
-<p>Dalam contoh ini, sistem menampilkan string bahasa Inggris
-tanpa mengetahui apakah pengguna memahami bahasa Inggris. Perilaku ini sudah sangat umum
-sekarang. Android N harus mengurangi frekuensi
-hasil seperti ini secara substansial.</p>
-
-<h2 id="postN">Peningkatan pada Strategi Resolusi Sumber Daya</h2>
-<p>Android N menghadirkan resolusi sumber daya yang lebih handal, dan
-secara otomatis menemukan solusi yang lebih baik. Akan tetapi, untuk mempercepat resolusi dan meningkatkan
-kemudahan pemeliharaan, Anda harus menyimpan sumber daya dalam dialek induk yang paling umum.
- Misalnya, jika sebelumnya Anda telah menyimpan sumber daya bahasa Spanyol di direktori {@code es-US}
-, pindahkan ke direktori {@code es-419}, yang berisi bahasa Spanyol Amerika Latin.
- Demikian pula, jika Anda memiliki string sumber daya dalam folder bernama {@code en-GB}, ganti nama
- folder itu menjadi {@code en-001} (bahasa Inggris internasional), karena induk yang paling umum
- untuk string <code>en-GB</code> adalah {@code en-001}.
- Contoh berikut menjelaskan mengapa praktik-praktik ini meningkatkan kinerja dan
-reliabilitas resolusi sumber daya.</p>
-
-<h3>Contoh resolusi sumber daya</h3>
-
-<p>Dengan Android N, kasus yang dijelaskan dalam <strong>Tabel 1</strong> diatasi
-secara berbeda:</p>
-
-<p class="table-caption" id="t-improved-res">
-<strong>Tabel 2.</strong> Strategi resolusi yang ditingkatkan bila tidak ada
-lokal yang sama persis.</p>
-<table>
-<tr>
-<th>Setelan Pengguna</th>
-<th>Sumber Daya Aplikasi</th>
-<th>Resolusi Sumber Daya</th>
-</tr>
-<tr>
-<td><ol>
-<li> fr_CH</li>
-</ol>
-</td>
-<td>
-default (en)<br>
-de_DE<br>
-es_ES<br>
-fr_FR<br>
-it_IT<br>
-</td>
-<td>
-Coba fr_CH =&gt; Gagal<br>
-Coba fr =&gt; Gagal<br>
-Coba anak dari fr =&gt; fr_FR<br>
-Gunakan fr_FR
-</td>
-</tr>
-
-</table>
-
-
-<p>Sekarang pengguna mendapatkan sumber daya bahasa Prancis sebagai ganti bahasa Inggris. Contoh ini juga menunjukkan
- mengapa Anda harus menyimpan string bahasa Prancis di {@code fr} bukan pada {@code fr_FR}
- untuk Android N. Arah aksi di sini adalah untuk mencocokkan dengan induk dialek terdekat,
- membuat resolusi lebih cepat dan lebih dapat diprediksi.</p>
-
-<p>Selain logika resolusi yang diperbaiki ini, Android sekarang menawarkan lebih banyak
-pilihan bahasa untuk pengguna. Mari kita coba lagi contoh di atas dengan menetapkan bahasa Italia
- sebagai bahasa pengguna tambahan, tetapi tanpa dukungan aplikasi untuk bahasa Prancis.  </p>
-
-<p class="table-caption" id="t-2d-choice">
-<strong>Tabel 3.</strong> Resolusi sumber daya bila aplikasi hanya mencocokkan
-setelan lokal yang disukai kedua oleh pengguna.</p>
-<table>
-<tr>
-<th>Setelan Pengguna</th>
-<th>Sumber Daya Aplikasi</th>
-<th>Resolusi Sumber Daya</th>
-
-</tr>
-<tr>
-<td><ol>
-<li> fr_CH</li>
-<li> it_CH</li>
-</ol>
-</td>
-<td>
-default (en)<br>
-de_DE<br>
-es_ES<br>
-it_IT<br>
-</td>
-<td>
-Coba fr_CH =&gt; Gagal<br>
-Coba fr =&gt; Gagal<br>
-Coba anak dari fr =&gt; Gagal<br>
-Coba it_CH =&gt; Gagal<br>
-Coba it =&gt; Gagal<br>
-Coba anak dari it =&gt; it_IT<br>
-Gunakan it_IT
-</td>
-
-</tr>
-
-</table>
-<p>Pengguna tetap mendapatkan bahasa yang mereka pahami, meskipun aplikasi tidak
-mendukung bahasa Prancis.</p>
-
-
-<h2 id="design">Mendesain Aplikasi Anda untuk Mendukung Lokal Tambahan</h2>
-<h3>LocaleList API</h3>
-
-<p>Android N menambahkan API baru {@code LocaleList.getDefault()}
-yang memungkinkan aplikasi langsung kueri daftar bahasa yang telah ditetapkan pengguna. API ini
-memungkinkan Anda membuat
- perilaku aplikasi yang lebih canggih dan tampilan materi yang lebih optimal. Misalnya, Telusur
-  bisa menampilkan hasil dalam beberapa bahasa berdasarkan setelan pengguna.  Aplikasi browser
-  bisa menghindari penawaran menerjemahkan halaman dalam bahasa yang sudah diketahui pengguna,
-  dan aplikasi keyboard bisa mengaktifkan otomatis semua layout yang sesuai. </p>
-
-<h3>Formatter</h3>
-
-<p>Hingga Android 6.0 (API level 23), Android hanya mendukung satu atau dua lokal
- untuk banyak bahasa umum
-(en, es, ar, fr, ru). Karena hanya ada beberapa varian dari setiap bahasa,
-aplikasi bisa menghindar dengan menyimpan beberapa nomor dan tanggal sebagai string hard-code
-dalam file sumber daya.  Akan tetapi, dengan perluasan set lokal yang didukung Android,
-maka akan ada
-perbedaan format yang signifikan untuk tanggal, waktu, mata uang, dan informasi
-serupa bahkan dalam lokal tunggal. Menjadikan format Anda sebagai hard-code bisa menghasilkan
-pengalaman yang membingungkan bagi pengguna akhir.  Karena itu, saat mengembangkan untuk Android N
-pastikan menggunakan formatter sebagai ganti menjadikan string angka dan tanggal sebagai hard-code.</p>
-
-<p>Contoh terbaik adalah bahasa Arab, yang mendukung Android N berkembang dari
-satu {@code ar_EG} menjadi 27 lokal bahasa Arab. Bahasa lokal ini bisa berbagi hampir semua sumber daya,
-namun sebagian lebih memilih digit ASCII, sementara yang lain memilih digit asli. Misalnya,
-bila Anda ingin membuat kalimat dengan variabel digit, seperti
-"Pilih PIN 4 digit", gunakan formatter seperti yang ditampilkan di bawah ini:</p>
-
-<pre> format(locale, "Choose a %d-digit PIN", 4)</pre>
diff --git a/docs/html-intl/intl/in/preview/features/notification-updates.jd b/docs/html-intl/intl/in/preview/features/notification-updates.jd
deleted file mode 100644
index 0ad2770..0000000
--- a/docs/html-intl/intl/in/preview/features/notification-updates.jd
+++ /dev/null
@@ -1,393 +0,0 @@
-page.title=Pemberitahuan
-page.tags=pemberitahuan
-helpoutsWidget=true
-page.image=/preview/images/notifications-card.png
-
-trainingnavtop=true
-
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-
-<!-- table of contents -->
-<h2>Dokumen ini berisi</h2>
-<ol>
-  <li><a href="#direct">Balasan Langsung</a></li>
-  <li><a href="#bundle">Bundel Pemberitahuan</a></li>
-  <li><a href="#custom">Tampilan Khusus</a></li>
-  <li><a href="#style">Gaya Pesan</a></li>
-</ol>
-
-</div>
-</div>
-
-<p>Android N memperkenalkan beberapa API baru yang memungkinkan aplikasi untuk mengeposkan
-pemberitahuan yang sangat mudah terlihat dan interaktif.</p>
-
-<p>Android N menambahkan API pemberitahuan{@link android.support.v4.app.RemoteInput}
-yang ada untuk mendukung balasan inline pada handset. Fitur ini memungkinkan pengguna
- merespons dengan cepat dari bayangan pemberitahuan tanpa mengunjungi aplikasi Anda.</p>
-
-<p>
-  Android N juga memungkinkan Anda menggabungkan pemberitahuan yang serupa agar
-  muncul sebagai satu pemberitahuan. Untuk memungkinkan hal ini, Android N menggunakan metode {@link
-  android.support.v4.app.NotificationCompat.Builder#setGroup
-  NotificationCompat.Builder.setGroup()} yang sudah ada. Pengguna bisa memperluas setiap
-  pemberitahuan, dan melakukan tindakan seperti membalas dan menutup setiap
-  pemberitahuan, satu per satu dari bayangan pemberitahuan.
-</p>
-
-<p>Terakhir, Android N juga menambahkan API baru yang memungkinkan Anda untuk memanfaatkan dekorasi
-sistem dalam tampilan pemberitahuan yang disesuaikan untuk aplikasi Anda. API ini membantu
-memastikan semua tampilan pemberitahuan sama-sama menggunakan penyajian yang konsisten dengan
-template standar.</p>
-
-<p>Dokumen ini menyoroti beberapa perubahan penting yang harus Anda
- perhitungkan saat menggunakan fitur pemberitahuan baru dalam aplikasi Anda.</p>
-
-<h2 id="direct">Balasan Langsung</h2>
-
-<p>Dengan fitur Balasan Langsung di Android N, pengguna bisa dengan cepat
-merespons pesan teks atau memperbarui daftar tugas secara langsung dalam antarmuka
-pemberitahuan. Pada perangkat genggam, tindakan balasan inline muncul sebagai tombol tambahan
- yang dilampirkan pada pemberitahuan. Bila pengguna membalas lewat keyboard, sistem akan melampirkan
- respons teks ke intent
-    yang telah Anda tetapkan untuk tindakan pemberitahuan dan mengirimkan intent ke
-     aplikasi perangkat genggam Anda.
-
-
-<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>Gambar 1.</strong> Android N menambahkan tombol tindakan <strong>Reply</strong>.
-
-</p>
-
-<h3>Menambahkan tindakan balasan inline</h3>
-
-<p>Untuk membuat tindakan pemberitahuan yang mendukung balasan langsung:
-</p>
-
-<ol>
-<li>Buat instance {@link android.support.v4.app.RemoteInput.Builder}
- yang bisa Anda tambahkan ke tindakan
-pemberitahuan. Konstruktor kelas ini akan menerima string bahwa sistem menggunakannya sebagai kunci
- untuk masukan teks. Kemudian, aplikasi perangkat genggam Anda akan menggunakan kunci itu untuk mengambil teks
-  masukan tersebut.
-
-<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>Lampirkan objek {@link android.support.v4.app.RemoteInput}
- pada tindakan dengan menggunakan <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>Terapkan tindakan pada pemberitahuan dan keluarkan pemberitahuan.
-
-<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> Sistem akan meminta pengguna memasukkan respons bila mereka memicu
-tindakan pemberitahuan. </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>Gambar 2.</strong> Pengguna memasukkan teks dari bayangan pemberitahuan.
-</p>
-
-<h3>
-  Mengambil masukan pengguna dari balasan inline
-</h3>
-
-<p>
-  Untuk menerima masukan pengguna dari antarmuka pemberitahuan ke aktivitas yang Anda
-deklarasikan dalam intent tindakan balasan:
-</p>
-
-<ol>
-  <li>Panggil {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()} dengan meneruskan intent tindakan pemberitahuan sebagai
-  parameter masukan. Metode ini mengembalikan {@link android.os.Bundle} yang
-  berisi respons teks.
-
-    <pre>
-Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
-</pre>
-  </li>
-
-  <li>Lakukan kueri pada bundel menggunakan kunci hasil (diberikan ke konstruktor {@link
-  android.support.v4.app.RemoteInput.Builder}). Anda bisa menyelesaikan
-  proses ini dan mengambil teks masukan dengan membuat sebuah metode, seperti dalam
-  cuplikan kode berikut:
-
-    <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>Kompilasilah dan keluarkan pemberitahuan lain, menggunakan ID pemberitahuan yang sama dengan
-  yang Anda berikan untuk pemberitahuan sebelumnya. Indikator kemajuan
-    menghilang dari antarmuka pemberitahuan untuk memberi tahu pengguna mengenai balasan
-    yang berhasil. Saat menangani pemberitahuan baru ini, gunakan konteks yang
-    diteruskan ke metode {@code onReceive()} penerima.
-
-    <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>
-  Untuk aplikasi interaktif, seperti chat, akan berguna bila menyertakan
-  konteks tambahan saat menangani teks yang diambil. Misalnya, aplikasi ini bisa menampilkan
-  beberapa baris riwayat chat sekaligus. Bila pengguna merespons melalui {@link
-  android.support.v4.app.RemoteInput}, Anda bisa memperbarui riwayat balasan
-  menggunakan metode {@code setRemoteInputHistory()}.
-</p>
-
-<p>
-  Pemberitahuan harus diperbarui atau dibatalkan setelah aplikasi
- menerima masukan jarak jauh. Bila pengguna membalas ke pembaruan jarak jauh
-  menggunakan Balasan Langsung,
-  jangan batalkan pemberitahuan. Melainkan, perbarui pemberitahuan untuk menampilkan balasan pengguna.
-Untuk pemberitahuan yang menggunakan {@code MessagingStyle}, Anda harus menambahkan
-balasannya sebagai pesan terbaru. Saat menggunakan template lain, Anda bisa
-menambahkan balasan pengguna ke riwayat masukan jarak jauh.
-</p>
-
-<h2 id="bundle">Bundel Pemberitahuan</h2>
-
-<p>Android N membekali pengembang dengan sebuah cara baru untuk menyatakan
- antrean pemberitahuan: <i>bundel pemberitahuan</i>. Ini mirip dengan fitur
-  <a href="{@docRoot}training/wearables/notifications/stacks.html">Tumpukan
-  Pemberitahuan</a> dalam Android Wear. Misalnya, jika aplikasi Anda membuat pemberitahuan
-  untuk pesan yang diterima, bila lebih dari satu pesan diterima, pemberitahuan tersebut akan
- dibundel sebagai satu grup. Anda bisa
- menggunakan metode {@link android.support.v4.app.NotificationCompat.Builder#setGroup
-Builder.setGroup()} yang ada untuk membundel pemberitahuan yang sama.</p>
-
-<p>
-  Grup pemberitahuan menerapkan hierarki pada pemberitahuan yang ada di dalamnya.
-  Di bagian teratas hierarki adalah pemberitahuan induk yang menampilkan informasi
-  rangkuman untuk grup tersebut. Pengguna secara bertahap bisa
-  memperbesar grup pemberitahuan, dan sistem akan menampilkan informasi lebih banyak saat
-  pengguna menggali lebih dalam. Bila pengguna memperbesar bundel, sistem akan memperlihatkan informasi lebih
-  banyak untuk semua pemberitahuan anak; bila pengguna
-  memperbesar salah satu pemberitahuan tersebut, sistem akan memperlihatkan seluruh isinya.
-</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>Gambar 3.</strong> Pengguna secara bertahap bisa memperluas grup
-  pemberitahuan.
-</p>
-
-<p class="note">
-  <strong>Catatan:</strong> Jika aplikasi yang sama mengirim empat atau beberapa pemberitahuan
-  dan tidak menetapkan pengelompokan,
-  sistem secara otomatis akan mengelompokannya.
-</p>
-
-<p>Untuk mengetahui cara menambahkan pemberitahuan ke grup, lihat
-<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Menambahkan
-Setiap Pemberitahuan ke Grup</a>.</p>
-
-
-<h3 id="best-practices">Praktik terbaik untuk bundel pemberitahuan</h3>
-<p>Bagian ini memberikan panduan tentang kapan menggunakan grup pemberitahuan sebagai ganti
-pemberitahuan {@link android.app.Notification.InboxStyle InboxStyle}
-yang telah tersedia di
-platform Android versi sebelumnya.</p>
-
-<h3>Kapan menggunakan bundel pemberitahuan</h3>
-
-<p>Anda harus menggunakan grup pemberitahuan hanya jika semua kondisi berikut ini
-bernilai benar untuk kasus penggunaan Anda:</p>
-
-<ul>
-  <li>Pemberitahuan anak adalah pemberitahuan lengkap dan bisa ditampilkan
-   masing-masing tanpa perlu rangkuman grup.</li>
-  <li>Ada untungnya memunculkan pemberitahuan anak satu per satu. Misalnya:
-
-  </li>
-  <ul>
-    <li>Mereka dapat diaplikasikan, dengan tindakan khusus untuk masing-masing anak.</li>
-    <li>Ada lebih banyak informasi pada anak yang ingin dibaca oleh pengguna.</li>
-  </ul>
-</ul>
-
-<p>Contoh kasus penggunaan yang baik untuk grup pemberitahuan antara lain: aplikasi perpesanan
-yang menampilkan daftar pesan yang masuk, atau aplikasi email yang menampilkan daftar email
-yang diterima.</p>
-
-<p>
-Contoh kasus penggunaan saat pemberitahuan tunggal lebih disukai
- meliputi pesan pribadi dari satu orang, atau representasi daftar dari
- item teks baris tunggal. Anda bisa menggunakan
-({@link android.app.Notification.InboxStyle InboxStyle} atau
-{@link android.app.Notification.BigTextStyle BigTextStyle}) untuk mencapai
-hal ini.
-</p>
-
-<h3 id ="post">Menampilkan bundel pemberitahuan</h3>
-
-<p>
-  Aplikasi ini harus selalu mengeposkan rangkuman grup, sekalipun grup hanya berisi
-  satu anak. Sistem akan menyembunyikan rangkuman dan langsung menampilkan
-  pemberitahuan anak jika hanya berisi pemberitahuan tunggal. Hal ini akan memastikan
-  sistem bisa memberikan pengalaman yang konsisten saat pengguna menggeser
-  anak grup.
-</p>
-
-<p class="note">
-  <strong>Catatan:</strong> Versi Android N ini tidak menyembunyikan
-  rangkuman untuk grup pemberitahuan yang berisi satu anak. Fungsionalitas
-  ini akan ditambahkan dalam Android N versi berikutnya.
-</p>
-
-<h3>Mengintip pemberitahuan</h3>
-
-<p>Walaupun sistem biasanya menampilkan pemberitahuan anak sebagai sebuah grup, Anda bisa menyetelnya
- agar muncul untuk sementara muncul sebagai
- <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Heads-up">
- pemberitahuan pendahuluan</a>. Fitur ini khususnya berguna karena memungkinkan
-  akses langsung ke pemberitahuan anak terbaru dan tindakan yang dikaitkan dengannya.
-</p>
-
-
-<h3>Kompatibilitas mundur</h3>
-
-<p>
-  Baik grup pemberitahuan maupun masukan jauh telah menjadi bagian dari {@link
-  android.app.Notification} API sejak Android 5.0 (API level 21) untuk mendukung
-  perangkat Android Wear. Jika Anda sudah membuat pemberitahuan dengan API ini,
-  satu-satunya tindakan yang harus Anda ambil adalah memverifikasi apakah perilaku aplikasi sesuai dengan panduan yang
-  dijelaskan di atas, dan mempertimbangkan implementasi {@code
-  setRemoteInputHistory()}.
-</p>
-
-<p>
-  Untuk mendukung kompatibilitas mundur, tersedia API yang sama bersama
-  kelas {@link android.support.v4.app.NotificationCompat}
-  pustaka dukungan, yang memungkinkan Anda untuk membuat pemberitahuan yang bekerja pada versi Android
-  sebelumnya. Pada perangkat genggam dan tablet, pengguna hanya melihat pemberitahuan rangkuman,
-  sehingga aplikasi masih memiliki model inbox atau pemberitahuan sama yang
-  mewakili seluruh materi informasi grup. Karena perangkat Android
-  Wear memungkinkan pengguna melihat semua pemberitahuan anak bahkan pada level platform
-  yang lebih lama, maka Anda harus membangun pemberitahuan anak dengan mengabaikan level
-  API.
-</p>
-
-<h2 id="custom"> Tampilan Khusus</h2>
-<p>Mulai dari Android N, Anda bisa menyesuaikan tampilan pemberitahuan dan
-tetap mendapatkan dekorasi sistem seperti header pemberitahuan, tindakan, dan
-layout yang bisa diperluas.</p>
-
-<p>Untuk mengaktifkan kemampuan ini, Android N menambahkan API berikut untuk menata gaya
-  tampilan khusus Anda:</p>
-
-<dl>
-<dt>
-{@code DecoratedCustomViewStyle()}</dt>
-<dd> Menata gaya pemberitahuan selain pemberitahuan
-media.</dd>
-<dt>
-{@code DecoratedMediaCustomViewStyle()}</dt>
-<dd> Menata gaya pemberitahuan media.</dd>
-</dl>
-
-<p>Untuk menggunakan API baru ini, panggil metode {@code setStyle()}, dengan meneruskan
-gaya tampilan khusus yang diinginkan padanya.</p>
-
-<p>Cuplikan ini menampilkan cara membuat objek pemberitahuan khusus dengan metode
-{@code DecoratedCustomViewStyle()}.</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">Gaya Perpesanan</h2>
-<p>
-  Android N memperkenalkan API baru untuk menyesuaikan gaya pemberitahuan.
-  Dengan menggunakan kelas <code>MessageStyle</code>, Anda bisa mengubah beberapa
-  label yang ditampilkan pada pemberitahuan, termasuk judul percakapan,
-  pesan tambahan, dan tampilan materi untuk pemberitahuannya.
-</p>
-
-<p>
-  Cuplikan kode berikut memperagakan cara menyesuaikan sebuah
-  gaya pemberitahuan menggunakan kelas <code>MessageStyle</code>.
-</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"));
-</pre>
diff --git a/docs/html-intl/intl/in/preview/index.jd b/docs/html-intl/intl/in/preview/index.jd
deleted file mode 100644
index a8f61eb..0000000
--- a/docs/html-intl/intl/in/preview/index.jd
+++ /dev/null
@@ -1,131 +0,0 @@
-page.title=Android N Developer Preview
-page.tags="preview","developer"
-meta.tags="preview", "android"
-fullpage=true
-forcelocalnav=true
-header.hide=1
-footer.hide=1
-@jd:body
-
-<script>
-  $(document).ready(function() {
-    if (useUpdatedTemplates) {
-      $("#useUpdatedTemplates").css("display","block");
-    } else {
-      $("#useOldTemplates").css("display","block");
-    }
-  })
-</script>
-
-<section class="dac-expand dac-hero dac-light" style="background-color:#B2DFDB">
-  <div class="wrap" style="max-width:1100px;margin-top:0">
-    <div class="cols dac-hero-content" style="padding-bottom:1em;">
-
-      <div class="col-7of16 col-push-9of16" style="padding-left:2em">
-        <h1 class="dac-hero-title">Android N Developer Preview</h1>
-        <p class="dac-hero-description">
-          Bersiaplah menyambut Android N!
-          <strong>Uji aplikasi Anda</strong> pada perangkat Nexus dan perangkat lainnya. Dukung perilaku sistem
-          baru untuk <strong>menghemat daya dan memori</strong>.
-          Tambah aplikasi Anda dengan <strong>UI multi-jendela</strong>,
-          <strong>pemberitahuan balasan langsung</strong> dan lainnya.
-        </p>
-
-        <a class="dac-hero-cta" href="{@docRoot}preview/overview.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Mulai
-        </a><!--<br>
-        <a class="dac-hero-cta" href="{@docRoot}preview/support.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Update to Android N (final SDK)
-        </a><br>-->
-      </div>
-      <div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
-        <img class="dac-hero-image" src="{@docRoot}images/home/n-preview-hero.png" srcset="{@docRoot}images/home/n-preview-hero.png 1x,
-             {@docRoot}images/home/n-preview-hero_2x.png 2x">
-      </div>
-    </div>
-    <div class="dac-section dac-small">
-      <div class="resource-widget resource-flow-layout col-16"
-           data-query="collection:preview/landing/resources"
-           data-cardSizes="6x2"
-           data-maxResults="6"></div>
-    </div>
-  </div>
-</section>
-
-<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
-  <div class="wrap dac-offset-parent">
-    <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
-      <i class="dac-sprite dac-arrow-down-gray"></i>
-    </a>
-    <ul class="dac-actions">
-      <li class="dac-action">
-        <a class="dac-action-link" href="https://developer.android.com/preview/bug">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Laporkan masalah
-          </a>
-      </li>
-      <li class="dac-action">
-        <a class="dac-action-link" href="{@docRoot}preview/support.html">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Lihat catatan rilis
-          </a>
-      </li>
-      <li class="dac-action">
-        <a class="dac-action-link" href="{@docRoot}preview/dev-community">
-          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
-          Bergabunglah dengan komunitas pengembang
-          </a>
-      </li>
-    </ul>
-  </div><!-- end .wrap -->
-</div><!-- end .dac-actions -->
-
-<div id="useOldTemplates" style="display:none;color:black" class="actions-bar dac-expand dac-invert">
-  <div class="wrap dac-offset-parent">
-
-    <div class="actions">
-      <div><a href="https://developer.android.com/preview/bug">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Laporkan masalah
-          </a></div>
-      <div><a href="{@docRoot}preview/support.html">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Lihat catatan rilis
-          </a></div>
-      <div><a href="{@docRoot}preview/dev-community">
-        <span class="dac-sprite dac-auto-chevron-large"></span>
-        Bergabunglah dengan komunitas pengembang
-          </a></div>
-    </div><!-- end .actions -->
-  </div><!-- end .wrap -->
-</div>
-
-<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
-  <h2 class="norule">Terbaru</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-    data-query="type:blog+tag:androidn+tag:featured, type:youtube+tag:androidn+tag:featured"
-    data-sortOrder="-timestamp"
-    data-cardSizes="6x6"
-    data-items-per-page="6"
-    data-maxResults="15"
-    data-initial-results="3"></div>
-</div></section>
-
-<section class="dac-section dac-gray"><div class="wrap">
-  <h1 class="dac-section-title">Sumber Daya</h1>
-  <div class="dac-section-subtitle">
-    Informasi penting guna membantu mempersiapkan aplikasi untuk Android N.
-  </div>
-
-  <div class="resource-widget resource-flow-layout col-16"
-       data-query="collection:preview/landing/more"
-       data-cardSizes="6x6"
-       data-items-per-page="6"
-       data-maxResults="15"
-       data-initial-results="6"></div>
-
-  </div>
-</section>
-
diff --git a/docs/html-intl/intl/in/preview/license.jd b/docs/html-intl/intl/in/preview/license.jd
deleted file mode 100644
index 56ae58a..0000000
--- a/docs/html-intl/intl/in/preview/license.jd
+++ /dev/null
@@ -1,145 +0,0 @@
-page.title=Perjanjian Lisensi
-
-@jd:body
-
-<p>
-Untuk mulai Android SDK Preview, Anda harus menyetujui ketentuan dan persyaratan berikut.
-Seperti dijelaskan di bawah ini, perhatikan bahwa ini adalah versi pratinjau Android SDK, bisa saja berubah, yang Anda gunakan dengan risiko sendiri.  Android SDK Preview bukan rilis stabil, dan mungkin berisi kesalahan serta cacat yang bisa mengakibatkan kerusakan serius pada sistem komputer, perangkat dan data Anda.
-</p>
-
-<p>
-Ini adalah Perjanjian Lisensi Android SDK Preview ("Perjanjian Lisensi").
-</p>
-<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
-1. Pengantar
-
-1.1 Android SDK Preview (dalam Perjanjian Lisensi ini disebut "Pratinjau" dan secara spesifik termasuk file sistem Android, paket API, dan file pustaka Pratinjau, jika disediakan) diberikan lisensinya kepada Anda sesuai dengan ketentuan Perjanjian Lisensi. Perjanjian Lisensi ini merupakan kontrak yang mengikat secara hukum antara Anda dan Google dalam kaitannya dengan penggunaan Pratinjau oleh Anda.
-
-1.2 "Android" berarti tumpukan perangkat lunak Android untuk perangkat, seperti yang tersedia di Android Open Source Project, yang ada di URL berikut: http://source.android.com/, yang selalu diperbarui.
-
-1.3 “Kompatibel dengan Android” berarti segala implementasi Android yang (i) sesuai dengan Android Compatibility Definition Document, yang bisa ditemukan di situs web kompatibilitas Android (http://source.android.com/compatibility) dan yang selalu diperbarui; serta (ii) berhasil lulus Android Compatibility Test Suite (CTS).
-
-1.4 "Google" berarti Google Inc., perusahaan asal Delaware dengan kantor bisnis utama di 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-2. Menerima Perjanjian Lisensi
-
-2.1 Agar bisa menggunakan Pratinjau, Anda terlebih dahulu harus menyetujui Perjanjian Lisensi ini. Anda tidak boleh menggunakan Pratinjau jika tidak menerima Perjanjian Lisensi.
-
-2.2 Dengan mengklik untuk menerima dan/atau menggunakan Pratinjau, berarti Anda menyetujui ketentuan Perjanjian Lisensi.
-
-2.3 Anda tidak boleh menggunakan Pratinjau dan tidak boleh menerima Perjanjian Lisensi jika Anda adalah orang yang dilarang menerima Pratinjau berdasarkan hukum Amerika Serikat atau negara lainnya termasuk negara di mana Anda tinggal atau dari mana Anda menggunakan Pratinjau.
-
-2.4 Jika Anda akan menggunakan Pratinjau di lingkungan perusahaan atau organisasi Anda, berarti Anda setuju untuk terikat oleh Perjanjian Lisensi atas nama perusahaan Anda atau entitas lainnya, serta Anda mewakili dan menjamin bahwa Anda memiliki kewenangan hukum penuh untuk mengikat perusahaan Anda atau entitas tersebut pada Perjanjian Lisensi ini. Jika Anda tidak memiliki kewenangan yang disyaratkan, Anda tidak boleh menerima Perjanjian Lisensi atau menggunakan Pratinjau atas nama perusahaan Anda atau entitas lainnya.
-
-3. Lisensi Pratinjau dari Google
-
-3.1 Sesuai dengan ketentuan Perjanjian Lisensi ini, Google memberi Anda lisensi yang tidak bisa disublisensikan, non-eksklusif, tidak bisa dialihkan, bebas royalti, bersifat global dan terbatas dalam menggunakan Pratinjau hanya untuk keperluan pengembangan aplikasi yang kompatibel untuk diimplementasikan pada Android.
-
-3.2 Anda tidak boleh menggunakan Pratinjau ini untuk mengembangkan aplikasi platform lain (termasuk implementasi yang tidak kompatibel pada Android) atau untuk mengembangkan SDK lain. Anda tentu saja bebas mengembangkan aplikasi untuk platform lain, termasuk implementasi yang tidak kompatibel pada Android, karena Pratinjau ini tidak digunakan untuk tujuan tersebut.
-
-3.3 Anda setuju bahwa Google atau pihak ketiga memiliki semua hak, kuasa dan kepentingan hukum dalam dan pada Pratinjau, termasuk Hak Kekayaan Intelektual yang terdapat dalam Pratinjau. "Hak Kekayaan Intelektual" berarti setiap dan semua hak yang berdasarkan pada hukum paten, hukum hak cipta, hukum rahasia dagang, hukum merek dagang, dan setiap dan semua hak kepemilikan lainnya. Google memiliki semua hak yang tidak secara tersurat diberikan kepada Anda.
-
-3.4 Anda tidak boleh menggunakan Pratinjau untuk tujuan apa pun yang tidak secara tersurat diizinkan dalam Perjanjian Lisensi ini. Kecuali sejauh yang diperlukan oleh lisensi pihak ketiga yang berlaku, Anda tidak boleh: (a) menyalin (kecuali untuk keperluan pencadangan), memodifikasi, mengadaptasi, mendistribusikan kembali, mendekompilasi, merekayasa balik, membongkar atau membuat karya turunan dari Pratinjau atau bagian apa pun dari Pratinjau; atau (b) memuat bagian apa pun dari Pratinjau ke sebuah handset ponsel atau perangkat keras selain komputer pribadi, menggabungkan suatu bagian dari Pratinjau dengan perangkat lunak lain, atau mendistribusikan perangkat lunak atau perangkat yang menggabungkan suatu bagian dari Pratinjau.
-
-3.5 Penggunaan, reproduksi dan distribusi komponen Pratinjau yang berlisensi perangkat lunak sumber terbuka diatur semata-mata oleh ketentuan lisensi perangkat lunak sumber terbuka tersebut dan bukan oleh Perjanjian Lisensi ini. Anda menyetujui bagian selebihnya dari lisensi dengan maksud baik sehubungan dengan lisensi perangkat lunak sumber terbuka tersebut sesuai dengan semua hak yang diberikan dan untuk menahan diri dari segala tindakan yang mungkin akan mengakhiri, menangguhkan, atau melanggar hak tersebut.
-
-3.6 Anda setuju bahwa bentuk dan sifat Pratinjau yang disediakan oleh Google dapat berubah tanpa pemberitahuan sebelumnya kepada Anda dan bahwa versi Pratinjau mendatang mungkin tidak kompatibel dengan aplikasi yang dikembangkan di versi Pratinjau sebelumnya. Anda setuju bahwa Google boleh menghentikan (secara permanen atau sementara) penyediaan Pratinjau (atau fitur apa pun dalam Pratinjau) kepada Anda atau pengguna pada umumnya atas kebijakan Google semata, tanpa pemberitahuan sebelumnya kepada Anda.
-
-3.7 Perjanjian Lisensi ini tidak memberi Anda hak untuk menggunakan nama dagang, merek dagang, merek layanan, logo, nama domain, atau fitur merek khas Google lainnya.
-
-3.8 Anda setuju bahwa Anda tidak akan membuang, mengaburkan, atau mengubah pernyataan hak kepemilikan apa pun (termasuk pemberitahuan hak cipta dan merek dagang) yang terlampir atau termuat dalam Pratinjau.
-
-4. Penggunaan Pratinjau oleh Anda
-
-4.1 Google setuju bahwa Perjanjian Lisensi ini tidak memberi Google hak, kuasa, dan kepentingan hukum dari Anda (atau pemberi lisensi Anda) dalam atau pada aplikasi perangkat lunak apa pun yang Anda kembangkan menggunakan Pratinjau ini, termasuk kekayaan intelektual yang ada dalam aplikasi tersebut.
-
-4.2 Anda setuju untuk menggunakan Pratinjau dan menulis aplikasi hanya untuk tujuan yang diizinkan oleh (a) Perjanjian Lisensi, dan (b) hukum yang berlaku, peraturan atau praktik yang diterima secara umum atau panduan dalam yurisdiksi terkait (termasuk hukum mengenai ekspor data atau perangkat lunak ke dan dari Amerika Serikat atau negara lain yang terkait).
-
-4.3 Anda setuju jika Anda menggunakan Pratinjau untuk mengembangkan aplikasi, Anda akan melindungi hak privasi dan hak hukum pengguna. Jika pengguna memberikan nama pengguna, sandi, atau informasi login atau informasi pribadinya, Anda harus membuat pengguna tersebut menyadari bahwa informasi yang diberikannya akan bisa digunakan oleh aplikasi Anda, dan Anda harus memberikan perlindungan dan pemberitahuan privasi yang memadai secara hukum bagi pengguna tersebut. Jika aplikasi Anda menyimpan informasi pribadi atau sensitif yang diberikan oleh pengguna, aplikasi Anda harus melakukannya dengan aman. Jika pengguna memberikan informasi Akun Google, aplikasi Anda hanya boleh menggunakan informasi tersebut untuk mengakses Akun Google pengguna saat, dan untuk tujuan terbatas di mana, pengguna tersebut telah memberikan izin kepada Anda untuk melakukannya.
-
-4.4 Anda setuju bahwa Anda tidak akan terlibat dalam aktivitas apa pun dengan Pratinjau, termasuk pengembangan atau distribusi aplikasi yang mengganggu, mengacaukan, merusak, atau mengakses secara tidak sah server, jaringan atau properti layanan Google atau pihak ketiga lainnya.
-
-4.5 Anda setuju bertanggung jawab penuh untuk (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) data, materi, atau sumber daya apa pun yang Anda buat, kirimkan atau tampilkan melalui Android dan/atau aplikasi untuk Android, dan terhadap konsekuensi tindakan Anda (termasuk kerugian atau kerusakan apa pun yang mungkin dialami Google).
-
-4.6 Anda setuju bertanggung jawab penuh terhadap (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga lainnya untuk) pelanggaran kewajiban Anda berdasarkan Perjanjian Lisensi ini, kontrak pihak ketiga yang berlaku atau Ketentuan Layanan, atau hukum atau peraturan yang berlaku, dan terhadap konsekuensi (termasuk kerugian atau kerusakan yang mungkin dialami Google atau pihak ketiga lainnya) akibat pelanggaran tersebut.
-
-4.7 Pratinjau ini dalam tahap pengembangan, dan pengujian serta masukan Anda merupakan bagian penting dalam proses pengembangan. Dengan menggunakan Pratinjau, Anda mengakui bahwa implementasi beberapa fitur masih dalam tahap pengembangan dan bahwa Anda tidak seharusnya mengandalkan Pratinjau berfungsi sepenuhnya sebagaimana pada rilis stabil. Anda setuju untuk tidak mendistribusikan atau mengirimkan untuk umum penggunaan aplikasi menggunakan Pratinjau karena Pratinjau ini tidak akan lagi didukung setelah Android SDK dirilis secara resmi.
-
-5. Kredensial Pengembang Anda
-
-5.1 Anda setuju bertanggung jawab untuk menjaga kerahasiaan semua kredensial pengembang yang mungkin diberikan Google kepada Anda atau yang mungkin Anda pilih sendiri dan bahwa Anda akan bertanggung jawab penuh terhadap semua aplikasi yang dikembangkan dengan kredensial pengembang Anda.
-
-6. Privasi dan Informasi
-
-6.1 Untuk terus berinovasi dan meningkatkan Pratinjau, Google boleh mengumpulkan statistik penggunaan tertentu dari perangkat lunak termasuk namun tidak terbatas pada identifier unik, alamat IP terkait, nomor versi perangkat lunak, dan informasi yang menjadi tempat penggunaan alat dan/atau layanan dalam Pratinjau dan cara penggunaannya. Sebelum informasi ini dikumpulkan, Pratinjau akan memberi tahu dan meminta persetujuan Anda. Jika Anda tidak memberikan persetujuan, informasi tersebut tidak akan dikumpulkan.
-
-6.2 Data yang dikumpulkan akan diperiksa secara agregat untuk meningkatkan Pratinjau dan dikelola sesuai dengan Kebijakan Privasi Google yang terdapat di http://www.google.com/policies/privacy.
-
-7. Aplikasi Pihak Ketiga
-
-7.1 Jika Anda menggunakan Pratinjau untuk menjalankan aplikasi yang dikembangkan oleh pihak ketiga atau yang mengakses data, materi atau sumber daya yang disediakan oleh pihak ketiga, Anda setuju bahwa Google tidak bertanggung jawab terhadap aplikasi, data, materi atau sumber daya tersebut. Anda memahami bahwa semua data, materi atau sumber daya yang mungkin Anda akses melalui aplikasi pihak ketiga merupakan tanggung jawab penuh dari pihak yang menjadi asal data tersebut dan Google tidak bertanggung jawab terhadap kerugian atau kerusakan apa pun yang mungkin Anda alami sebagai akibat menggunakan atau mengakses aplikasi, data, materi, atau sumber daya pihak ketiga tersebut.
-
-7.2 Anda harus menyadari bahwa data, materi dan sumber daya yang diberikan kepada Anda melalui aplikasi pihak ketiga mungkin dilindungi oleh hak kekayaan intelektual yang dimiliki oleh penyedia (atau oleh orang lain atau perusahaan atas nama mereka). Anda tidak boleh memodifikasi, menyewakan, menyewabelikan, meminjamkan, menjual, mendistribusikan atau membuat karya turunan berdasarkan data,